토큰에서
다음 토큰까지

LLM이 다음 단어 하나를 고르기까지

2026. 10 · AI 리터러시 스터디 · 칼리즈

오늘의 순서 · 약 70분

역사토큰임베딩Attention과 MLP토큰 예측시연·꿀팁질의 5분10분11분14분8분9분10분

개념 넷에 43분. 쉬운 설명 다음에 심화를 바로 붙인다

LLM이 하는 일을 한 문장으로 줄이면

다음에 올 토큰 하나를 맞힌다

오늘␣점심은␣김치 찌개를

1부 · 5분

다음 글자 맞히기의 70년

질문은 그대로였고, 푸는 방법이 바뀌었다

이해시키기 대신 맞히기로

1950 · 앨런 튜링

"기계는 생각할 수 있는가?"

대화로 사람과 구별이 안 되면 생각한다고 보자. 목표는 이해

클로드 섀넌
클로드 섀넌

1951 · 클로드 섀넌

"다음 글자는 무엇인가?"

LANGUAG?

앞 글자만 보고 다음 글자를 맞히게 했다. 멀리 볼수록 잘 맞힌다. 목표는 맞히기

이 맞히기를 기계가 직접 세서 하기 시작한 게 n-gram

Turing, Mind 1950 · Shannon, BSTJ 1951 · Claude라는 이름도 섀넌을 기리는 것으로 알려짐(뉴욕타임스 보도)

1980~2000년대 · 세어서 맞히기 (n-gram)

"오늘 점심은 ___"

김치찌개
40%
짜장면
25%
국밥
20%
샐러드
15%
1한 번도 센 적 없는 조합은 확률 0
2앞 두세 단어 밖은 보지 못한다

비율은 설명용 예시

1997~2014 · 신경망이 들어오다

1997LSTM긴 기억을 가진 RNN 2003신경망 언어모델벤지오 · 단어를 벡터로 2013Word2Vec대규모 임베딩 2014Seq2Seq문장을 벡터 1개로 압축 2014Attention원문을 다시 본다 벡터 하나 병목을 풀려고

2017 · 트랜스포머, 순서대로에서 한꺼번에로

이전 RNN · 한 칸씩 순서대로 나는시장에서배를샀다 트랜스포머 · 모두가 모두를 한꺼번에 나는시장에서배를샀다 단어 수만큼 차례로 기다린다 앞부분은 점점 흐려진다 한 번에 계산하니 GPU로 병렬 처리 · Attention Is All You Need

2018~2024 · 더 크게, 더 길게

파라미터 · 2년

1,500배

GPT-1 1.17억 (2018.06) → GPT-3 1,750억 (2020.05)

컨텍스트 윈도우 · 4년

500배

GPT-3 2,048토큰 (2020) → Gemini 1.5 Pro 100만 토큰 (2024)

구조는 거의 그대로, 크기와 길이를 키웠다

2022~2025 · 대화형, 그리고 추론 모델

2022.11ChatGPT두 달 만에 사용자 1억 명 2024.09o1 · 추론 모델답하기 전에 생각 토큰을 길게 쓴다 2025.01DeepSeek-R16,710억 · 공개 가중치 추론 모델 추론 모델도 원리는 같다. 생각 과정을 토큰으로 더 길게 예측할 뿐

70년이 네 개념으로 모인다

개념처음 등장오늘의 질문
토큰2016 BPE무엇을 단위로 읽나
임베딩2003 · 2013뜻을 숫자로 어떻게 담나
Attention과 MLP2014 · 2017컨텍스트를 어떻게 반영하고 정리하나
토큰 예측1951다음 토큰은 어떻게 고르나

2부 · 10분

토큰

AI는 글자가 아니라 토큰을 읽는다

문장은 토큰으로 잘린다

"오늘 점심은 김치"

오늘␣점심은␣김치

8글자 → 6개 토큰. 띄어쓰기(␣)도 다음 토큰에 붙는다

o200k_base (GPT-4o · GPT-5 계열) 실측

토큰은 번호로 바뀐다

토큰오늘␣점심은␣김치
번호149830547882579847404771313426

모델이 받는 건 이 번호 목록. 요금 · 길이 제한 · 출력 한도도 모두 토큰 수

BPE는 압축 알고리즘에서 왔다

Byte Pair Encoding · 1994 · 가장 자주 붙는 두 글자를 새 기호 하나로 바꾼다

11글자
aaabdaaabac
9글자
ZabdZabac
aa가 제일 많다 → Z
7글자
ZYdZYac
ab가 제일 많다 → Y
5글자
XdXac
ZY → X

토크나이저는 이 방법을 토큰 사전 만들기에 빌려 왔다

Gage, A New Algorithm for Data Compression, 1994 · 예시는 Wikipedia "Byte pair encoding"

BPE 학습: 쌍을 세고, 1등을 합친다

말뭉치 · low ×5 · lower ×2 · newest ×6 · widest ×3

① 붙어 나오는 쌍 세기

e s
9
s t
9
w e
8
l o
7
o w
7
n e
6

1등 e s를 합치고, 다시 센다

② 합친 순서 = 머지 규칙

1e s→es
2es t→est
3l o→lo
4lo w→low
5n e→ne
6ne w→new
7new est→newest

… 정한 사전 크기가 될 때까지

이 규칙 목록이 곧 토크나이저다. GPT-2는 이걸 5만 번 반복했다

Sennrich et al., 2016 예시를 단순화 · 동점이면 먼저 나온 쌍부터

BPE 사용: 처음 보는 단어도 규칙 순서대로

말뭉치에 없던 단어 lowest를 자르면

시작
lowest
규칙 1
lowest
e s → es
규칙 2
lowest
es t → est
규칙 3
lowest
l o → lo
규칙 4
lowest
lo w → low · 2토큰 완성

규칙 5~7은 맞는 쌍이 없어서 그대로 넘어간다

본 적 없는 단어도 아는 토큰으로 자른다. 끝까지 못 합치면 글자로 남는다

실제 구현은 규칙 순위가 가장 높은 쌍부터 반복해서 합친다

심화 · 바이트 단위 BPE

256바이트 기본 토큰
+
50,000학습한 머지 규칙
+
1<|endoftext|>
=
50,257GPT-2 사전
"볶"→EBB3B6UTF-8 3바이트 → o200k에서 2토큰

어떤 글자든 바이트로 쪼갤 수 있어 '모르는 단어'가 없다

심화 · 먼저 정규식으로 자른 뒤 머지한다

단어 · 숫자 · 공백 단위로 먼저 나누고, 그 칸 안에서만 BPE 머지

토크나이저숫자 규칙1234567890
GPT-2?\p{N}+ (통째로)123 45 678 90
cl100k · o200k\p{N}{1,3} (3자리씩)123 456 789 0

GPT-2는 머지 운에 따라 제멋대로, 최신 사전은 3자리씩 규칙대로

js-tiktoken 1.0.21 사전 파일의 pat_str, 2026.10.09 확인

심화 · 사전 크기의 맞교환

사전크기임베딩 테이블 (×768)한국어 예문 토큰 수
gpt250,2573,860만59
cl100k100,2777,700만31
o200k200,0191억 5,360만20

사전이 크면 토큰 수는 줄고, 임베딩 테이블과 출력 레이어는 커진다

GPT-2 small에서 임베딩 테이블만 전체 1.24억 중 31%. 예문: "토큰 사용량을 줄이려고 에이전트 루프를 다시 짰다."

같은 뜻, 한국어는 토큰이 더 많다

o200k 토큰 수 · 회색 영어, 파랑 한국어

에이전트 문장
12
20
예측 문장
6
12
1한글은 글자당 3바이트
2사전 학습 데이터에 한국어가 적다
=최신 모델 평균 약 1.6배

js-tiktoken 실측 2026.10.08 · 평균은 FLORES-200 기준 최신 모델 8개, 디지털데일리 2026.10.09

토큰 때문에 생기는 함정

글자 세기

strawberry

"r이 몇 개?"를 자주 틀린다

숫자

1234567890

자릿수와 경계가 어긋난다

공백

␣사용␣다시

띄어쓰기가 토큰 수를 바꾼다

글자 수 제한 · 숫자 검증은 프롬프트 말고 코드로

한국어 토큰, 어떻게 줄여 왔나

영어를 1로 볼 때 한국어 토큰 수 · 최신 모델 8개 영어 1.00 1.27 평균 1.61배 1.99 같은 한국어도 모델에 따라 최대 1.5배 차이

2020~21

형태소 분석기 + BPE

형태소로 먼저 자르고 그 안에서 BPE. 대부분 과제에서 가장 좋았다

HyperCLOVA · KLUE · 카카오브레인 연구

2024~ 지금 주류

바이트 BPE + 한국어 토큰 추가

보캡에 한국어 토큰을 더 넣고, 자주 붙는 단어는 한 토큰으로(SuperBPE)

K-EXAONE 보캡 15만 · 효율 약 30%↑
Llama 3.1 + 한국어 7.2만 → 토큰 거의 절반

2026

형태소 기반 재조명

형태소 기준으로 서브워드를 고르니 입력당 토큰 수가 크게 줄었다

EACL 2026 "Morpheme Matters"

한국어 서비스라면 모델을 고를 때 같은 문장의 토큰 수도 비교하자

FLORES-200 200문장 · AIScroll 측정, 디지털데일리 2026.10.09 · 국산 모델들도 30% 안팎 개선 발표(Kanana-2, A.X 4.0 등, 회사 발표 기준)

코드 · 토큰을 직접 세어 보기

Ctrl+Enter로도 실행
실행을 누르면 결과가 여기에 나옵니다

문장을 바꿔서 다시 실행해 보세요. 영어와 한국어를 비교하면 차이가 바로 보입니다

브라우저 안에서 실제 파이썬(Pyodide 0.27) 실행 · 처음 한 번은 인터넷(cdn.jsdelivr.net)에서 불러옴

3부 · 11분

임베딩

토큰 번호를 의미의 좌표로

임베딩은 테이블에서 한 줄 꺼내기

임베딩 테이블 · 50,257줄 × 768칸 13424 13425 13426 (치) 13427 13428 · · · · · · 0.12 −0.81 0.33 0.07 −0.45 0.29 · · · 벡터 [768]

번호로 줄을 찾아 숫자 768개를 꺼낸다. 값은 사람이 아니라 학습이 정한다

벡터 값은 설명용 예시

토큰 하나가 줄 하나, 문장은 테이블이 된다

토큰 하나 치 [768] 쌓으면 문장 하나 · 토큰 T개 오늘점심은김치 [T, 768]T = 토큰 수 겹치면 문장 B개 · 한 배치 [B, T, 768]B = 한 번에 넣는 문장 수

GPU는 이 배치를 한꺼번에 계산한다. 그래서 문장을 모아서 넣는다

토큰 나눔과 값은 설명용 예시

왜 '벡터'라고 부를까

차원 1 차원 2 [0.8, 0.3] [0.6, 0.7] 거리 각도
거리얼마나 가까운가
비슷한 뜻은 가까이 모인다
각도방향이 얼마나 같은가
코사인 유사도
더하기·빼기관계를 옮긴다
왕 − 남자 + 여자

숫자 묶음이 아니라 뜻 공간의 좌표라서, 뜻을 계산할 수 있다

실제는 768차원, 그림은 2차원 · 여기서 좌표는 뜻의 자리이고, 몇 번째 토큰인지 나타내는 포지션 임베딩과는 다르다

뜻이 비슷하면 가까이 놓인다

사과 포도 딸기 자동차 기차 선박 주식 채권 예금 배 과일 탈것 금융 ← 과일과 탈것 사이 어중간한 곳

실제는 수천 차원. 2차원으로 그린 설명용 배치

왕 − 남자 + 여자 ≈ 여왕, 그런데 1등은 왕

남자여자왕여왕 남자 → 여자 방향왕 → 여왕도 같은 방향
계산 결과와 가까운 순단어
1등king
2등queen

입력한 단어를 후보에서 빼고 고르기 때문에 queen이 답이 된다. 의미 관계는 담기지만 단어 산수는 단순화된 설명

Word2Vec · University of Edinburgh 2019 · eScience Center

가까움을 재는 법: 코사인 유사도

θ 질문 벡터문서 벡터

cos θ = a·b / (|a| |b|)

1같은 방향
0상관없음
−1반대 방향

RAG는 이 값으로 질문과 가까운 문서를 찾는다 (자세히는 다음 스터디)

처음 임베딩의 두 가지 한계

1 · 컨텍스트를 모른다

시장에서 배를 샀다 항구에서 배를 탔다 같은 점

2 · 순서를 모른다

개가 사람을 물었다
사람이 개를 물었다

토큰만 보면 거의 같은 묶음. 그래서 포지션 정보를 더한다

포지션 번호도 벡터로 만들어 더한다

단어 벡터 (같음)포지션 벡터더한 결과 = 입력 개가 사람을 물었다 '개'는 포지션 0 + = 사람이 개를 물었다 '개'는 포지션 2 + = ≠

같은 '개'라도 포지션이 다르면 다른 입력이 된다. 모델은 이 차이로 순서를 안다

값은 설명용 예시 · 포지션 번호는 0부터 세고, 실제로는 토큰 단위

포지션 번호를 벡터로 바꾸는 법: 시계 바늘

사인파 · 2017

포지션 0 포지션 1 포지션 2 포지션 3

빠른 바늘과 느린 바늘의 각도 조합이 포지션마다 다르다.
그 sin·cos 값을 포지션 벡터로 써서 더한다

RoPE · 2021

포지션 0 '배' · 포지션 2 '사과' · 포지션 5 3칸

값을 더하는 대신 벡터를 포지션만큼 돌린다.
두 단어의 각도 차이가 곧 서로의 거리

핵심은 하나. 포지션마다 겹치지 않는 무늬를 만들어 넣는다

실제 사인파는 수백 쌍의 바늘(주파수)을 쓴다 · RoPE는 Attention의 Q·K를 돌린다 · 각도는 설명용

포지션을 넣는 세 가지 방법, 한 장으로

방법어떻게특징쓰는 모델
사인파 · 2017시계 바늘 값을 더한다학습이 필요 없다원조 트랜스포머
학습형 테이블 · 2018~포지션마다 한 줄씩 학습최대 길이 고정 (GPT-2는 1,024)GPT-2, BERT
RoPE · 2021벡터를 포지션만큼 돌린다상대 거리가 바로 담긴다Llama 등 최신 모델 다수

더하기에서 돌리기로. 요즘 모델은 대부분 RoPE

Vaswani 2017 · Radford 2019 · Devlin 2018 · Su et al., RoFormer 2021

숫자로 따라가기 ① 번호가 벡터가 된다

idx · [2, 3] · 정수 6개 포지션 0포지션 1포지션 2문장 12841901213426문장 290125521771 테이블에서 줄 꺼내기 tok · [2, 3, 768] 284190121342690125521771문장 1 · [3, 768]문장 2 · [3, 768] 2 × 3 × 768 = 숫자 4,608개

같은 번호 9012는 똑같은 줄이 나온다. 아직은 포지션도 컨텍스트도 모른다

B = 2 (문장 수), T = 3 (토큰 수) · 번호와 값은 설명용 예시

숫자로 따라가기 ② 포지션 벡터를 똑같이 더한다

tok [2, 3, 768] pos [3, 768] x [2, 3, 768] ++== 2841 포지션 0 9012 포지션 1 13426 포지션 2 9012 포지션 0 5521 포지션 1 771 포지션 2 두 문장에 똑같이 더함 9012 두 개가 이제 다르다

이 x가 블록에 들어가는 입력. 모양은 그대로 [2, 3, 768]

값은 설명용 예시 · GPT-2의 학습형 포지션 테이블 기준

심화 · 코드로 보면 다섯 줄

idx = torch.tensor([[2841, 9012, 13426],
                    [9012, 5521,   771]])  # [2, 3]       B=2, T=3
tok = wte(idx)                             # [2, 3, 768]  테이블에서 줄 꺼내기 ①
pos = wpe(torch.arange(3))                 # [3, 768]     포지션 0·1·2
x   = tok + pos                            # [2, 3, 768]  두 문장에 똑같이 더함 ②
for block in blocks: x = block(x)          # [2, 3, 768]  12번 지나도 모양 그대로

wte = 단어 테이블 [50,257 × 768], wpe = 포지션 테이블 [1,024 × 768]. 블록 안에서 일어나는 일은 Attention 파트에서

GPT-2 코드의 변수 이름 그대로 · 블록 수 12는 GPT-2 small 기준

심화 · 입력 테이블을 출력에도 다시 쓴다

입력 번호행 하나 꺼내기 E[50,257 × 768] 하나 출력 로짓h × Eᵀ 처음: 번호 → 벡터 마지막: 벡터 → 모든 번호의 스코어

GPT-2는 같은 테이블을 양 끝에서 쓴다. 3,860만 개를 한 번만 저장

Radford et al., GPT-2, 2019 (weight tying)

4부 · 14분

Attention과 MLP

옆을 보고 뜻을 고치고, 혼자 정리한다

옆 단어를 보고 뜻을 고친다

나는시장에서배를사서먹었다 많이 본다 조금 본다

'시장에서'와 '먹었다'를 보고 → 배는 과일 쪽으로

Query · Key · Value

역할도서관에 비유하면
Query내가 찾는 것검색어
Key각 토큰이 내건 목차책 목차
Value뽑히면 건네줄 내용책 내용

하나만 고르지 않고, 맞는 정도대로 모든 책 내용을 섞는다

심화 · Q·K·V를 만들고 12헤드로 나눈다

x[T, 768] × W_Q× W_K× W_V Q [T, 768] K [T, 768] V [T, 768] 64칸씩 자르기 헤드 12개 × [T, 64] · 768 = 12 × 64 K와 V도 똑같이 12개로 헤드마다 따로 Attention을 계산한다

Attention은 수식 한 줄

softmax( Q·Kᵀ / √d ) · V

Q·Kᵀ = [T, T] 스코어 테이블 행: 보는 토큰열: 보이는 토큰진할수록 많이 본다회색 칸은 뒤에 오는 토큰 (가림)
1Q·Kᵀ로 모든 쌍의 스코어
2√d로 나누고 뒤에 오는 토큰들은 가림
3softmax로 줄마다 합 1
4그 비율대로 V를 섞음

숫자로 따라가기: '배를'이 보는 곳

앞 토큰Q·K 스코어÷ √2softmax비율
나는0.250.1818.7%
시장에서1.601.1348.5%
배를1.050.7432.9%

'시장에서'의 몫이 가장 커서 '배를'이 과일 쪽으로 움직인다

2차원짜리 설명용 예시 값

왜 √d로 나눌까

스코어 [8, 4, 2] 그대로

A
98.0%
B
1.8%
C
0.2%

한쪽에 몰려 학습 신호(기울기)가 거의 0

√64 = 8로 나눈 [1, 0.5, 0.25]

A
48.1%
B
29.2%
C
22.7%

고르게 퍼져 여러 토큰에서 함께 배운다

차원 d가 크면 내적의 분산도 d배. √d로 나눠 1로 맞춘다

마스킹: 뒤에 오는 토큰들은 가린다

나는시장에서배를 나는시장에서배를 −∞−∞−∞−∞−∞−∞

다음 토큰을 맞히는 모델이 정답(뒤 토큰)을 미리 보면 안 된다

뒤에 오는 토큰들의 스코어를 −∞로 → softmax 후 0. 덕분에 한 문장의 모든 포지션을 한 번에 학습한다

코드 · 마스크드 Attention

Ctrl+Enter로도 실행
실행을 누르면 결과가 여기에 나옵니다

T나 시드를 바꿔 보세요. 위쪽 삼각형은 늘 0, 줄마다 합은 1

브라우저 안에서 실제 파이썬(Pyodide 0.27) 실행 · 처음 한 번은 인터넷(cdn.jsdelivr.net)에서 불러옴

멀티헤드: 여러 관점을 동시에

헤드 12개 · 각자 [T, 64] 문법 관계가리키는 대상 이어 붙이고 × W_O[T, 768] 헤드 수 · 원 논문 8 · GPT-2 small 12 · GPT-3 96

헤드마다 무엇을 볼지 학습으로 정해진다. 라벨은 연구에서 관찰된 예

블록 안의 두 단계: 주고받고, 혼자 정리한다

Attention · 토큰끼리

나는시장에서배를

옆 토큰의 정보를 모아 와서 뜻을 고친다

MLP · 토큰마다 따로

나는시장에서배를 768 → 3,072로 넓혔다가 → 768로

모아 온 정보를 각자 가공한다. 토큰끼리는 섞지 않는다

회의로 치면 Attention은 의견 듣기, MLP는 자리로 돌아가 정리하기

MLP = 행렬 곱 두 번 사이에 GELU · Multi-Layer Perceptron

MLP는 무엇을 계산하나: 넓히고, 거르고, 줄인다

[768]토큰 벡터 × W₁[768 × 3,072] [3,072] ① 넓히기 · 4배 GELU [3,072] ② 거르기 · 음수는 거의 0 × W₂[3,072 × 768] [768]③ 원래 크기로 토큰마다 따로 토큰끼리 섞지 않음 블록당 472만 개 블록 파라미터의 2/3

Attention이 모아 온 정보를 넓게 펼쳐 거른 뒤 다시 접는다

GPT-2 small 기준 · W₁ 236만 + W₂ 236만 · GELU(x) = x × Φ(x), 음수는 0 가까이, 양수는 거의 그대로

MLP는 지식 창고로 본다

입력에펠탑이 있는 도시는→ 다음 토큰은?
W₁ · 감지기 3,072개 W₂ · 켜지면 더할 정보 '에펠탑' 패턴'도쿄' 패턴'요리' 패턴'숫자' 패턴 '파리' · '프랑스' 쪽'일본' 쪽'음식' 쪽'수량' 쪽 … 3,072개 켜짐 다음 토큰'파리' 확률 ↑

사실 지식이 여기 많이 담긴다고 본다. 약하게 담긴 걸 물으면 그럴듯한 오답(환각)이 나오기 쉽다

Geva et al., 2021 (FFN = key-value memory) · Meng et al., 2022 (ROME) · 연구에서 나온 해석이며 감지기 이름은 설명용

심화 · 트랜스포머 블록 한 개

x 레이어 정규화 Attention + 레이어 정규화 MLP768 → 3,072 → 768 · GELU + 출력 레지듀얼 커넥션: 입력을 그대로 더함 레지듀얼 커넥션 GPT-2는 레이어 정규화(LayerNorm)를 각 단계 앞에 둔다(pre-norm)

같은 블록을 수십 레이어 쌓는다

GPT-2 smallGPT-3Llama 2 70B
블록 수129680
헤드 수129664
토큰당 차원76812,2888,192
파라미터1.24억1,750억약 700억

뼈대는 같고 블록 수 · 폭 · 헤드 수만 다르다. 그래서 파라미터가 1,000배 넘게 차이 난다

Radford 2019 · Brown 2020 Table 2.1 · Llama-2-70B config.json

심화 · 1.24억 파라미터는 어디에 있나

GPT-2 small · 124,439,808개 토큰 임베딩 31% Attention 23% MLP 46% 3,860만2,835만 (블록당 236만)5,667만 (블록당 472만) 포지션 임베딩 79만(0.6%), 레이어 정규화 4만은 너무 작아 생략

블록 안에서는 MLP가 Attention의 2배. 지식은 MLP에 많이 담긴다는 해석이 있다

설정값(50,257 · 1,024 · 768 · 12레이어)으로 직접 계산

길이가 2배면 Attention 계산은 4배

1천 토큰
1
2천 토큰
4
4천 토큰
16
8천 토큰
64

스코어 테이블이 [T, T]라서 길이의 제곱으로 커진다

상대 계산량, T² 기준

심화 · KV 캐시는 얼마나 클까

2 × 레이어 × KV헤드 × 헤드차원 × 토큰 × 2바이트

생성할 때 앞 토큰의 K·V를 저장해 다시 계산하지 않는다. 대신 메모리를 쓴다

GPT-2 small · 1,024토큰
38MB
Llama 2 70B · 4,096 · GQA
1.3GB
같은 모델 · GQA 없이
10.7GB

fp16, 요청 1건 기준. Llama 2 70B: 80레이어, KV 헤드 8, 헤드 차원 128 (config.json)

심화 · 메모리를 줄이는 최신 기법

멀티헤드GQA (2023)MQA QK·VQK·VQK·V K·V 8개 · 품질 좋음, 메모리 큼 Q 몇 개가 K·V 하나를 나눠 씀 K·V 1개 · 빠르지만 품질 손해

FlashAttention (2022): 결과는 같고 GPU 메모리 왕복만 줄여 GPT-2 1K 기준 약 3배 빠름

Ainslie et al., GQA 2023 · Dao et al., FlashAttention 2022. Llama 2 70B는 Q 64 : KV 8

5부 · 8분

토큰 예측

결국 다음 토큰 하나 고르기

답변은 한 토큰씩 만들어진다

마지막 벡터[768] 로짓사전 크기만큼 스코어 softmax합이 1인 확률 하나 뽑기템퍼러처 · top-p 문장 끝에붙이고 다시 새 토큰까지 넣고 처음부터 다시 계산 (KV 캐시로 앞부분은 재사용)

입력은 한꺼번에 읽지만 출력은 하나씩. 그래서 출력이 더 느리고 비싸다

심화 · 로짓은 행렬 곱 한 번

h[768] × Eᵀ[768 × 50,257] · 입력 임베딩 테이블을 뒤집어 재사용 = 로짓 [50,257] 모든 토큰마다 스코어 하나

마지막 벡터와 각 토큰 임베딩의 내적이 곧 스코어. 비슷한 방향일수록 높다

"오늘 점심은 김치 ___"

찌
54.2%
전
19.9%
국
9.9%
만
6.6%
와
3.6%
오늘 점심은 김치찌

"찌개"는 '찌'와 '개' 두 토큰. 확률은 설명용 예시 값

심화 · 템퍼러처는 로짓을 나누는 숫자

pᵢ = exp(zᵢ / T) / Σ exp(zⱼ / T)

템퍼러처 1.0

찌
54.2%
전
19.9%
국
9.9%

템퍼러처 0.5

찌
83.9%
전
11.4%
국
2.8%

T가 작으면 격차가 커져 1등으로 쏠리고, T → 0이면 항상 1등(greedy)

설명용 예시 값

심화 · top-k와 top-p, 직접 조절해 보기

top-k 상위 3개만

top-p 누적 80%까지

"오늘 점심은 김치 ___" 확률은 설명용 예시 · 파란 막대가 남는 후보, 오른쪽 작은 숫자는 남은 후보끼리 다시 나눈 확률 · Holtzman et al., 2019

코드 · 템퍼러처와 top-p로 1,000번 뽑기

Ctrl+Enter로도 실행
실행을 누르면 결과가 여기에 나옵니다

T를 0.3이나 1.5로, top_p를 0.5로 바꿔 다시 실행해 보세요

브라우저 안에서 실제 파이썬(Pyodide 0.27) 실행 · 처음 한 번은 인터넷(cdn.jsdelivr.net)에서 불러옴

학습은 정답 확률을 올리는 일

입력오늘 점심은 김치실제 다음 토큰(정답)찌

학습 초반

찌
10%
전
28%
국
22%
만
15%
와
9%

정답 '찌'에 10% → 벌점 2.3

벌점이 줄도록
숫자를 조금씩 고친다

역전파 · 경사하강법
수없이 반복

반복한 뒤

찌
54.2%
전
19.9%
국
9.9%
만
6.6%
와
3.6%

정답 '찌'에 54% → 벌점 0.61

정답을 낮게 볼수록 벌점이 크고, 학습은 그 벌점을 줄이는 반복이다

확률은 설명용 예시 · 벌점(로스) = −log p(정답)

심화 · 벌점은 −log p로 매긴다

0%100% x축 · 모델이 정답 토큰에 준 확률 p y축 · 벌점(로스) = −log p 10% → 벌점 2.3 54% → 벌점 0.61 100% → 0
1정답 확률이 낮을수록 벌점이 가파르게 커진다
2모든 포지션의 벌점 평균을 줄이도록 숫자를 고친다. 마스킹 덕분에 한 번에 채점
3이 벌점이 교차 엔트로피. exp(로스) = 퍼플렉서티, 0.61이면 약 1.8 "평균 1.8개 후보 사이에서 고민"

심화 · 학습 계산량 ≈ 6 × 파라미터 × 토큰

GPT-3 (2020)

6 × 1,750억 × 3,000억 토큰

3.15 × 10²³

FLOPs. 논문 보고값 3.14 × 10²³와 일치

Chinchilla 법칙 (2022)

파라미터 700억 학습 토큰 1.4조 · 파라미터의 약 20배

같은 예산이면 모델을 키우는 만큼 데이터도 함께 늘려야 한다

Kaplan et al. 2020 · Brown et al. 2020 · Hoffmann et al. 2022 · Epoch AI

학습은 세 단계, 끝까지 다음 토큰 예측

사전학습다음 토큰 맞히기 수조 번
→
지시 학습좋은 답변 예시로
→
RLHF사람의 선호 평가로 (2022)
→
추론 학습생각 토큰을 길게 (2024~)

대화형도, 추론 모델도 답을 만드는 방식은 다음 토큰 예측

Ouyang et al., InstructGPT 2022 · OpenAI o1 2024 · DeepSeek-R1 2025

그래서 생기는 한계와 대응

한계원리상 이유대응
그럴듯한 오답사실 조회 없이 확률로 고름근거 문서 함께 주기
매번 다른 답샘플링템퍼러처 낮추기, 출력 검증
초반 오류가 번짐뽑은 토큰이 다음 입력출처 요구, 단계별 확인
느리고 비싼 출력한 토큰씩 순서대로출력 길이 제한

한계가 원리에서 나오니, 대응도 원리에서 나온다

시연 · 꿀팁 · 10분

보고, 바로 써먹기

익스플레이너 5분, 오늘 개념으로 뽑은 꿀팁 5분

시연 · 트랜스포머 익스플레이너 한국어판

1예문 고르기
2Q·K·V와 어텐션 블록 펼쳐 보기
3템퍼러처 · top-k로 다음 토큰 바꾸기

숫자는 설명용 예시, 흐름을 보는 용도 · 원작 Polo Club (MIT)

꿀팁 1 · 토큰을 알면

1

비용과 길이는 토큰으로 센다

영어
12
한국어
20

같은 뜻도 한국어가 평균 60% 더. 긴 고정 지시문은 토큰 수부터 재 보기

2

글자 세기 · 숫자 계산은 코드에 맡긴다

strawberry·123456789

모델은 토큰 안의 글자를 못 본다. "몇 글자로", "합계 검산"은 코드 실행이나 도구 사용을 요청

꿀팁 2 · Attention을 알면

앞가운데끝 가운데는 놓치기 쉬움활용도

3 중요한 건 맨 앞이나 맨 끝에

긴 컨텍스트의 가운데 정보는 덜 활용된다 (Lost in the Middle)

고정: 지시 · 문서바뀌는 질문 앞부분이 같으면 KV 캐시 재사용

4 고정은 앞에, 바뀌는 건 뒤에

OpenAI · Anthropic 모두 캐시 읽기는 입력가의 0.1배

대화가 길어질수록 계산 · 비용 증가

5 주제가 바뀌면 새 대화로

길이의 제곱 비용과 가운데 손실을 함께 피한다

Liu et al., Lost in the Middle, 2023 · OpenAI · Anthropic 프롬프트 캐싱 문서 (2026.10 확인)

꿀팁 3 · 토큰 예측을 알면

6정확하게는 템퍼러처 낮게, 아이디어는 높게. 템퍼러처와 top_p는 하나만 바꾼다
7단계별로 생각하게 하거나 추론 모델을 쓴다. 생각도 토큰, 길게 쓸수록 정확해진다
8원하는 형식의 예시를 먼저 보여 준다. 모델은 앞을 이어 쓴다
9근거를 주고 "없으면 모른다고 답해". 그럴듯한 오답을 줄이는 가장 쉬운 방법

Wei et al., Chain-of-Thought Prompting, 2022 · OpenAI API 레퍼런스(temperature · top_p)

오늘 바로 써먹는 9가지

토큰

1토큰으로 센다
2세기 · 계산은 코드로

Attention

3중요한 건 앞 · 끝
4고정은 앞, 변동은 뒤
5주제 바뀌면 새 대화

토큰 예측

6템퍼러처는 목적대로
7단계별로 생각
8형식 예시 먼저
9근거 주고 모르면 모름

오늘의 네 문장

토큰AI는 바이트 토큰을 읽고, 한국어는 토큰이 더 많다
임베딩테이블에서 꺼낸 768개 숫자, 뜻이 비슷하면 가깝다
Attention·MLPQ·K로 볼 곳을 정해 섞고, MLP로 각자 정리
예측로짓 → 확률 → 하나 뽑기의 반복

질문 받습니다

토큰 · 임베딩 · Attention · 토큰 예측

칼리즈

출처

Turing, Computing Machinery and Intelligence, Mind, 1950

Shannon, Prediction and Entropy of Printed English, BSTJ, 1951

Claude 이름 유래: 뉴욕타임스 보도 (Bridge Michigan 인용)

Hochreiter & Schmidhuber, LSTM, 1997 · Bengio et al., 2003

Mikolov et al., Word2Vec, 2013 · Sutskever et al., Seq2Seq, 2014

Bahdanau et al., arXiv 1409.0473, 2014

Sennrich et al., BPE, ACL 2016

Vaswani et al., Attention Is All You Need, 2017

Radford et al., GPT-2, 2019 · Brown et al., GPT-3, 2020

Kaplan et al., Scaling Laws, 2020 · Hoffmann et al., Chinchilla, 2022

Holtzman et al., Nucleus Sampling, 2019

Su et al., RoFormer (RoPE), 2021

Dao et al., FlashAttention, 2022 · Ainslie et al., GQA, 2023

Ouyang et al., InstructGPT, 2022 · Wei et al., Chain-of-Thought, 2022

Liu et al., Lost in the Middle, 2023 (TACL 2024)

Geva et al., FFN Layers Are Key-Value Memories, 2021 · Meng et al., ROME, 2022

Wikipedia: Language model, GPT-1, ChatGPT, Large language model (2026.10 확인)

hidekazu-konishi.com, LLM Context Window Growth Timeline, 2026.07

Hugging Face, Llama-2-70B config.json · Llama 2 문서

OpenAI · Anthropic 프롬프트 캐싱 문서, OpenAI API 레퍼런스 (2026.10 확인)

Epoch AI, Chinchilla scaling: a replication attempt

metehan.ai, Reverse-Engineering the GPT-5 Tokenizer

jangwook.net, The Non-English Token Tax · 디지털데일리, AI에게 한글은 왜 더 비쌀까, 2026.10.09

Park et al., Korean Tokenization Strategies, AACL 2020 · Kim et al., HyperCLOVA, 2021

LG AI연구원 K-EXAONE 블로그 · Thunder-LLM, 2025 · Lee et al., Morpheme Matters, EACL 2026

Sebastian Raschka, BPE from scratch, 2025

University of Edinburgh, King − man + woman = queen, 2019

Netherlands eScience Center, King − Man + Woman = King?

토큰 수 · 정규식: js-tiktoken 1.0.21 직접 측정, 2026.10.08~09

파라미터 · 메모리 · 계산량: 공개 설정값으로 직접 계산

"예시"라고 적은 숫자는 설명용으로 만든 값

섀넌 사진: 발표자 제공 이미지

글꼴: Pretendard (SIL OFL)

/ 1