LLM
contents
**거대 언어 모델(Large Language Model, LLM)**은 딥러닝 기술과 방대한 데이터 세트를 사용하여 새로운 콘텐츠를 이해, 요약, 생성 및 예측하는 인공지능 알고리즘의 한 유형입니다.
LLM을 사실이 저장된 데이터베이스가 아니라, 패턴 완성 엔진으로 생각하시면 됩니다. 인터넷에 있는 거의 모든 글을 읽고, 특정 문장 다음에 어떤 단어가 올 확률이 통계적으로 가장 높은지 학습한 것입니다.
1. 핵심 아키텍처: 트랜스포머 (Transformer) 🤖
현대 LLM을 가능하게 한 획기적인 발전은 2017년 구글 연구원들이 "Attention Is All You Need" 라는 논문에서 발표한 트랜스포머 아키텍처입니다.
이전 모델들(RNN, LSTM 등)은 텍스트를 순차적으로(단어 하나하나) 읽었기 때문에 속도가 느리고 오래전 문맥을 기억하지 못했습니다. 트랜스포머는 셀프 어텐션(Self-Attention) 메커니즘을 통해 이를 변화시켰습니다.
셀프 어텐션 메커니즘 (Self-Attention)
이를 통해 모델은 문장 내의 모든 단어를 동시에 보고 단어들이 서로 어떻게 연관되어 있는지 파악할 수 있습니다.
- 예시: "The animal didn't cross the street because it was too tired." (그 동물은 너무 피곤해서 길을 건너지 않았다.)
- 모델의 작동: "it(그것)"이라는 단어를 처리할 때, 어텐션 메커니즘은 "animal(동물)"에 높은 가중치를 부여하고 "street(길)"에는 낮은 가중치를 부여합니다. 이것이 모델이 "it"이 동물을 지칭한다는 것을 이해하는 방식입니다.
2. LLM이 만들어지는 과정 (3단계) 🏗️
ChatGPT나 Gemini 같은 모델을 만드는 데는 세 가지 뚜렷한 단계가 있습니다.
1단계: 사전 학습 (Pre-training) - 가장 비용이 많이 드는 단계
- 목표: 모델에게 "언어란 무엇인가"와 일반적인 세상의 지식을 가르칩니다.
- 데이터: 방대한 데이터 세트 (Common Crawl, 위키백과, 책, GitHub 코드 등). 수조 개의 토큰(단어/부분 단어)을 다룹니다.
- 과정: 모델에게 단순한 과제를 줍니다: 다음 토큰 예측 (Next-Token Prediction).
- 입력: "하늘은..."
- 정답: "파랗다."
- 만약 모델이 "초록색이다"라고 추측하면, (역전파를 통해) 교정되고 내부 매개변수(가중치)가 조정됩니다.
- 결과: "베이스 모델(Base Model)". 똑똑하지만 통제가 어렵습니다. 베이스 모델에게 "프랑스의 수도는?"이라고 물으면, 퀴즈 목록을 작성 중이라고 생각해서 "독일의 수도는?"이라고 대답할 수도 있습니다.
2단계: 지시 튜닝 (Instruction Tuning / SFT)
- 목표: 모델이 지시를 따르고 비서처럼 행동하도록 가르칩니다.
- 데이터: 사람이 작성한 고품질의 (질문, 답변) 쌍 데이터 세트.
- 결과: 이제 모델은 텍스트를 단순히 이어가는 것이 아니라 질문에 대답합니다.
3단계: 정렬 (Alignment / RLHF)
- 목표: 모델을 안전하고, 도움이 되며, 정직하게 만듭니다.
- 과정: 인간 피드백 기반 강화 학습(RLHF) 을 사용합니다.
- 모델이 여러 개의 답변을 생성합니다.
- 사람이 순위를 매깁니다 (답변 A가 답변 B보다 낫다).
- 별도의 "보상 모델(Reward Model)"이 이러한 사람의 선호도를 학습합니다.
- LLM은 점수를 최대화하기 위해 이 보상 모델에 맞춰 강화 학습(PPO 알고리즘 등)을 통해 훈련됩니다.
3. 주요 기술 개념 ⚙️
토큰 (Tokens)
LLM은 단어를 읽지 않고 토큰을 읽습니다. 토큰은 전체 단어일 수도, 단어의 일부일 수도, 하나의 문자일 수도 있습니다.
- 경험 법칙: 1,000 토큰 ≈ 영단어 750개 (한글은 글자 구조상 토큰 소모가 더 많을 수 있음).
- "apple"은 1 토큰일 수 있습니다. "friendship"은 1 토큰, "ing"는 별도의 토큰일 수 있습니다.
컨텍스트 윈도우 (Context Window)
모델의 "단기 기억"입니다. 모델이 한 번에 처리할 수 있는 텍스트의 양(질문과 이전 답변 포함)의 한계입니다.
- 표준: 4k ~ 8k 토큰.
- 최첨단 (Gemini 1.5 Pro): 최대 200만 토큰 (수 시간의 동영상이나 수만 줄의 코드를 처리할 수 있음).
파라미터 (Parameters)
모델이 학습한 내용을 나타내는 신경망 내부의 변수(가중치)입니다.
- 7B (70억 개): 작음, 좋은 성능의 노트북에서 실행 가능 (예: Llama 3 8B).
- 70B: 중간, 고성능 서버 GPU 필요.
- 1T+ (1조 개 이상): GPT-4나 Gemini Ultra 같은 거대 모델. 일반적으로 파라미터가 많을수록 더 "똑똑"하지만 실행 속도가 느리고 비용이 비쌉니다.
온도 (Temperature)
모델 출력의 "무작위성"을 제어하는 설정입니다.
- 낮음 (0.0 - 0.3): 결정론적, 집중적, 정확함. 코딩이나 수학에 좋음.
- 높음 (0.7 - 1.0): 창의적, 다양함, 예측 불가능. 시 쓰기나 브레인스토밍에 좋음.
4. 능력과 한계
LLM이 잘하는 것 ✅
- 요약: 긴 문서를 핵심 요점으로 압축.
- 번역: 뉘앙스를 살려 언어 간 변환.
- 코드 생성: 상용구 코드 작성, 버그 찾기, 언어 변환.
- 추론: 복잡한 문제를 단계별로 분해 (생각의 사슬, Chain of Thought).
- 창의적 글쓰기: 마케팅 문구, 이메일, 이야기 생성.
환각 문제 (Hallucination) 🤥
LLM의 가장 큰 약점은 환각입니다. LLM은 사실 데이터베이스가 아니라 확률 엔진이기 때문에, 통계적으로 그럴듯하게 들린다면 거짓 정보를 확신에 차서 말할 수 있습니다.
- 예시: 가상의 인물에 대한 전기를 물어보면, LLM은 전기에서 흔히 나오는 이름과 단어들을 조합해 생년월일과 경력을 지어낼 수 있습니다.
5. 떠오르는 기술들 🚀
환각이나 메모리 제한 같은 한계를 극복하기 위해 개발자들은 다음 기술들을 사용합니다.
- RAG (검색 증강 생성): 답변하기 전에 신뢰할 수 있는 데이터베이스(예: 사내 위키)에서 관련 사실을 검색하여 컨텍스트에 포함시킵니다. 이는 모델을 현실 정보에 기반하게 합니다.
- 파인 튜닝 (Fine-tuning): 사전 학습된 모델을 가져와 특정 데이터 세트(예: 의료 기록)로 추가 학습시켜 해당 분야의 전문가로 만듭니다.
- 양자화 (Quantization): 모델 가중치의 정밀도를 낮춰(예: 16비트에서 4비트 숫자로) 지능 손실을 최소화하면서 모델을 더 작고 빠르게 만듭니다. 이를 통해 휴대폰에서도 LLM을 실행할 수 있습니다.
- MoE (전문가 혼합 모델): 하나의 거대한 모델 대신, 여러 개의 작은 "전문가" 모델과 쿼리의 각 부분을 어떤 전문가가 처리할지 결정하는 "라우터" 네트워크를 사용합니다. 이는 더 효율적입니다.
요약
LLM은 "명령 기반" 컴퓨팅(컴퓨터에게 무엇을 할지 정확히 지시)에서 "의도 기반" 컴퓨팅(컴퓨터에게 원하는 것을 말하고, 컴퓨터가 방법을 알아내게 함)으로의 전환을 의미합니다.
references