ChatGPT는 어떻게 답을 만드나
비유를 걷어내고, 실제 계산 과정을 순서대로
① LLM은 문장을 이해하는 게 아니라 다음 토큰의 확률 분포를 계산한다. 한 번에 한 토큰씩, 앞의 결과를 다시 입력으로 넣으며 반복한다.
② 이 계산의 핵심은 어텐션이다. 각 토큰이 앞의 어떤 토큰을 얼마나 참고할지 가중치를 매기는 연산인데, 입력 길이의 제곱에 비례해 비싸진다.
③ 모델에는 "내가 맞는지" 판단하는 별도 장치가 없다. 확률이 높은 문장과 사실인 문장을 구분하지 못한다는 점이 환각의 구조적 원인이다.
① 들어가며 — 왜 "이해한다"는 표현이 문제인가
AI를 설명하는 글은 대개 비유로 시작한다. "사람의 뇌를 흉내 냈다", "책을 많이 읽은 사람 같다" 같은 것들이다. 비유는 처음엔 편하지만, 곧 잘못된 기대를 만든다. 모델이 왜 계산에서 실수하는지, 왜 없는 논문을 그럴듯하게 지어내는지, 왜 긴 문서를 넣으면 요금이 급격히 오르는지 — 이런 질문들은 비유로는 답이 안 나온다.
이 글은 비유를 쓰지 않는다. 여러분이 프롬프트를 입력한 순간부터 화면에 글자가 하나씩 찍히기까지, 실제로 어떤 계산이 일어나는지를 순서대로 따라간다. 수식은 쓰지 않지만 구조는 정확하게 설명한다.
② 1단계: 토큰화 — 글자를 숫자로 쪼개기
모델은 글자를 다루지 못한다. 숫자만 다룬다. 그래서 가장 먼저 입력 문장을 토큰이라는 조각으로 쪼갠 뒤 각 조각에 번호를 붙인다.
토큰은 단어와 다르다. 자주 등장하는 덩어리는 통째로 한 토큰이 되고, 드문 표현은 여러 조각으로 나뉜다. 영어 "unbelievable"은 un + believ + able 세 토큰이 되는 식이다.
| 입력 | 대략적인 토큰 수 | 비고 |
|---|---|---|
| 영어 단어 1개 | 약 1개 | 학습 데이터에 가장 많이 등장 |
| 한국어 1글자 | 약 1~2개 | 조사·어미 변화가 많아 쪼개짐 |
| 숫자 "1,234,567" | 4~6개 | 자릿수별로 쪼개지는 경우가 많음 |
| A4 1장 (한글) | 약 1,500~2,500개 | 문서 요약 시 비용 추정의 기준 |
API 요금과 컨텍스트 한도는 모두 토큰 단위다. 같은 뜻의 문장이라도 한국어가 영어보다 토큰을 1.5~2배 쓰는 경우가 흔하다. 대량 처리를 한다면 영어로 넣고 결과만 한국어로 받는 편이 쌀 수 있다. 요금과 한도가 왜 이렇게 정해지는지는 토큰과 컨텍스트 윈도우에서 자세히 다뤘다.
③ 2단계: 임베딩 — 번호를 좌표로 바꾸기
토큰 번호 자체는 아무 의미가 없다. "사과"가 4823번이라는 사실에서 사과에 대해 알 수 있는 건 없다. 그래서 각 토큰 번호를 임베딩이라는 숫자 목록(벡터)으로 바꾼다. 수천 개 숫자로 이루어진 좌표라고 보면 된다.
이 좌표 공간의 성질이 중요하다. 학습을 거치면서 비슷한 맥락에서 쓰이는 토큰들이 가까운 좌표에 배치된다. "왕"과 "여왕", "서울"과 "도쿄"가 서로 가까워진다. 모델이 가진 "의미"란 이 좌표 배치가 전부다. 사전적 정의가 어딘가 저장돼 있는 게 아니다.
④ 3단계: 어텐션 — 이 구조의 핵심
여기가 트랜스포머의 심장이다. 문장에서 각 단어의 의미는 주변 단어에 따라 달라진다. "배가 아프다"의 배와 "배를 탔다"의 배는 같은 글자지만 완전히 다르다.
어텐션은 각 토큰이 문장 안의 다른 모든 토큰을 훑어보면서 "누구를 얼마나 참고할지" 가중치를 계산하는 연산이다. "배"라는 토큰은 "아프다"를 만나면 신체 쪽 좌표로, "탔다"를 만나면 선박 쪽 좌표로 자기 표현을 조정한다.
이 과정이 한 번으로 끝나지 않는다. 층(layer)을 수십~수백 개 쌓아서 반복한다. 아래층은 문법 같은 국소적 패턴을, 위층으로 갈수록 문장 전체의 논리 구조를 다룬다.
모든 토큰이 모든 토큰을 참조하므로, 토큰이 n개면 비교 횟수는 n×n이다. 입력을 2배로 늘리면 계산은 4배, 10배로 늘리면 100배가 된다. 긴 문서 처리가 유독 느리고 비싼 이유가 이것이다. 컨텍스트 한도가 무한하지 않은 이유이기도 하다.
⑤ 4단계: 다음 토큰 예측 — 실제 "생성"이 일어나는 곳
모든 층을 통과하면 모델은 마지막에 어휘 사전 전체에 대한 확률 분포 하나를 내놓는다. 어휘가 10만 개라면 10만 개 숫자가 나오고, 각각은 "다음 토큰이 이것일 확률"이다.
"오늘 날씨가 참"까지 입력했다면 결과는 대략 이런 모양이다.
| 후보 토큰 | 확률 |
|---|---|
| 좋 | 0.41 |
| 덥 | 0.22 |
| 춥 | 0.11 |
| 맑 | 0.08 |
| … 나머지 99,996개 | 합계 0.18 |
여기서 하나를 고른다. 항상 1등을 고르면 문장이 딱딱하고 반복적이 되므로, 보통은 확률에 비례해 무작위로 뽑는다. 이 무작위성의 세기를 조절하는 값이 temperature다. 낮추면 결과가 일관되고, 높이면 다양해진다.
그리고 고른 토큰을 입력 뒤에 붙여서 처음부터 다시 계산한다. 이 반복이 답변이 한 글자씩 찍히는 이유다. 모델은 문장 전체를 미리 구상하지 않는다. 매 순간 다음 한 조각만 고를 뿐이다.
· 왜 같은 질문에 매번 다르게 답하나? — 확률 분포에서 무작위로 뽑기 때문
· 왜 계산을 자꾸 틀리나? — 계산기를 돌리는 게 아니라 "계산 결과처럼 보이는 토큰"을 확률로 고르기 때문
· 왜 답이 길어질수록 이상해지나? — 앞에서 뽑은 토큰이 다시 입력이 되므로 초반의 작은 어긋남이 누적됨
· 왜 "생각해보자"라고 시키면 정답률이 오르나? — 중간 단계를 토큰으로 뱉게 하면 그 토큰들이 다시 입력이 되어, 다음 예측이 참고할 재료가 늘어남. 이 원리를 훈련으로 내장한 게 추론 모델이다
⑥ 학습은 언제 일어나나 — 사전학습과 추론의 분리
지금까지 설명한 건 전부 추론(inference)이다. 이미 만들어진 모델을 사용하는 단계다. 모델을 만드는 사전학습(pre-training)은 완전히 별개다.
사전학습에서는 방대한 텍스트를 놓고 "다음 토큰 맞히기" 문제를 수조 번 푼다. 틀릴 때마다 파라미터(임베딩과 어텐션 계산에 쓰이는 수천억 개 숫자)를 조금씩 고친다. 이 과정이 수개월, 수천억 원 규모의 GPU 연산을 잡아먹는다.
중요한 건 추론 중에는 파라미터가 전혀 바뀌지 않는다는 점이다. 대화에서 알려준 내용은 그 대화 안에서만 유효하고, 모델 자체는 학습되지 않는다.
사전학습 이후에도 파인튜닝·RLHF 두 단계가 더 붙는데, 모델의 말투와 거절 기준이 정해지는 곳이 바로 거기다. 제작 과정 전체는 AI는 어떻게 만들어지나에서 3단계로 나눠 다뤘다.
| 구분 | 사전학습 | 추론 |
|---|---|---|
| 시점 | 모델 출시 전, 1회성 | 사용자가 질문할 때마다 |
| 파라미터 | 계속 변경됨 | 전혀 변하지 않음 |
| 비용 | 수천억 원대 | 질문당 수 원 이하 |
| 필요 하드웨어 | GPU 수만 장 + 초고속 인터커넥트 | GPU 수 장 |
학습과 추론은 요구하는 하드웨어가 다르다. 학습은 GPU 간 데이터 전송이 병목이라 HBM 대역폭과 인터커넥트가 중요하고, 추론은 처리량과 전력 효율이 중요하다. AI 반도체 실적 발표에서 "학습용 수요"와 "추론용 수요"를 따로 언급하는 이유가 여기 있다. 관련해서는 반도체 섹터 심층 분석과 엔비디아·AMD·인텔 비교를 참고하면 좋다.
⑦ 그래서 환각은 왜 생기나
여기까지 따라왔다면 답이 이미 나와 있다. 모델은 확률이 높은 토큰을 고를 뿐, 그 결과가 사실인지 확인하는 단계가 파이프라인 어디에도 없다.
존재하지 않는 논문 제목을 물어보면, 모델은 "논문 제목처럼 생긴 토큰 배열"을 만든다. 그것이 실재하는지는 판단 대상이 아니다. 형식이 그럴듯할수록 확률이 높으니, 가장 그럴듯한 거짓말이 가장 잘 만들어진다는 역설이 생긴다.
모델이 "확신에 차 보이는" 것도 착시다. 문장의 어조는 학습 데이터의 문체를 따라간 결과일 뿐, 내부의 확률값과는 무관하다. 자세한 대응법은 AI 환각은 왜 생기나에서 다룬다.
① 입력을 토큰으로 쪼개 번호를 매긴다 → ② 번호를 좌표(임베딩)로 바꾼다 → ③ 어텐션으로 토큰들이 서로를 참조하며 좌표를 조정한다 → ④ 마지막에 "다음 토큰 확률표"를 만들고 하나를 뽑는다 → ⑤ 뽑은 토큰을 붙여 ①로 돌아간다. 이게 전부다. 이해도, 검증도, 의도도 이 루프 안에 없다.
이 좌표 공간의 트릭은 텍스트에만 국한되지 않는다. 이미지·음성을 같은 방식으로 좌표로 바꿔 같은 공간에 넣으면, 어텐션은 그 출신을 구분하지 않고 그대로 작동한다 — 그 원리는 멀티모달 AI에서 이어서 다뤘다.
※ 본 글은 2026년 7월 기준 공개된 트랜스포머 계열 언어모델의 일반적 구조를 설명합니다. 개별 상용 모델은 세부 구현이 다를 수 있으며, 특정 기업이나 제품에 대한 투자 권유가 아닙니다.
※ 본 가이드는 일반 교육 목적의 참고 자료이며, 이해를 돕기 위해 기술적 세부사항을 단순화했습니다.
새 가이드가 나오면 알려드립니다
AI 리터러시 가이드는 주 2회 발행합니다. 구독하시면 다음 편을 메일로 보내드립니다. 무료이고 언제든 해지할 수 있습니다.
