이 섹션은 LLM에 대한 전문가 수준의 직관 을 전달합니다. 고객에게 LLM의 가능성과 한계를 설명할 때, 이 직관이 있으면 “마법처럼 보이는 것”을 합리적으로 설명할 수 있습니다.
LLM은 “이해”하는 것이 아니라 “패턴 매칭”한다
20년간 AI 시스템을 만들면서 가장 자주 만나는 오해가 이것입니다: “GPT가 내 질문을 이해했다.” 아닙니다. LLM은 이해하지 않습니다. 학습 데이터에서 본 패턴을 조합하는 것 입니다. “2+3은 얼마인가요?”라고 물으면 “5”라고 답합니다. LLM이 덧셈을 이해해서일까요? 아닙니다. 학습 데이터에 “2+3=5”라는 패턴이 수없이 등장했기 때문입니다. 증거를 보여드리겠습니다:2+3→5(정답 — 학습 데이터에 빈번)23847+95123→ 종종 오답(학습 데이터에 이 조합이 없거나 드물음)3.7과 3.11 중 어느 것이 더 큰가?→ GPT-4도 종종 “3.11”이라고 오답(소수점 비교 패턴의 함정)
- 창의적 조합: 학습 데이터에서 본 다양한 패턴을 새로운 방식으로 조합합니다. 이것이 LLM의 “창의성”입니다.
- 유연한 일반화: “이메일 초안을 써줘”라고 학습하지 않았어도, “이메일”의 패턴과 “초안 작성”의 패턴을 조합하여 수행합니다.
- 다국어 전이: 영어로 학습한 추론 패턴이 한국어에서도 어느 정도 작동합니다.
- 추론의 불안정성: 같은 유형의 문제도 표현이 바뀌면 실패할 수 있습니다. “진짜 이해”가 아니기 때문입니다.
- 자신감 있는 오류: 패턴이 “그럴듯하면” 틀려도 자신있게 출력합니다. 사실 검증 능력이 없습니다.
- 편향 복제: 학습 데이터의 편향을 그대로 재현합니다.
LLM의 “세계 모델” 논쟁
최근 AI 연구에서 가장 뜨거운 논쟁 중 하나입니다: “LLM이 정말로 세계에 대한 내부 모델을 가지는가?” 흥미로운 증거 — Othello 실험 (Li et al., 2023): 연구자들이 오셀로(Othello) 보드게임의 수순 데이터만으로 GPT를 학습시켰습니다. 모델에게 보드 상태를 시각적으로 보여준 적이 없고, 단지 “E3, D4, C5, …” 같은 수순 텍스트만 입력했습니다. 놀랍게도, 모델 내부의 뉴런을 분석하니 보드의 2차원 상태가 내부적으로 표현 되어 있었습니다. 텍스트만 봤는데 보드 모양을 “학습”한 것입니다. 이것은 LLM이 단순 패턴 매칭을 넘어, 데이터의 잠재적 구조(latent structure) 를 학습할 수 있다는 증거입니다. 하지만 이것을 “이해”라고 부를 수 있는지는 여전히 논쟁 중입니다.참고 실무적 시사점: 이 논쟁의 결론이 뭐든, 실무적 접근법은 동일합니다. “이해”를 기대하지 말고, “매칭 + 검증” 패턴으로 사용하세요. LLM이 생성한 결과를 항상 외부 데이터로 검증하는 구조(RAG, Guardrails)를 기본으로 설계하는 것이 안전합니다.
Scaling의 마법과 한계
모델 파라미터를 10배 늘리면 갑자기 새로운 능력이 나타나는 현상이 있습니다. 이것을 Phase Transition(상전이) 이라고 부릅니다. 물을 가열하면 99도까지는 액체인데, 100도에서 갑자기 기체가 되는 것과 비슷합니다. GPT-2(1.5B) → GPT-3(175B)의 도약이 대표적입니다. GPT-2는 그럴듯한 텍스트를 이어쓰는 정도였지만, GPT-3는 갑자기 번역, 코드 생성, 수학 문제 풀이를 시작했습니다. 파라미터가 100배 늘어나자 질적으로 다른 능력 이 나타난 것입니다. 하지만 무한히 스케일하면 무한히 좋아지는가? Chinchilla 법칙 (Hoffmann et al., 2022) 이 이 질문에 답합니다. 핵심 발견:모델 크기만 키우는 것은 비효율적이다. 모델 크기와 학습 데이터를 균형 있게 늘려야 한다.구체적으로, 모델 파라미터를 2배로 늘리면 학습 데이터도 2배로 늘려야 최적입니다. Chinchilla(70B)가 당시 3배 큰 Gopher(280B)를 능가한 이유가 바로 이것입니다 — 같은 컴퓨팅 예산을 모델 크기가 아닌 데이터에 더 많이 투자했습니다.
| 접근법 | 모델 크기 | 학습 데이터 | 결과 |
|---|---|---|---|
| Gopher (비효율적) | 280B | 300B 토큰 | 큰 모델, 적은 데이터 |
| Chinchilla (효율적) | 70B | 1.4T 토큰 | 작은 모델, 많은 데이터 → 더 높은 성능 |
주의 고객에게 전달할 핵심 메시지: “가장 큰 모델 = 가장 좋은 모델”이 아닙니다. 고품질 데이터, 효율적 아키텍처(MoE), 정교한 학습 전략이 모델 크기보다 중요한 경우가 많습니다. Llama 3 8B가 이전 세대 Llama 2 70B에 근접하는 성능을 보인 것이 이를 증명합니다.
비유 모음: 전문가가 고객에게 설명할 때 쓰는 비유 5가지
20년간 기술 고객과 소통하면서 검증된 비유들입니다. 상황에 맞게 사용하세요. 1. 도서관 사서 비유(LLM의 지식과 한계)“LLM은 수백만 권의 책을 읽은 도서관 사서와 같습니다. 질문하면 기억에 의존하여 답하지만, 새로 출판된 책은 모르고, 기억이 섞여 존재하지 않는 내용을 말하기도 합니다. RAG는 이 사서에게 관련 책을 직접 건네주고 ‘이 책을 보고 답하세요’라고 하는 것입니다.”2. 앵무새 비유(패턴 매칭의 본질)
“LLM은 수백만 대화를 들은 극도로 영리한 앵무새입니다. 대화의 패턴을 놀라울 정도로 정확하게 재현하지만, 자신이 말하는 내용의 ‘의미’를 이해하는 것은 아닙니다. 하지만 이 앵무새가 워낙 많은 대화를 들었기 때문에, 대부분의 상황에서 적절한 답변을 할 수 있습니다.”3. 자동완성 on steroids 비유(기술적 원리)
“스마트폰의 자동완성 기능을 아시죠? ‘오늘 점심’을 입력하면 ‘뭐 먹을까’를 제안하는 것. LLM은 이것의 수십억 배 강력한 버전입니다. 단어 하나가 아니라 문단, 코드, 논문까지 ‘자동완성’합니다. 원리는 같습니다 — ‘다음에 올 가장 그럴듯한 것을 예측’하는 것.”4. 외국어 학습자 비유(패턴 일반화)
“중국에서 5년 살면서 중국어를 배웠는데, 한 번도 들어보지 못한 새로운 문장을 말할 수 있죠? 문법 규칙을 외운 것이 아니라, 수많은 대화의 패턴이 내면화된 겁니다. LLM도 마찬가지입니다 — 언어 규칙을 프로그래밍한 것이 아니라, 패턴이 내면화된 것입니다.”5. 꿈꾸는 기계 비유(Hallucination)
“꿈을 꿀 때, 우리 뇌는 경험의 조각들을 그럴듯하게 조합합니다. 꿈에서 본 것이 현실과 완전히 일치하지 않지만, 꿈속에서는 완벽하게 자연스럽죠. LLM의 Hallucination도 이와 같습니다. 학습 데이터의 조각들을 조합하여 그럴듯하지만 사실이 아닌 내용을 생성합니다.”
Transformer 내부 한눈에
LLM의 핵심 아키텍처인 Transformer의 내부 구조를 이해하면, 모델의 강점과 한계를 더 정확히 설명할 수 있습니다.Self-Attention 계산 과정
Self-Attention은 “이 단어가 문장 내 다른 단어들과 얼마나 관련 있는가?”를 계산하는 메커니즘입니다.- 입력 토큰 벡터에서 Q(Query), K(Key), V(Value) 세 개의 벡터를 생성합니다
- Q와 K의 내적(dot product) 으로 각 토큰 쌍의 관련도(attention score)를 계산합니다
- Softmax로 정규화하여 attention weight 를 얻습니다
- V에 가중합 을 적용하여 최종 출력을 생성합니다
- “서울”과 높은 attention → 어떤 도시의 인구인지 파악
- “950만”과 높은 attention → 구체적 수치와 연결
- “약”과 중간 attention → 정확도 표현 참조
Multi-Head Attention의 역할
하나의 Attention Head는 하나의 관계 패턴 만 학습합니다. 다양한 관계를 동시에 포착하기 위해 여러 개의 Head를 병렬로 운영합니다.| Head | 학습하는 관계 패턴 예시 |
|---|---|
| Head 1 | 주어-동사 관계 (“학생이 → 공부한다”) |
| Head 2 | 수식어-피수식어 관계 (“빨간 → 사과”) |
| Head 3 | 대명사-선행사 관계 (“그녀는 → 김 교수”) |
| Head 4 | 숫자-단위 관계 (“950만 → 명”) |
| … | … |
Layer 구조: 추상화의 계층
Transformer는 수십~수백 개의 동일한 Layer(블록) 를 쌓은 구조입니다. 각 Layer는 Self-Attention + Feed-Forward Network 로 구성됩니다.| Layer 위치 | 학습하는 정보 | 비유 |
|---|---|---|
| 초기 Layer (1~10) | 표면적 패턴: 문법, 구문 구조, 단어 형태 | 문장을 읽고 문법을 파악하는 단계 |
| 중간 Layer (11~50) | 의미적 관계: 개체 관계, 인과 관계, 주제 | 내용을 이해하고 관계를 파악하는 단계 |
| 후기 Layer (51~96) | 고수준 추론: 맥락 종합, 답변 생성 전략 | 종합하여 결론을 도출하는 단계 |
토큰화 상세
토큰화(Tokenization)란?
LLM은 텍스트를 직접 처리하지 않습니다. 먼저 텍스트를 토큰(token) 이라는 하위 단위로 분할하고, 각 토큰을 숫자 ID로 변환합니다.주요 토크나이저 비교
| 토크나이저 | 사용 모델 | 어휘 크기 | 특징 |
|---|---|---|---|
| BPE (Byte Pair Encoding) | GPT 시리즈 | 빈도 기반 병합. 가장 보편적 | |
| SentencePiece | Llama, T5 | 언어 무관(language-agnostic). 공백도 토큰화 | |
| tiktoken (cl100k_base) | GPT-4, GPT-4o | 100K | OpenAI 자체 구현. BPE 기반 |
| Anthropic Tokenizer | Claude 시리즈 | ~100K+ | 자체 구현. 다국어 효율성 강화 |
한국어 토큰화: 같은 문장, 다른 토큰 수
한국어는 교착어 특성상, 조사/어미가 결합되어 토큰 수가 많아지는 경향이 있습니다.주의 비용 영향: 한국어는 영어 대비 1.5~3배 많은 토큰 을 소비합니다. 같은 의미를 전달하는 데 더 많은 토큰이 필요하므로, API 비용이 그만큼 증가합니다. 프롬프트를 간결하게 작성하거나, 한국어 최적화된 토크나이저를 사용하는 모델을 선택하면 비용을 절감할 수 있습니다.
KV-Cache: 왜 장문 추론이 느린가
KV-Cache란?
LLM이 토큰을 하나씩 생성할 때, 이전에 계산한 Key와 Value 벡터를 캐시에 저장 하여 재사용합니다. 이것이 KV-Cache입니다.KV-Cache의 메모리 문제
| 항목 | Llama 3.3 70B (128K 컨텍스트) |
|---|---|
| 모델 가중치 | ~140GB (FP16) |
| KV-Cache (128K 토큰) | ~80GB |
| 총 GPU 메모리 필요 | ~220GB |
PagedAttention (vLLM)의 혁신
기존 KV-Cache는 각 요청마다 연속 메모리 블록 을 할당합니다. 이 방식은 메모리 단편화와 낭비를 유발합니다. vLLM의 PagedAttention 은 OS의 가상 메모리(Virtual Memory) 개념을 차용합니다:- KV-Cache를 고정 크기 페이지(block) 로 분할
- 비연속 메모리에 저장 가능 → 메모리 단편화 해결
- 필요할 때만 새 페이지 할당 → 메모리 낭비 최소화
- 동일한 프롬프트의 KV-Cache를 여러 요청이 공유 가능
| 항목 | 기존 방식 | PagedAttention (vLLM) |
|---|---|---|
| 메모리 효율 | 60~70% (단편화) | 95%+ |
| 처리량 (throughput) | 기준 | 2~4배 향상 |
| 배치 크기 | 메모리 제한으로 작음 | 대폭 증가 |
참고 Databricks 연결: Databricks의 Foundation Model API와 Model Serving은 내부적으로 vLLM 기반의 최적화된 추론 엔진을 사용하여, 이러한 KV-Cache 최적화가 자동으로 적용됩니다.
추론 시간 컴퓨팅 (Inference-Time Compute)
전통적인 LLM은 입력 → 출력을 한 번에 생성합니다. 반면 OpenAI o1/o3, DeepSeek R1 같은 추론 모델(Reasoning Model) 은 답변 전에 “생각하는 시간” 을 가집니다.| 방식 | 토큰 생성 패턴 | 장점 | 단점 |
|---|---|---|---|
| 전통적 (GPT-4o, Claude Sonnet) | 입력 → 바로 출력 | 빠름, 비용 낮음 | 복잡한 추론에 약함 |
| 추론 모델 (o1, R1) | 입력 → [thinking tokens] → 출력 | 수학/코딩/논리 강화 | 느림, 비용 높음 |
추론 모델의 상세한 작동 원리와 활용법은 추론 모델 (Reasoning Models) 페이지를 참고하세요.
양자화 (Quantization)
양자화는 모델의 가중치 정밀도를 낮추어 GPU 메모리 사용량과 추론 비용을 줄이는 기법입니다.양자화 수준별 비교
| 정밀도 | 비트 수 | 메모리 (70B 모델) | 정확도 영향 | 사용 사례 |
|---|---|---|---|---|
| FP32 | 32-bit | ~280GB | 기준 (100%) | 학습 시 사용 |
| FP16/BF16 | 16-bit | ~140GB | ~99.9% | 표준 추론 |
| INT8 | 8-bit | ~70GB | ~99.5% | 비용 효율 추론 |
| INT4 (GPTQ) | 4-bit | ~35GB | ~98% | 단일 GPU 추론 |
| INT4 (AWQ) | 4-bit | ~35GB | ~98.5% | GPTQ보다 활성화 기반 최적화 |
GPTQ vs AWQ
| 기법 | 원리 | 장점 | 단점 |
|---|---|---|---|
| GPTQ | 레이어별 최적 양자화 계수 계산 (Hessian 기반) | 높은 압축률, 빠른 추론 | 양자화 시간이 오래 걸림 |
| AWQ | 활성화(Activation) 분포 를 고려하여 중요한 가중치를 보호 | GPTQ보다 정확도 유지 우수 | 약간 더 복잡한 구현 |
참고 실무 가이드: 대부분의 프로덕션 환경에서는 INT8 양자화가 정확도-비용 균형의 최적점입니다. INT4는 데모, PoC, 또는 비용이 극도로 제한된 환경에서 사용합니다. Databricks Model Serving은 내부적으로 양자화 최적화를 자동 적용하므로, 직접 양자화할 필요 없이 Foundation Model API를 사용하면 됩니다.
< 이전: LLM 학습 과정 | 다음: Hallucination >