Token 비용 엔지니어링 · 2 / 13

Token은 어떻게 세나: BPE와 숨은 「Token 세금」

청구서는 Token으로 정산되지만, Token은 도대체 어떻게 셀까요? 글자도 단어도 아니고, 통계 규칙으로 만들어진 「서브워드」예요. 이 규칙을 이해해야, 같은 한 문장이 중국어로는 왜 영어보다 선천적으로 2배 비싼지 알게 됩니다.

BPE서브워드 토큰화tiktokenToken 세금
문자에서 서브워드로: 두 극단의 균형점

초기 NLP는 두 극단을 오갔어요. 단어 단위 분절은 의미가 분명하지만, 영어 수십만 단어에 활용형(look / looks / looking / looked)까지 더하면 어휘 사전이 폭발하고, 본 적 없는 신조어(OOV)도 못 다룹니다. 문자 단위 분절은 어떤 단어든 쪼개지만 시퀀스가 너무 길고, 글자 하나 정보량이 낮아 추론 효율이 최악이에요.

현대 LLM은 중간 길을 택했습니다——서브워드 토큰화(Subword Tokenization): 흔한 단어는 통째 Token으로 두고, 드문 단어는 의미 있는 조각으로 나눕니다. 어휘 사전은 32k~200k로 유지해, 폭발도 없고 무엇이나 표현할 수 있어요.

문자·단어·서브워드 단위로의 Tokenization 진화
Token은 단순한 글자나 단어가 아니라, 통계 규칙으로 만들어진 「서브워드」예요. BPE는 어휘 크기와 의미 표현의 균형을 맞춰 현대 LLM 학습·추론의 초석이 되었습니다. (그림: 저자 공유 원본)
BPE: 출현 빈도로 병합해 만든 어휘 사전

GPT 계열, Llama 3 모두 BPE(Byte-Pair Encoding, 바이트 쌍 인코딩)를 씁니다. 어휘 사전은 사람이 만든 게 아니라, 코퍼스에서 「병합」해 나온 거예요:

1

초기화: 코퍼스 전체를 최소 단위로 쪼갭니다(유니코드 텍스트는 먼저 UTF-8 인코딩 후 바이트 단위).

2

빈도 집계: 인접 바이트 쌍이 코퍼스에 얼마나 자주 나오는지 셉니다.

3

가장 잦은 쌍을 병합: 예를 들어 "u"와 "g"가 자주 이웃하면 새 기호 "ug"로 합쳐 어휘에 넣어요.

4

반복: 2·3단계를 어휘가 목표 크기에 이를 때까지——Llama 2는 32,000, GPT-4의 cl100k_base는 100,277.

추론 때는 반대로 조회: 흔한 단어 "hug"는 Token 하나; 드문 "bug"는 ["b", "ug"] 둘. 어휘가 클수록, 텍스트가 「흔할수록」 Token은 줄고 청구서는 얇아져요. GPT-4가 10만 어휘로 바꾼 뒤 다단 들여쓰기 공백 시퀀스를 단일 Token으로 합친 이유——코드 생성 효율이 몇 배 뛰었습니다.

BPE 학습과 추론 과정
왼쪽: BPE 학습 시 최고빈도 바이트 쌍을 반복 병합해 어휘를 구축. 오른쪽: 추론 시 정규식으로 선분절한 뒤 병합 우선순위로 탐욕 병합. (그림: 저자 공유 원본)
숨은 「Token 세금」: 중국어는 선천적으로 2배 비싸다

주류 모델 Tokenizer 학습 코퍼스는 영어 비중이 커서, BPE가 배운 병합 규칙은 영어 어휘에 심하게 기울어요. 결과: 비라틴 문자권(중국어·일본어·한국어)은 토큰화에서 심각한 효율 열세를 겪고, 업계는 이를 「Token 세금」이라 부릅니다.

언어예시Token 수비율현상 설명
영어Donald John Trump3~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 계산 차이
BPE는 영어에 편향: 같은 의미라도 중국어는 더 잘게 잘리고, 컨텍스트 윈도우도 사실상 더 짧아집니다. (그림: 저자 공유 원본)
인터랙티브 데모 · 같은 문장의 중·영 청구서

문장 하나를 골라 중·영 버전이 각각 몇 Token인지 비교해 보세요(전형 비율로 추정). 정확한 절단이 궁금하면 OpenAI Tokenizer에서 직접 시험하세요.

위 문장 중 아무거나 눌러 시작하세요.

중국어의 또 다른 함정: 공백 없는 「알몸 질주」

영어에는 천연 가드레일이 있어요: BPE 병합 전에 공백으로 선분절하니, 병합은 단어 안에서만 일어나고 Token 경계가 대체로 언어학 직관과 맞습니다. 중국어는 공백이 없어 BPE가 경계를 통계적 공출현 빈도에만 의존해야 해요——논리 없는 광고 문구라도 코퍼스에 수백만 번 반복되면, BPE는 그걸 통째 「나눌 수 없는 최소 의미 단위」로 병합합니다.

가장 유명한 예가 「给主人留下些什么吧」(주인에게 뭘 남기세요): 블로그 시대 고빈도 방명록 문구가 GPT 어휘에서 강제 병합되어 독립 Token이 된, 유명한 「글리치 Token」이에요. 농담이 아니라 BPE 통계 논리의 필연 산물입니다.

영어 선분절 가드레일과 중국어 공출현 빈도 의존 대비
영어는 공백 선분절로 경계가 직관에 맞고, 중국어는 공출현 빈도에 기대 고빈도 텍스트가 단일 Token으로 강제 병합됩니다. (그림: 저자 공유 원본)
핵심 요점

Token은 통계로 만든 서브워드, 글자도 단어도 아니에요. BPE는 코퍼스 빈도로 반복 병합하고, 어휘 크기는 하이퍼파라미터입니다.

중국어는 선천적으로 Token 세금을 내요: 같은 의미에 영어보다 2배 이상 들고, 컨텍스트 윈도우도 사실상 짧아집니다. 예산 잡을 때 영어 감으로 찍지 마세요.

어휘가 압축률을 정합니다. cl100k_base 10만 어휘 + 공백 병합 최적화가 GPT-4 코드 효율의 직접 원인이에요. 모델 고를 때 Tokenizer 효율도 비용 파라미터입니다.

출처: 저자 팀 내부 공유 《AI Token 비용 엔지니어링 전략 공유》 제1부 「Token의 구성」에서 정리. BPE 세부사항은 OpenAI Tokenizer와 tiktoken 오픈소스 라이브러리를 참고하세요. 분절과 어휘 사전의 하부 원리를 복습하려면 대규모 언어 모델 원리 · 어휘 사전과 학습으로 돌아가세요.