
ChatGPT에 질문을 입력하면 가장 먼저 거치는 곳이 어딘지 아시나요? 바로 토크나이저(tokenizer)입니다. 이 녀석은 여러분의 텍스트를 모델이 이해할 수 있는 숫자 ID로 쪼개는 일을 하는데요, 이 과정에서 일어나는 일들이 생각보다 흥미롭습니다.
터키의 AI 연구자 Metehan Yesilyurt가 GPT-5가 사용하는 o200k_base 토크나이저의 20만 개 토큰을 전부 분석한 결과를 공개했습니다. 방대한 분석 속에서 발견한 재미있는 사실들을 추려봤습니다.
출처: Reverse-Engineering the OpenAI’s GPT-5 Tokenizer – metehan.ai
브랜드도 차별받는다
“Google”을 입력하면 1개 토큰으로 처리됩니다. Amazon, Reddit, Forbes도 마찬가지죠. 그런데 “OpenAI”는 ‘Open’과 ‘AI’ 2개로 쪼개집니다. ChatGPT도 ‘Chat’+’GPT’, Bloomberg도 ‘Bloom’+’berg’ 이렇게요.
왜 이게 중요할까요? 토큰 1개는 예측 1번, 토큰 2개는 예측 2번입니다. OpenAI를 생성할 때 모델은 ‘Open’ 다음에 ‘AI’가 올 거라고 두 번째 예측을 해야 하는데, 여기서 오류가 생길 수 있습니다. 실제로 Elon Musk는 ‘El’+’on’+’ Musk’ 3개 토큰인데, 이런 식으로 쪼개지는 이름일수록 모델이 틀릴 확률이 높아집니다.
ChatGPT가 URL을 자주 틀리는 구조적 이유
ChatGPT가 그럴듯하지만 존재하지 않는 URL을 만들어내는 걸 본 적 있나요? 이것도 토크나이저 때문입니다.
https://en.wikipedia.org/wiki/Artificial_intelligence 같은 URL은 무려 11개 토큰으로 쪼개집니다. 모델은 이 11개를 순서대로 하나씩 예측해야 하는데요, 각 토큰마다 오류가 생길 수 있고, 한번 틀리면 그 다음 예측도 영향을 받습니다. 마치 전화번호를 하나씩 불러주는데 중간에 한 자리를 잘못 듣는 것과 비슷하죠.
저자는 이를 “모델 지능 문제가 아닌 순차적 토큰 생성의 구조적 한계”라고 지적합니다.
한국어 사용자가 내는 ‘다국어 세금’
같은 의미의 문장을 영어와 터키어로 쓰면 토큰 개수가 다릅니다. 터키어는 영어보다 1.5배 많은 토큰이 필요하고, 아랍어는 1.43배, 프랑스어는 1.29배가 필요합니다.
실제 예시를 보면:
- “What is machine learning?” → 5 토큰
- “yapay zeka nedir?” (터키어) → 7 토큰
- 중국어는 영어와 비슷한 수준
토큰이 많다는 건 API 비용이 더 든다는 뜻입니다. 그리고 같은 컨텍스트 윈도우에서 영어는 90,800단어를 담을 수 있는데 터키어는 55,300단어만 담깁니다. 비영어권 사용자가 구조적으로 불리한 셈이죠.
OpenAI 개발자도 불만이 있다
가장 흥미로운 건 OpenAI 내부 소스코드에 있는 주석입니다. tiktoken 라이브러리 관리자가 이렇게 적어놨어요:
“이 정규식은 더 효율적으로 만들 수 있었을 텐데. 내가 이 인코딩을 만들었다면 몇 가지를 다르게 했을 것. 특히 언어 간 토큰 할당을 더 효율적으로 할 수 있었다고 생각한다.”
즉, 토크나이저를 만든 팀과 라이브러리를 관리하는 팀이 다르고, 관리자는 현재 설계에 동의하지 않는다는 뜻입니다. 특히 라틴 문자가 전체 토큰의 59.5%를 차지하는데, 실제 인터넷 콘텐츠에선 40% 정도라는 불균형을 지적하고 있습니다.
128칸 띄어쓰기가 하나의 토큰인 이유
전체 토큰 중 가장 긴 토큰은 무엇일까요? 바로 128개의 연속된 띄어쓰기입니다. 그 다음은 112개의 대시 (--------), 96개의 별표 (********) 순이에요.
이게 왜 존재할까요? 코드의 들여쓰기 때문입니다. 깊게 중첩된 코드에서 128칸 들여쓰기가 훈련 데이터에 충분히 자주 나타났기 때문에 BPE(Byte Pair Encoding) 알고리즘이 이걸 하나로 합쳐버린 겁니다. 단일 토큰으로 128개 띄어쓰기를 처리하면 엄청나게 효율적이죠.
실제로 프로그래밍 관련 단어는 100% 단일 토큰 커버리지를 보입니다. function, class, return 같은 키워드가 모두 1개 토큰이에요. 반면 의료 용어는 40%, 법률 용어는 30%만 단일 토큰입니다. OpenAI 훈련 데이터가 코드에 얼마나 집중되어 있는지 보여주는 증거입니다.
미래를 위해 예약된 1,075개 슬롯
o200k_harmony라는 토크나이저 버전을 보면 흥미로운 걸 발견할 수 있습니다. <|call|>, <|return|>, <|message|> 같은 도구 사용 토큰 외에 1,075개의 빈 슬롯이 예약되어 있어요.
이건 아직 존재하지 않는 미래 기능을 위한 자리입니다. 브라우저 액션, 이미지 생성, 오디오 처리 등 새로운 도구가 나올 때마다 전체 토크나이저를 다시 훈련할 필요 없이 이 예약된 슬롯에 토큰을 할당하면 되는 거죠.
토크나이저가 중요한 이유
토크나이저는 모든 AI 작업의 첫 번째 관문입니다. 검색, 추론, 인용, 생성 모두 토크나이저가 만든 토큰 위에서 작동합니다.
같은 질문이라도 어떻게 토큰화되느냐에 따라 비용이 달라지고, 정확도가 달라지고, 심지어 환각이 생길 확률도 달라집니다. 우리가 ChatGPT와 대화할 때 보는 건 텍스트지만, 모델이 보는 건 토큰의 시퀀스입니다.
직접 실험해보기
OpenAI Tokenizer 도구에서 이 글의 발견들을 직접 확인할 수 있습니다. “Google”과 “OpenAI”를 입력해서 토큰 개수를 비교하거나, 같은 의미의 문장을 영어와 한국어로 입력해서 차이를 확인해보세요.

답글 남기기