토크나이저는 "처음부터"에서만 결정권이 생기는 첫 자리다

토크나이저는 문자열을 정수 ID의 열로 바꾸는 함수고, 모델은 이 정수만 본다. Hugging Face tokenizers의 정의를 따르면 네 단계다. (1) 정규화기가 유니코드 정규화·소문자화 등을 선택적으로 적용하고, (2) 사전토큰화기가 텍스트를 단어 후보 조각으로 자르며, (3) 모델(BPE·WordPiece·Unigram)이 조각을 어휘 항목에 매핑하고, (4) 후처리기가 특수 토큰을 붙인다.

사전토큰화 정규식이 모델의 "단어 감각"을 규정한다. GPT-4의 cl100k 정규식에서 \p{N}{1,3}은 숫자를 최대 3자리 덩어리로 미리 자른다는 뜻이고, 축약형('s, 'll)은 대소문자 무시로 분리된다. 특수 토큰은 ID 공간 맨 위에 예약된다(cl100k의 <|endoftext|>는 100257).

실무 순서는 이렇다재구성. 정제된 코퍼스에서 언어 비율을 맞춘 샘플(수십~수백 GB)을 뽑고 → 바이트 수준 BPE를 학습해 병합 테이블을 만들고 → 특수 토큰을 예약하고 → 전체 코퍼스를 한 번만 토큰화해 평탄한 정수 배열로 저장한다. Megatron은 .bin(토큰)과 .idx(문서 오프셋) 두 파일을 쓰고, 어휘가 65,500 미만이면 uint16, 이상이면 int32다. 128K 어휘면 토큰당 4바이트라 15T 토큰에 약 60TB 디스크가 든다추정.

BPE · SentencePiece · Unigram

BPE는 문자에서 시작해 가장 자주 함께 나타나는 쌍을 병합해 새 토큰을 만드는 알고리즘이고, Unigram은 문장 확률을 최대화하는 서브워드 집합을 찾는 확률 모델이다. SentencePiece는 Google의 구현체로 둘 다 지원하고 공백을 ▁로 다룬다. 바이트 수준 BPE는 알파벳을 256바이트로 고정해 어떤 문자열도 인코딩 가능하게 한 변형이다. 2024~2026년 프론티어 토크나이저는 두 계보다. tiktoken 계보(Llama 3 128K, V3 128K, Qwen3 151,669, gpt-oss 201,088)와 SentencePiece 계보(Gemma 3 262K, Gemini 2.0과 같은 토크나이저). Claude의 토크나이저 사양은 공개되지 않았다.

어휘 크기는 손실이 아니라 추론 비용으로 정해진다

세 힘이 충돌한다. 어휘가 크면 같은 텍스트가 적은 토큰으로 표현돼 비용이 줄고 실효 문맥이 늘지만, 임베딩·출력 헤드 파라미터가 커지고 희귀 토큰은 학습 신호가 적어진다. Tao 등(2024)은 "연산 최적 어휘는 연산량과 함께 커진다"는 걸 보였고 Llama-2-70B의 최적 어휘는 32K가 아니라 약 216K라고 추정했다. 한국 Trillion Labs는 소거 실험상 한국어 최적 어휘가 1,500~5,000개였음에도 24,552개를 할당했는데, "Llama 3 토크나이저 대비 한국어 추론 속도가 35% 이상 빨라지기 때문"이라고 밝혔다. 어휘 결정은 손실이 아니라 추론 비용으로 내려진다.

한국어를 제대로 지원하려면

바이트 BPE는 한글(UTF-8 3바이트)을 항상 인코딩할 수 있지만, 한국어 병합이 없으면 음절 하나가 최대 3토큰이 된다. NAVER의 측정에서 같은 1,000문서의 한국어 토큰 수는 HyperCLOVA X 676 기준으로 Gemma 1,019(1.51배), GPT-4 1,420(2.10배), LLaMA 2,079(3.07배)였다. OpenAI는 GPT-4o의 o200k에서 같은 문장의 한국어 토큰이 45→27로 줄었다고 밝혔다.

모델어휘한국어 배분·방식
HyperCLOVA X100K형태소 인식 바이트 수준 BPE
Trillion-7B128,256약 100,000 영어 · 24,552 한국어
EXAONE 4.0102,400한국어·영어 "거의 같은 비율"
K-EXAONE (2026)150K고빈도 70% 유지, SuperBPE 약 20%, 영:한:다국어=2:3:1, NFKC→NFC, 바이트/토큰 효율 약 30% 개선
Kanana-2128,256"한국어에서 30% 이상 개선"

토크나이저가 결정하는 건 넷이다. 같은 문맥 창에 담기는 정보량, 토큰당 과금되는 API 비용과 디코딩 지연, 같은 FLOPs로 볼 수 있는 텍스트 양, 숫자·코드·한글 같은 도메인의 표현 효율. Petrov 등(2023)은 같은 문장이 언어에 따라 토큰 길이가 최대 15배 다르다는 걸 보였고, SuperBPE는 같은 크기·어휘·연산의 8B 모델이 30개 과제 평균 +4.0%p, 추론 연산 27% 절감을 냈다. 한 번 정하면 사전학습 후 바꿀 수 없기 때문에(EEVE처럼 어휘를 확장하려면 수십억 토큰의 추가 학습이 필요하다, 13강), from-scratch에서만 완전한 결정권이 생기는 첫 번째 지점이다.

한 줄: 토크나이저는 한 번 정하면 못 바꾼다. 한국어 효율은 여기서 결정된다.

출처: HF tokenizers · tiktoken · Megatron-Core · Tao et al. · Trillion-7B · HyperCLOVA X · K-EXAONE · Petrov et al. · SuperBPE

브루니가 적는다

색을 바꾸며 숨는 카멜레온이다. AI 와 같이 만들며 걸린 곳을 한 편씩 적는다. 같은 데서 두 번 걸리지 않으려고 쓰는 기록이다.

파운데이션 모델 표지 · 전체 15강 →