LLM Overview
"충분히 큰 Transformer에 충분히 많은 텍스트를 학습시키면, 놀라운 능력이 나타난다"
📌 이 글의 목적
LLM(Large Language Model)은 현재 AI의 핵심임. 이 글은 LLM이 무엇이고, 어떻게 발전해왔으며, 왜 강력한지를 아키텍처 수준에서 이해하는 데 집중함.
이 글을 읽고 나면:
- 언어 모델의 진화 경로(n-gram → RNN → Transformer → LLM)를 설명할 수 있음
- BERT vs GPT의 아키텍처 차이를 이해할 수 있음
- Scaling Law와 Emergent Abilities가 무엇인지 설명할 수 있음
- 토크나이저의 동작 원리를 이해할 수 있음
- 컨텍스트 윈도우, KV Cache 등 추론 최적화의 기초를 알 수 있음
1. 언어 모델의 진화
1.1 타임라인
1.2 핵심 전환점
| 전환점 | 의미 |
|---|---|
| Word2Vec (2013) | 단어를 고정 벡터로 표현. "의미의 수학" 가능해짐 |
| Transformer (2017) | Self-Attention으로 RNN의 순차 처리 한계 극복. 병렬화 가능 |
| GPT-1 (2018) | "사전학습 + 파인튜닝" 패러다임 확립 |
| GPT-3 (2020) | 스케일만으로 Few-shot 능력이 나타남. In-context Learning 발견 |
| ChatGPT (2022) | RLHF로 대화형 인터페이스. LLM 대중화의 시작 |
2. LLM의 핵심 아키텍처
2.1 세 가지 Transformer 변형
| 유형 | 대표 모델 | 방향 | 학습 방식 | 주요 용도 |
|---|---|---|---|---|
| Encoder-only | BERT, RoBERTa | 양방향 | 마스킹(MLM) | 분류, 임베딩, NER |
| Decoder-only | GPT, Claude, Llama | 단방향 (←) | 다음 토큰 예측 | ✅ 생성, 대화, 추론 |
| Encoder-Decoder | T5, BART | 양방향 + 단방향 | Seq2Seq | 번역, 요약 |
💡 현재 LLM의 주류는 Decoder-only 아키텍처. GPT, Claude, Gemini, Llama 모두 Decoder-only임. "다음 토큰 예측"이라는 단순한 목표가 놀랍도록 강력한 능력을 만들어냄.
2.2 BERT vs GPT — 핵심 차이
| BERT | GPT | |
|---|---|---|
| 구조 | Encoder-only | Decoder-only |
| 방향 | 양방향 (좌→우 + 우→좌 동시) | 단방향 (좌→우만) |
| 학습 | 마스킹된 단어 맞추기 (MLM) | 다음 단어 예측 (CLM) |
| 강점 | 문맥 이해 (분류, 임베딩) | 텍스트 생성 (대화, 코드) |
| 약점 | 생성 불가능 | (Encoder 대비) 양방향 이해가 약함 |
| 파라미터 | 3.4억 (Large) | GPT-4: 추정 수조 |
| 현재 위치 | 임베딩/분류 특화 | ✅ LLM 주류 |
BERT (양방향):
"나는 [MASK] 먹었다" → [MASK] = "밥을" (빈칸 맞추기)
GPT (단방향):
"나는 밥을" → "먹었다" (다음 단어 예측)
"나는 밥을 먹었다. 그래서" → "배가 불렀다." (계속 생성)
2.3 디코딩 — 다음 토큰 예측의 실제
LLM이 텍스트를 생성하는 과정:
| 디코딩 전략 | 설명 | 특성 |
|---|---|---|
| Greedy | 항상 가장 높은 확률의 토큰 선택 | 결정적, 반복 발생 |
| Temperature | 확률 분포를 조절 (높으면 랜덤, 낮으면 결정적) | T=0: Greedy, T=1: 기본 |
| Top-k | 상위 k개 토큰 중에서만 샘플링 | 극단적 토큰 배제 |
| Top-p (Nucleus) | 누적 확률이 p가 될 때까지의 토큰 중 샘플링 | ✅ 실전에서 많이 사용 |
3. 사전학습과 정렬
3.1 두 단계 학습
| 단계 | 목적 | 데이터 | 비용 |
|---|---|---|---|
| 사전학습 | 언어의 패턴/지식 학습 | 수조 토큰 (인터넷, 책, 코드) | 💰💰💰 (수백만 달러) |
| SFT | 지시를 따르도록 학습 | 수만~수십만 대화 쌍 | 💰 |
| RLHF/DPO | 안전하고 유용한 응답 생성 | 인간 평가 데이터 | 💰💰 |
3.2 Base Model vs Chat Model
| Base Model | Chat Model | |
|---|---|---|
| 학습 | 사전학습만 | 사전학습 + SFT + RLHF |
| 동작 | 다음 토큰을 계속 생성 (자동완성) | 질문에 대한 답변 생성 |
| 출력 | "서울의 날씨는 맑고 기온은..." (계속) | "서울의 현재 날씨를 알려드리겠습니다..." |
| 활용 | 파인튜닝 기반 모델 | ✅ 일반 사용자가 사용하는 모델 |
💡 ChatGPT, Claude 등은 모두 Chat Model. Base Model에 SFT + RLHF를 적용하여 "대화"가 가능해진 것. Base Model 자체는 질문에 답하지 않고 텍스트를 계속 이어 생성하기만 함.
4. Scaling Law
4.1 "크면 클수록 좋다"의 수학
2020년 OpenAI의 Kaplan et al. 논문에서 발견한 법칙:
성능 ∝ 모델 크기^α × 데이터 크기^β × 컴퓨팅^γ
세 가지 요소를 늘리면 예측 가능하게 성능이 향상됨.
4.2 Chinchilla Scaling Law (2022)
DeepMind의 Chinchilla 논문이 기존 Scaling Law를 수정:
| 이전 (GPT-3 시대) | Chinchilla 이후 | |
|---|---|---|
| 전략 | 모델을 최대한 키워라 | 모델과 데이터의 비율을 맞춰라 |
| 최적 비율 | — | 파라미터 1개당 약 20개 토큰 |
| 영향 | GPT-3: 1750억 params, 3000억 tokens | Chinchilla: 700억 params, 1.4조 tokens |
💡 Chinchilla 이후 LLM 개발의 패러다임이 바뀜. "무조건 크게"가 아니라 **"적절한 크기의 모델을 충분한 데이터로"**가 더 효율적이라는 것. Llama 시리즈가 이 원칙을 따름.
4.3 Emergent Abilities (창발 능력)
모델이 일정 규모를 넘으면 학습하지 않은 능력이 갑자기 나타나는 현상.
| 능력 | 나타나는 규모 | 설명 |
|---|---|---|
| Few-shot Learning | ~10B+ | 예시 몇 개만으로 새 태스크 수행 |
| Chain-of-Thought | ~100B+ | 단계별 추론 능력 |
| 코드 생성 | ~10B+ | 자연어 → 코드 변환 |
| 수학 추론 | ~100B+ | 수학 문제 단계적 풀이 |
이 "창발 능력"이 진짜 갑자기 나타나는 것인지, 아니면 측정 방법의 문제인지는 아직 논쟁 중임. 하지만 스케일이 중요하다는 점은 명확함.
5. 토크나이저
5.1 토큰이란
LLM은 텍스트를 토큰 단위로 처리함. 토큰은 단어, 서브워드, 또는 문자일 수 있음.
입력: "Proxmox는 오픈소스 가상화 플랫폼이다"
토큰화 예시 (BPE):
["Prox", "mox", "는", " 오픈", "소스", " 가상", "화", " 플랫", "폼", "이다"]
→ 10개 토큰
5.2 토크나이저 종류
| 방식 | 설명 | 대표 |
|---|---|---|
| BPE (Byte Pair Encoding) | 자주 나오는 문자 쌍을 반복 병합 | GPT 시리즈, Llama |
| WordPiece | BPE와 유사, 우도 기반 | BERT |
| SentencePiece | 언어에 독립적, 공백도 토큰화 | T5, Llama |
| tiktoken | OpenAI의 BPE 구현 | GPT-3.5/4 |
5.3 토큰 수가 중요한 이유
| 영향 | 설명 |
|---|---|
| 비용 | API 과금이 토큰 단위 (입력 + 출력 토큰) |
| 컨텍스트 윈도우 | 한 번에 처리할 수 있는 최대 토큰 수 |
| 속도 | 토큰 수가 많을수록 생성 시간 증가 |
| 언어 효율성 | 영어는 1단어 ≈ 1 |
⚠️ 한국어는 토큰 효율이 낮음. 영어 대비 같은 내용을 표현하는 데 더 많은 토큰이 소비됨. API 비용이 더 들고, 컨텍스트 윈도우를 더 빨리 채움.
6. 컨텍스트 윈도우와 추론
6.1 컨텍스트 윈도우
LLM이 한 번에 처리할 수 있는 최대 토큰 수.
| 모델 | 컨텍스트 윈도우 | 대략적 분량 |
|---|---|---|
| GPT-3 (2020) | 2K | A4 ~2장 |
| GPT-3.5 | 4K~16K | A4 ~10장 |
| GPT-4 | 8K~128K | A4 ~80장 |
| Claude 3 | 200K | A4 ~130장 |
| Gemini 1.5 | 1M~2M | 책 수 권 |
컨텍스트 윈도우가 커지면서 RAG 없이도 긴 문서를 직접 넣을 수 있게 됨. 하지만 "전부 넣을 수 있다"와 "전부 잘 활용한다"는 다른 문제 (Lost in the Middle 현상).
6.2 KV Cache — 추론 최적화의 핵심
LLM이 토큰을 하나씩 생성할 때마다 이전 토큰들의 Attention을 다시 계산하면 매우 비효율적. KV Cache는 이전 토큰의 Key/Value를 저장해두고 재사용함.
| KV Cache 없이 | KV Cache 사용 | |
|---|---|---|
| 계산량 | O(n²) — 매 토큰마다 전체 재계산 | O(n) — 새 토큰만 계산 |
| 메모리 | 적음 | 많음 (K,V 저장) |
| 속도 | 느림 | ✅ 빠름 |
💡 KV Cache가 GPU 메모리를 대량으로 소비하는 이유가 여기에 있음. 긴 컨텍스트 윈도우 = 더 큰 KV Cache = 더 많은 GPU 메모리 필요. 이것이 추론 인프라의 핵심 제약.
6.3 추론 최적화 기법
| 기법 | 설명 | 효과 |
|---|---|---|
| 양자화 | FP32 → INT8/INT4로 정밀도 낮춤 | 메모리 2~4배 절약, 약간의 성능 저하 |
| KV Cache 최적화 | PagedAttention, GQA | 메모리 효율 개선 |
| 연속 배칭 | 여러 요청을 동시에 처리 | 처리량 향상 |
| Speculative Decoding | 작은 모델이 초안 생성, 큰 모델이 검증 | 속도 2~3배 향상 |
| vLLM | PagedAttention 기반 서빙 엔진 | ✅ 현재 표준 추론 서버 |
7. 주요 LLM 비교
7.1 모델 계보
7.2 주요 모델 비교
| 모델 | 개발사 | 오픈소스 | 컨텍스트 | 특징 |
|---|---|---|---|---|
| GPT-4o | OpenAI | ❌ | 128K | 멀티모달, 빠른 추론 |
| Claude (Opus 4) | Anthropic | ❌ | 200K | 긴 문서, 코딩, 안전성 |
| Gemini 2.0 | ❌ | 2M | 초대형 컨텍스트, 멀티모달 | |
| Llama 3 | Meta | ✅ | 128K | 오픈소스 최강, 파인튜닝 가능 |
| Mistral | Mistral AI | ✅ | 128K | 소형 고효율, MoE |
| Qwen 2.5 | Alibaba | ✅ | 128K | 오픈소스, 다국어 |
7.3 오픈소스 vs 폐쇄 모델
| 폐쇄 (GPT, Claude) | 오픈소스 (Llama, Mistral) | |
|---|---|---|
| 성능 | ✅ 최고 | 좋음 (격차 줄어드는 중) |
| 비용 | API 종량 과금 | 자체 인프라 비용 (GPU) |
| 프라이버시 | 데이터가 외부로 나감 | ✅ 자체 서버에서 처리 |
| 커스터마이즈 | API 파라미터만 조절 | ✅ 파인튜닝 자유 |
| 운영 부담 | ❌ 없음 (API 호출만) | GPU 서버 운영 필요 |
8. LLM의 한계
| 한계 | 설명 | 대응 |
|---|---|---|
| 환각 (Hallucination) | 사실이 아닌 내용을 자신 있게 생성 | RAG, 사실 검증 레이어 |
| 지식 컷오프 | 학습 데이터 이후의 정보를 모름 | RAG, 웹 검색 연동 |
| 수학/논리 약점 | 복잡한 연산이나 논리 추론에서 실수 | CoT, 외부 도구(계산기) |
| 컨텍스트 한계 | 윈도우를 넘어가는 긴 입력 처리 불가 | RAG, 청킹, 요약 |
| 일관성 | 같은 질문에 다른 답을 할 수 있음 | Temperature=0, System Prompt |
| 보안 | 프롬프트 인젝션에 취약 | 가드레일, 입력 필터링 |
💡 이 한계들을 보완하는 것이 RAG(#12), Agent(#13), **프롬프트 엔지니어링(#11)**의 역할. LLM 자체의 능력 + 외부 도구/데이터 결합이 현재 실무 패턴의 핵심.
정리
| 개념 | 핵심 |
|---|---|
| LLM | 대규모 Transformer 기반 언어 모델. 다음 토큰 예측으로 학습 |
| 아키텍처 | Decoder-only가 주류 (GPT, Claude, Llama) |
| 학습 | 사전학습(자기지도) → SFT(지시 따르기) → RLHF/DPO(정렬) |
| Scaling Law | 모델/데이터/컴퓨팅을 늘리면 예측 가능하게 성능 향상 |
| Emergent Abilities | 일정 규모 이상에서 학습하지 않은 능력이 나타남 |
| 토큰 | LLM의 처리 단위. BPE가 표준. 한국어는 토큰 효율 낮음 |
| KV Cache | 추론 속도의 핵심. GPU 메모리를 대량 소비 |
| 한계 | 환각, 지식 컷오프, 수학/논리 → RAG, Agent로 보완 |
다음 글
→ 파인튜닝 — LoRA, RLHF, PEFT — 사전학습 모델을 특정 태스크에 맞추는 방법
🔗 관련 문서
- 수학 기초 — 행렬 곱셈과 소프트맥스의 이해
- ML Overview — ML 전체 그림
- AI & ML Series Index — 시리즈 목차