Token은 어떻게 세나: BPE와 숨은 「Token 세금」
청구서는 Token으로 정산되지만, Token은 도대체 어떻게 셀까요? 글자도 단어도 아니고, 통계 규칙으로 만들어진 「서브워드」예요. 이 규칙을 이해해야, 같은 한 문장이 중국어로는 왜 영어보다 선천적으로 2배 비싼지 알게 됩니다.
초기 NLP는 두 극단을 오갔어요. 단어 단위 분절은 의미가 분명하지만, 영어 수십만 단어에 활용형(look / looks / looking / looked)까지 더하면 어휘 사전이 폭발하고, 본 적 없는 신조어(OOV)도 못 다룹니다. 문자 단위 분절은 어떤 단어든 쪼개지만 시퀀스가 너무 길고, 글자 하나 정보량이 낮아 추론 효율이 최악이에요.
현대 LLM은 중간 길을 택했습니다——서브워드 토큰화(Subword Tokenization): 흔한 단어는 통째 Token으로 두고, 드문 단어는 의미 있는 조각으로 나눕니다. 어휘 사전은 32k~200k로 유지해, 폭발도 없고 무엇이나 표현할 수 있어요.
GPT 계열, Llama 3 모두 BPE(Byte-Pair Encoding, 바이트 쌍 인코딩)를 씁니다. 어휘 사전은 사람이 만든 게 아니라, 코퍼스에서 「병합」해 나온 거예요:
초기화: 코퍼스 전체를 최소 단위로 쪼갭니다(유니코드 텍스트는 먼저 UTF-8 인코딩 후 바이트 단위).
빈도 집계: 인접 바이트 쌍이 코퍼스에 얼마나 자주 나오는지 셉니다.
가장 잦은 쌍을 병합: 예를 들어 "u"와 "g"가 자주 이웃하면 새 기호 "ug"로 합쳐 어휘에 넣어요.
반복: 2·3단계를 어휘가 목표 크기에 이를 때까지——Llama 2는 32,000, GPT-4의 cl100k_base는 100,277.
추론 때는 반대로 조회: 흔한 단어 "hug"는 Token 하나; 드문 "bug"는 ["b", "ug"] 둘. 어휘가 클수록, 텍스트가 「흔할수록」 Token은 줄고 청구서는 얇아져요. GPT-4가 10만 어휘로 바꾼 뒤 다단 들여쓰기 공백 시퀀스를 단일 Token으로 합친 이유——코드 생성 효율이 몇 배 뛰었습니다.
주류 모델 Tokenizer 학습 코퍼스는 영어 비중이 커서, BPE가 배운 병합 규칙은 영어 어휘에 심하게 기울어요. 결과: 비라틴 문자권(중국어·일본어·한국어)은 토큰화에서 심각한 효율 열세를 겪고, 업계는 이를 「Token 세금」이라 부릅니다.
| 언어 | 예시 | Token 수 | 비율 | 현상 설명 |
|---|---|---|---|---|
| 영어 | Donald John Trump | 3 | ~0.75 Token/단어 | 흔한 단어가 곧 Token 1개로 매핑 |
| 중국어 | 唐纳德·约翰·特朗普 | 6 | ~1.5 – 2.5 Token/자 | 흔한 글자는 Token 1개, 희귀 글자는 2–3개 바이트 Token으로 쪼개짐 |
| 한국어 | 도널드 존 트럼프 | 7 | ~1.5 – 3.0 Token/자 | 인코딩 공간 커버가 부족해 자주 바이트 인코딩으로 후퇴 |
같은 의미를 담을 때 중국어 사용자는 영어 사용자보다 2배 이상 Token을 씁니다: API 요금도 더 내고, 컨텍스트 윈도우도 사실상 짧아져요.
문장 하나를 골라 중·영 버전이 각각 몇 Token인지 비교해 보세요(전형 비율로 추정). 정확한 절단이 궁금하면 OpenAI Tokenizer에서 직접 시험하세요.
영어에는 천연 가드레일이 있어요: BPE 병합 전에 공백으로 선분절하니, 병합은 단어 안에서만 일어나고 Token 경계가 대체로 언어학 직관과 맞습니다. 중국어는 공백이 없어 BPE가 경계를 통계적 공출현 빈도에만 의존해야 해요——논리 없는 광고 문구라도 코퍼스에 수백만 번 반복되면, BPE는 그걸 통째 「나눌 수 없는 최소 의미 단위」로 병합합니다.
가장 유명한 예가 「给主人留下些什么吧」(주인에게 뭘 남기세요): 블로그 시대 고빈도 방명록 문구가 GPT 어휘에서 강제 병합되어 독립 Token이 된, 유명한 「글리치 Token」이에요. 농담이 아니라 BPE 통계 논리의 필연 산물입니다.
Token은 통계로 만든 서브워드, 글자도 단어도 아니에요. BPE는 코퍼스 빈도로 반복 병합하고, 어휘 크기는 하이퍼파라미터입니다.
중국어는 선천적으로 Token 세금을 내요: 같은 의미에 영어보다 2배 이상 들고, 컨텍스트 윈도우도 사실상 짧아집니다. 예산 잡을 때 영어 감으로 찍지 마세요.
어휘가 압축률을 정합니다. cl100k_base 10만 어휘 + 공백 병합 최적화가 GPT-4 코드 효율의 직접 원인이에요. 모델 고를 때 Tokenizer 효율도 비용 파라미터입니다.
출처: 저자 팀 내부 공유 《AI Token 비용 엔지니어링 전략 공유》 제1부 「Token의 구성」에서 정리. BPE 세부사항은 OpenAI Tokenizer와 tiktoken 오픈소스 라이브러리를 참고하세요. 분절과 어휘 사전의 하부 원리를 복습하려면 대규모 언어 모델 원리 · 어휘 사전과 학습으로 돌아가세요.