
당신은 ChatGPT를 수천 번 사용해 보았습니다.
요약
LLM이 프롬프트 입력부터 토큰 생성까지 수행하는 내부 파이프라인의 전 과정을 상세히 설명합니다. 토크나이징, 임베딩, 트랜스포머 블록, KV 캐시, 샘플링 전략 등 핵심 메커니즘을 다룹니다.
핵심 포인트
- LLM은 텍스트가 아닌 토큰 ID와 벡터를 통해 연산함
- KV 캐시는 메모리 사용량과 비용을 결정하는 핵심 병목 지점임
- 프리필(연산 제한)과 디코드(메모리 제한) 단계의 특성 차이 이해 필요
- 샘플링 전략과 추측적 디코딩이 출력 품질과 속도에 영향을 미침
당신은 ChatGPT를 수천 번 사용해 보았습니다.
하지만 "엔터"를 누른 순간부터 첫 단어가 나타날 때까지 어떤 일이 일어나는지는 여전히 설명하지 못합니다.
그 간극이 바로 대부분의 "AI 엔지니어"들이 API 호출 수준에 머물러 있는 이유이며, 파이프라인 (pipeline)을 이해하는 사람들이 3배 더 많은 보수를 받는 이유입니다.
LLM이 단 하나의 단어를 생성할 때 실제로 일어나는 일은 다음과 같습니다 👇
"중력이 뭐야?"라고 입력합니다.
-
토크나이저 (Tokenizer)
당신의 문장은 모델에게 텍스트가 아닙니다. 그것은 토큰 (tokens)으로 분해됩니다 → "grav", "ity" → 그 다음 [26110, 879]와 같은 ID로 매핑됩니다. 모델은 단어를 절대 보지 않습니다. 숫자를 봅니다. -
임베딩 (Embeddings)
각 토큰 ID는 4096차원의 벡터 (vector)가 됩니다. 여기서 "의미"가 살기 시작합니다 — 단어가 기하학 (geometry)이 됩니다. -
트랜스포머 블록 (Transformer Blocks) (GPT-4급 모델의 경우 ×96)
이것이 엔진입니다. 두 부분으로 구성됩니다:
→ 셀프 어텐션 (Self-Attention) (Q, K, V): 모든 토큰이 문맥을 파악하기 위해 다른 모든 토큰을 살펴봅니다. "그것"이 무엇을 가리키는지 알게 됩니다.
→ 피드포워드 네트워크 (Feed-Forward Network): 실제 "사고"와 저장된 지식이 대부분 존재하는 곳입니다.
이 과정을 96번 반복합니다. 그것이 깊이 (depth)입니다. -
아무도 말하지 않는 부분 → KV 캐시 (KV Cache)
이것이 당신의 전체 인프라 비용을 결정하는 병목 현상 (bottleneck)입니다.
모델은 두 단계로 실행됩니다:
• 프리필 (Prefill) — 프롬프트 전체를 병렬로 처리합니다 (연산 제한적, compute-bound)
• 디코드 (Decode) — 한 번에 하나의 토큰을 생성합니다 (메모리 제한적, memory-bound)
토큰마다 모든 것을 다시 계산하는 것을 피하기 위해, 이전의 Key/Value 쌍을 캐싱합니다. 하지만 그 캐시는 시퀀스 길이 (sequence length)에 따라 선형적으로 증가합니다. 긴 컨텍스트 (Long context) = 폭발적인 메모리 사용. 이것이 당신의 토큰 비용이 그만큼 발생하는 이유입니다.
-
선형 + 소프트맥스 (Linear + Softmax) (LM Head)
최종 벡터는 128K 단어 어휘 (vocabulary)에 투영되어 확률로 변환됩니다. 이제 모델은 다음 토큰에 대한 순위가 매겨진 추측을 갖게 됩니다. -
샘플링 전략 (Sampling Strategy)
이것이 "개성"이 나오는 곳입니다:
→ 그리디 (Greedy): 항상 최상위 토큰을 선택합니다 (지루하고 결정론적임)
→ Top-K / Top-P: 가능성이 높은 후보들 중에서 샘플링합니다
→ 온도 (Temperature): 낮으면 사실적이고, 높으면 창의적입니다
같은 모델이라도, 이 조절 장치 하나만으로 완전히 다른 출력이 나옵니다. -
Speculative Decoding (추측적 디코딩 (the speed trick))
작은 초안 모델 (draft model)이 4개의 토큰을 미리 예측하면, 큰 모델이 이를 병렬로 검증합니다. 괜찮은 토큰은 수락하고 나머지는 거부합니다. 이것이 더 큰 GPU 없이도 빠른 응답을 얻는 방법입니다. -
Detokenizer (디토크나이저)
숫자 → 다시 읽을 수 있는 텍스트로 변환합니다. -
Streaming Output (스트리밍 출력)
토큰이 하나씩 나타납니다. 그 "타이핑" 효과는 UI 애니메이션이 아닙니다. 모델이 말 그대로 한 번에 하나의 토큰씩 생각하고 있는 것입니다.
여기 불편한 진실이 있습니다:
2026년에 실제 AI 제품을 출시하는 사람들은 면접을 위해 이 내용을 암기하지 않습니다.
그들은 이 모든 단계가 비용, 지연 시간 (latency), 품질, 그리고 규모 (scale)를 조절하는 레버 (lever)라는 것을 이해하고 있기 때문에 이를 알고 있는 것입니다.
파이프라인을 놓친다면, 당신의 앱이 왜 느린지, 왜 비싼지, 혹은 왜 환각 (hallucination)을 일으키는지 영원히 추측만 하게 될 것입니다.
이를 이해한다면, 당신은 단순히 모델을 호출하는 사람에서 모델을 설계하는 (engineers) 사람으로 거듭나게 됩니다.
이 지식이 희귀했던 시대의 창문은 빠르게 닫히고 있습니다.
[IMG:1]
AI 자동 생성 콘텐츠
본 콘텐츠는 X @nainsidwiv50980 (자동 발견)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기