안녕하세요 😆
요즘 제일 🔥핫한 🔥 키워드!! 바로바로 ‘LLM’ 입니다!!
어딜 가나 LLM 얘기만 나오는데, 그래서 LLM 이 뭔데?! 라고 하시는 분들을 위해 글을 작성해 보았습니다~
<Large Language Model (LLM)>
LLM 은 Large Language Model 의 약자로, 대규모 데이터 세트에서 훈련된 인공지능 언어 모델을 의미합니다.
다들 알고 계시는 ChatGPT 가 바로 LLM 이구나!! 라고 알고 계시면 될 것 같습니다.

LLM 의 대표적인 예로, OpenAI 의 ChatGPT, Meta 의 LLaMA, Google 의 PaLM 등이 있습니다.
GPT 는 약 1조 7,000억 개, LLaMA는 약 650억 개, PaLM 은 약 5,400억 개의 파라미터가 학습되어 있는데,
여기서 파라미터란!! 모델이 데이터로부터 학습하는 값들을 의미합니다.
LLM 은 어디에서 사용될까요??
LLM 은 주로 자연어 처리 작업에 사용되는데요.
자연어 처리란 인간의 언어를 기계적으로 이해하고 처리하는 기술입니다!
예를 들어, 인간이 사용하는 언어로 작성된 문서를 자동으로 번역하거나, 인간의 음성을 인식하여 명령을 수행하는 기술입니다.
LLM 을 사용하여 텍스트 생성, 분류, 번역, 질문 응답, 감정 분석 등 자연어 처리로 할 수 있는 모든 분야에 응용할 수 있습니다!!
<LLM 작동 원리>
그럼 LLM 이 어떻게 작동하는 것인지 알아볼까요?!
대부분의 LLM 은 트랜스포머 딥러닝 모델을 사용합니다.
트랜스포머 모델은 단어나 문장과 같은 입력 데이터에서 중요한 정보를 추출하고, 출력 데이터를 생성하는 딥러닝 모델입니다!

트랜스포머는 어텐션이라는 주요 기술을 사용하는데요!!
예시를 들어볼게요~~
“Juhee found the mouse in her room.” 이라는 문장을 들었을 때, mouse 가 쥐를 의미하는 것인지 컴퓨터 마우스를 의미하는 것인지 분명하지 않습니다!
하지만, 해당 문장이 "Juhee found the mouse in her room and immediately called tech support." 였다면 추가된 문맥을 통해 mouse 가 컴퓨터 마우스를 의미한다는 것을 알 수 있습니다.
이와 마찬가지로 트랜스포머는 어텐션이라는 기술을 사용하여 앞뒤 문장의 문맥을 파악합니다!
이를 통해, 트랜스포머는 복잡한 언어 구조를 이해하고 새로운 문장을 생성할 수 있게 됩니다.
이 모델은 자연어 처리 분야에 활용되며, 대용량의 데이터를 학습하여 번역, 요약, 질문 응답 등 다양한 자연어 처리 태스크에서 높은 성능을 보입니다.

LLM 은 토크나이징이라는 기술도 필요합니다!
토크나이징이란 자연어 처리에서 텍스트를 처리할 때 최소 단위인 토큰 형태로 텍스트를 만드는 것입니다. 이는 텍스트 전처리 과정입니다.
LLM 을 학습시키기 위해서는 문자를 컴퓨터가 인식하는 숫자로 변환시키기 위한 작업이 필요한데요. 해당 변환 작업 전에 전체 문장을 작게 쪼개는 작업이 필요합니다!
LLM 은 토크나이징 작업으로 문자를 쪼개고, 앞서 말씀드린 트랜스포머 모델을 이용하여 문자 간의 상관관계를 파악하여 학습되는 것입니다!!
그렇다면 사람의 언어와 LLM 의 언어는 다른데 어떻게 서로 이해할 수 있을까요?
LLM 이 어떻게 우리의 언어를 이해하고 답변하는 걸까요??

사람들이 사용하는 언어와 LLM 이 이해하는 언어는 다릅니다!
LLM 이 이해하는 언어를 임베딩이라고 부릅니다.
임베딩은 숫자열, 즉 벡터로 표기되어 있습니다.
임베딩 모델은 사람의 언어를 벡터화하여 LLM 모델이 이해할 수 있는 언어로 치환하고, 반대로 LLM 모델의 언어를 사람의 언어로 치환하는 역할을 해줍니다.
“동국시스템즈가 어디에 있어?” 라는 질문을 하였을 때 기계는 이해할 수 없기에, 임베딩 모델이 기계가 이해할 수 있게 숫자로 바꿔주고, 기계의 숫자 답변을 임베딩 모델이 다시 사람이 이해할 수 있도록 바꿔줍니다!
<LLM 의 한계>
그렇다면, LLM 의 한계는 무엇이 있을까요??
1. 편향 (Bias)

먼저, 편향에 대해 설명해 드릴게요~
데이터가 인터넷에서 긁어오다 보니 그 데이터에 내재된 사회적, 문화적 편향을 학습할 수 있어요.
예를 들어, 인종 차별, 성차별, 지역 차별 등이 학습되어 한쪽에 치우친 답변이 출력될 수 있습니다!
2. 환각 (Hallucination)

다음은 환각입니다!
ChatGPT 에게 이번에 개봉한 영화 ‘파묘’ 의 출연진을 물어보았습니다.
하지만 보시는 거와 같이 전혀 생뚱맞은 답변을 해주었네요,,
이처럼 잘못된 데이터를 실제 정보처럼 나타내주어 모르는 사람이 보았을 때 잘못된 정보들이 실제 정보인 것처럼 믿어질 수 있습니다!!
<Model Training>
이처럼 완벽해 보이는 ChatGPT 에도 한계가 존재합니다.
제가 예시를 하나 더 보여드릴게요~

ChatGPT 에게 동국시스템즈의 연차 기준을 물어보았을 때 정보를 알 수 없다는 답변을 해주었네요,, 😂
ChatGPT 는 웹페이지나 책, 기타 문서 등 방대한 양의 텍스트 데이터로 학습한 모델이기 때문에 특정 회사에 대해 질문을 할 때 ChatGPT 가 데이터를 가지고 있지 않기 때문에 답변을 할 수 없습니다!
ChatGPT 를 적절하게 사용하면 개인의 업무를 효율화할 수 있겠지만, 기업에서 업무용으로 사용하기 위해서나 특정 제품이나 서비스에 관한 질문에 답변할 수 있는 챗봇을 만들기 위해서는 별도의 데이터를 트레이닝시켜야 합니다!!
그렇다면 어떻게 LLM 모델을 트레이닝하는지 알아볼까요??
트레이닝 방식에는 Fine-tuning 과 RAG 가 있습니다.
1. Fine-tuning
먼저, Fine-tuning 방식에 대해 설명 드리겠습니다!

쉽게 이해하기 위해 학교에서 보는 시험에 비유해서 설명해볼게요~~
다가오는 시험에 대비해 공부하고 있다고 상상해볼게요!
이미 그 시험 과목에 대한 기본 지식을 갖고 있지만, 특히 중요한 부분이나 자주 출제되는 주제에 더 집중해서 공부하려고 해요~
이때, 과거 기출문제를 풀면서 그 과목에 대한 이해도를 높이고 시험에서 더 좋은 성적을 얻기 위해 준비합니다.
공부를 마쳤으면, 시험을 봐야겠죠?
여기서 학생은 공부한 내용을 잘 기억해서 시험 문제에 맞는 정확한 답을 스스로 찾아내야 합니다~~
마찬가지로 Fine-tuning 은 이미 다양한 지식을 학습한 모델에게 특정 작업이나 도메인에 맞춰 추가 학습을 시키는 것입니다. 이는 모델이 그 분야에서 더 높은 성능을 발휘하게 해줍니다!
마치 시험에서 학생이 공부한 내용을 바탕으로 정확한 답을 찾아내듯이, Fine-tuning 을 통해 모델은 특정 작업에 최적화된 답을 생성하게 됩니다!!
2. RAG (Retrieval-Augmented Generation)
이번엔 RAG 방식에 관해 설명해드릴게요~!

마찬가지로 RAG 를 시험에 비유해서 설명해볼까요?!
RAG 는 오픈북 시험과 비슷해요!!
오픈북 시험은 모든 교재나 자료를 참고할 수 있기에 시험 문제를 보고 모르는 부분이 있으면 책에서 답을 찾아낼 수 있습니다.
RAG 는 질문에 답하기 위해 대규모의 문서 데이터베이스에서 관련 정보를 검색하고, 그 정보를 바탕으로 답을 생성하는 과정입니다.
오픈북 시험에서 자료를 찾아 시험을 보듯이, RAG 는 필요한 정보를 찾아내어 그에 기반한 답을 생성합니다!!
마지막으로, Fine-tuning 과 RAG 두 가지 트레이닝 방식의 장단점에 대해 알려드릴게요~~
1. Fine-tuning
1) 장점
Fine-tuning 방식은 모델이 특정 도메인에 맞추어 학습하다 보니 정확한 답변을 얻을 수 있습니다.
예를 들어, IT 분야에 특화된 모델을 만들고자 할 때, IT 관련 데이터로 Fine-tuning 을 진행하면 해당 분야에 대한 답변의 정확도가 높아지게 됩니다!
2) 단점
과적합(Overfitting) 의 위험이 있습니다.
즉, 모델이 학습 데이터에 지나치게 최적화되어 있어 새로운 데이터나 다른 도메인의 데이터에 대해서는 대응력이 떨어집니다.
또한, 학습을 위해 상당한 양의 계산 리소스가 필요하고, 시간이 많이 소요돼요~
많은 데이터로 학습시키고, 모델을 조정하는 과정이 복잡하고 무거워질 수 있기 때문입니다!!
2. RAG (Retrieval-Augmented Generation)
1) 장점
RAG 는 데이터베이스에 저장된 다양한 문서를 바탕으로 답변을 생성하는 방식입니다!
모델이 직접 정보를 검색하고 그에 기반하여 답변을 생성하기 때문에 다양한 종류의 질문에 대해 유연하게 대응할 수 있습니다~
2) 단점
반면, 정보 검색과 생성 과정이 복잡하여 시간이 오래 걸릴 수 있습니다.
모델이 답변을 생성하기 위해 많은 문서를 검색하고, 그중에서 적절한 정보를 찾아내야 하니까요!
또한, 특정 도메인에 대한 전문 지식이 상대적으로 부족할 수 있으며, 다양한 정보가 때로는 일관성이 떨어질 수 있습니다.
이렇게 Fine-tuning 과 RAG 는 각각의 장단점을 가지고 있어, 사용하고자 하는 목적과 요구 사항에 따라 적절히 선택하는 것이 중요합니다.
어떤 방식을 선택하더라도, 그 방식의 특성을 잘 이해하고 최대한 활용하는 것이 좋겠죠!
또한, Fine-tuning은 특정 도메인에 대한 성능을 향상하는 데 효과적일 수 있으며, RAG는 다양한 질문에 대한 광범위한 대응이 필요할 때 유용하기에, 이 두 가지 방법을 적절히 조합하여 사용하면 더욱 효과적인 학습 결과를 얻을 수 있습니다~!
여기까지 요즘 🔥핫한🔥 LLM 에 대해 설명해 드렸습니다.
저도 현재 열심히 LLM 트레이닝 중인데 너무 어렵네요 😅
이 글을 읽고 조금이라도 LLM 에 대해 알 수 있으셨으면 좋겠습니다!!

안녕하세요 😆
요즘 제일 🔥핫한 🔥 키워드!! 바로바로 ‘LLM’ 입니다!!
어딜 가나 LLM 얘기만 나오는데, 그래서 LLM 이 뭔데?! 라고 하시는 분들을 위해 글을 작성해 보았습니다~
<Large Language Model (LLM)>
LLM 은 Large Language Model 의 약자로, 대규모 데이터 세트에서 훈련된 인공지능 언어 모델을 의미합니다.
다들 알고 계시는 ChatGPT 가 바로 LLM 이구나!! 라고 알고 계시면 될 것 같습니다.
LLM 의 대표적인 예로, OpenAI 의 ChatGPT, Meta 의 LLaMA, Google 의 PaLM 등이 있습니다.
GPT 는 약 1조 7,000억 개, LLaMA는 약 650억 개, PaLM 은 약 5,400억 개의 파라미터가 학습되어 있는데,
여기서 파라미터란!! 모델이 데이터로부터 학습하는 값들을 의미합니다.
LLM 은 어디에서 사용될까요??
LLM 은 주로 자연어 처리 작업에 사용되는데요.
자연어 처리란 인간의 언어를 기계적으로 이해하고 처리하는 기술입니다!
예를 들어, 인간이 사용하는 언어로 작성된 문서를 자동으로 번역하거나, 인간의 음성을 인식하여 명령을 수행하는 기술입니다.
LLM 을 사용하여 텍스트 생성, 분류, 번역, 질문 응답, 감정 분석 등 자연어 처리로 할 수 있는 모든 분야에 응용할 수 있습니다!!
<LLM 작동 원리>
그럼 LLM 이 어떻게 작동하는 것인지 알아볼까요?!
대부분의 LLM 은 트랜스포머 딥러닝 모델을 사용합니다.
트랜스포머 모델은 단어나 문장과 같은 입력 데이터에서 중요한 정보를 추출하고, 출력 데이터를 생성하는 딥러닝 모델입니다!
트랜스포머는 어텐션이라는 주요 기술을 사용하는데요!!
예시를 들어볼게요~~
“Juhee found the mouse in her room.” 이라는 문장을 들었을 때, mouse 가 쥐를 의미하는 것인지 컴퓨터 마우스를 의미하는 것인지 분명하지 않습니다!
하지만, 해당 문장이 "Juhee found the mouse in her room and immediately called tech support." 였다면 추가된 문맥을 통해 mouse 가 컴퓨터 마우스를 의미한다는 것을 알 수 있습니다.
이와 마찬가지로 트랜스포머는 어텐션이라는 기술을 사용하여 앞뒤 문장의 문맥을 파악합니다!
이를 통해, 트랜스포머는 복잡한 언어 구조를 이해하고 새로운 문장을 생성할 수 있게 됩니다.
이 모델은 자연어 처리 분야에 활용되며, 대용량의 데이터를 학습하여 번역, 요약, 질문 응답 등 다양한 자연어 처리 태스크에서 높은 성능을 보입니다.
LLM 은 토크나이징이라는 기술도 필요합니다!
토크나이징이란 자연어 처리에서 텍스트를 처리할 때 최소 단위인 토큰 형태로 텍스트를 만드는 것입니다. 이는 텍스트 전처리 과정입니다.
LLM 을 학습시키기 위해서는 문자를 컴퓨터가 인식하는 숫자로 변환시키기 위한 작업이 필요한데요. 해당 변환 작업 전에 전체 문장을 작게 쪼개는 작업이 필요합니다!
LLM 은 토크나이징 작업으로 문자를 쪼개고, 앞서 말씀드린 트랜스포머 모델을 이용하여 문자 간의 상관관계를 파악하여 학습되는 것입니다!!
그렇다면 사람의 언어와 LLM 의 언어는 다른데 어떻게 서로 이해할 수 있을까요?
LLM 이 어떻게 우리의 언어를 이해하고 답변하는 걸까요??
사람들이 사용하는 언어와 LLM 이 이해하는 언어는 다릅니다!
LLM 이 이해하는 언어를 임베딩이라고 부릅니다.
임베딩은 숫자열, 즉 벡터로 표기되어 있습니다.
임베딩 모델은 사람의 언어를 벡터화하여 LLM 모델이 이해할 수 있는 언어로 치환하고, 반대로 LLM 모델의 언어를 사람의 언어로 치환하는 역할을 해줍니다.
“동국시스템즈가 어디에 있어?” 라는 질문을 하였을 때 기계는 이해할 수 없기에, 임베딩 모델이 기계가 이해할 수 있게 숫자로 바꿔주고, 기계의 숫자 답변을 임베딩 모델이 다시 사람이 이해할 수 있도록 바꿔줍니다!
<LLM 의 한계>
그렇다면, LLM 의 한계는 무엇이 있을까요??
1. 편향 (Bias)
먼저, 편향에 대해 설명해 드릴게요~
데이터가 인터넷에서 긁어오다 보니 그 데이터에 내재된 사회적, 문화적 편향을 학습할 수 있어요.
예를 들어, 인종 차별, 성차별, 지역 차별 등이 학습되어 한쪽에 치우친 답변이 출력될 수 있습니다!
2. 환각 (Hallucination)
다음은 환각입니다!
ChatGPT 에게 이번에 개봉한 영화 ‘파묘’ 의 출연진을 물어보았습니다.
하지만 보시는 거와 같이 전혀 생뚱맞은 답변을 해주었네요,,
이처럼 잘못된 데이터를 실제 정보처럼 나타내주어 모르는 사람이 보았을 때 잘못된 정보들이 실제 정보인 것처럼 믿어질 수 있습니다!!
<Model Training>
이처럼 완벽해 보이는 ChatGPT 에도 한계가 존재합니다.
제가 예시를 하나 더 보여드릴게요~
ChatGPT 에게 동국시스템즈의 연차 기준을 물어보았을 때 정보를 알 수 없다는 답변을 해주었네요,, 😂
ChatGPT 는 웹페이지나 책, 기타 문서 등 방대한 양의 텍스트 데이터로 학습한 모델이기 때문에 특정 회사에 대해 질문을 할 때 ChatGPT 가 데이터를 가지고 있지 않기 때문에 답변을 할 수 없습니다!
ChatGPT 를 적절하게 사용하면 개인의 업무를 효율화할 수 있겠지만, 기업에서 업무용으로 사용하기 위해서나 특정 제품이나 서비스에 관한 질문에 답변할 수 있는 챗봇을 만들기 위해서는 별도의 데이터를 트레이닝시켜야 합니다!!
그렇다면 어떻게 LLM 모델을 트레이닝하는지 알아볼까요??
트레이닝 방식에는 Fine-tuning 과 RAG 가 있습니다.
1. Fine-tuning
먼저, Fine-tuning 방식에 대해 설명 드리겠습니다!
쉽게 이해하기 위해 학교에서 보는 시험에 비유해서 설명해볼게요~~
다가오는 시험에 대비해 공부하고 있다고 상상해볼게요!
이미 그 시험 과목에 대한 기본 지식을 갖고 있지만, 특히 중요한 부분이나 자주 출제되는 주제에 더 집중해서 공부하려고 해요~
이때, 과거 기출문제를 풀면서 그 과목에 대한 이해도를 높이고 시험에서 더 좋은 성적을 얻기 위해 준비합니다.
공부를 마쳤으면, 시험을 봐야겠죠?
여기서 학생은 공부한 내용을 잘 기억해서 시험 문제에 맞는 정확한 답을 스스로 찾아내야 합니다~~
마찬가지로 Fine-tuning 은 이미 다양한 지식을 학습한 모델에게 특정 작업이나 도메인에 맞춰 추가 학습을 시키는 것입니다. 이는 모델이 그 분야에서 더 높은 성능을 발휘하게 해줍니다!
마치 시험에서 학생이 공부한 내용을 바탕으로 정확한 답을 찾아내듯이, Fine-tuning 을 통해 모델은 특정 작업에 최적화된 답을 생성하게 됩니다!!
2. RAG (Retrieval-Augmented Generation)
이번엔 RAG 방식에 관해 설명해드릴게요~!
마찬가지로 RAG 를 시험에 비유해서 설명해볼까요?!
RAG 는 오픈북 시험과 비슷해요!!
오픈북 시험은 모든 교재나 자료를 참고할 수 있기에 시험 문제를 보고 모르는 부분이 있으면 책에서 답을 찾아낼 수 있습니다.
RAG 는 질문에 답하기 위해 대규모의 문서 데이터베이스에서 관련 정보를 검색하고, 그 정보를 바탕으로 답을 생성하는 과정입니다.
오픈북 시험에서 자료를 찾아 시험을 보듯이, RAG 는 필요한 정보를 찾아내어 그에 기반한 답을 생성합니다!!
마지막으로, Fine-tuning 과 RAG 두 가지 트레이닝 방식의 장단점에 대해 알려드릴게요~~
1. Fine-tuning
1) 장점
Fine-tuning 방식은 모델이 특정 도메인에 맞추어 학습하다 보니 정확한 답변을 얻을 수 있습니다.
예를 들어, IT 분야에 특화된 모델을 만들고자 할 때, IT 관련 데이터로 Fine-tuning 을 진행하면 해당 분야에 대한 답변의 정확도가 높아지게 됩니다!
2) 단점
과적합(Overfitting) 의 위험이 있습니다.
즉, 모델이 학습 데이터에 지나치게 최적화되어 있어 새로운 데이터나 다른 도메인의 데이터에 대해서는 대응력이 떨어집니다.
또한, 학습을 위해 상당한 양의 계산 리소스가 필요하고, 시간이 많이 소요돼요~
많은 데이터로 학습시키고, 모델을 조정하는 과정이 복잡하고 무거워질 수 있기 때문입니다!!
2. RAG (Retrieval-Augmented Generation)
1) 장점
RAG 는 데이터베이스에 저장된 다양한 문서를 바탕으로 답변을 생성하는 방식입니다!
모델이 직접 정보를 검색하고 그에 기반하여 답변을 생성하기 때문에 다양한 종류의 질문에 대해 유연하게 대응할 수 있습니다~
2) 단점
반면, 정보 검색과 생성 과정이 복잡하여 시간이 오래 걸릴 수 있습니다.
모델이 답변을 생성하기 위해 많은 문서를 검색하고, 그중에서 적절한 정보를 찾아내야 하니까요!
또한, 특정 도메인에 대한 전문 지식이 상대적으로 부족할 수 있으며, 다양한 정보가 때로는 일관성이 떨어질 수 있습니다.
이렇게 Fine-tuning 과 RAG 는 각각의 장단점을 가지고 있어, 사용하고자 하는 목적과 요구 사항에 따라 적절히 선택하는 것이 중요합니다.
어떤 방식을 선택하더라도, 그 방식의 특성을 잘 이해하고 최대한 활용하는 것이 좋겠죠!
또한, Fine-tuning은 특정 도메인에 대한 성능을 향상하는 데 효과적일 수 있으며, RAG는 다양한 질문에 대한 광범위한 대응이 필요할 때 유용하기에, 이 두 가지 방법을 적절히 조합하여 사용하면 더욱 효과적인 학습 결과를 얻을 수 있습니다~!
여기까지 요즘 🔥핫한🔥 LLM 에 대해 설명해 드렸습니다.
저도 현재 열심히 LLM 트레이닝 중인데 너무 어렵네요 😅
이 글을 읽고 조금이라도 LLM 에 대해 알 수 있으셨으면 좋겠습니다!!