어휘 사전과 Trie: Tokenizer가 단어를 자르는 비밀
대규모 모델 원리 편의 그 디테일, 기억나세요?—Tokenizer가 「五花肉」을 토큰 한 덩어리로 자르고, 글자 셋이 아니었죠. 그때 「자주 나오는 조합은 한 덩어리」라고 했어요. 이번엔 바닥을 엽니다: 수만 개 단어 속에서 「五花肉」을 통째로 가져가야 한다고 어떻게 순간 알아보나요? 답은 Trie(접두사 트리)라는 수납 방식—어휘 사전을 「공유하는 앞부분」으로 트리에 걸어 두는 거예요.
어휘 사전에 이런 단어가 있다고 해 보세요: 五, 五月, 五花肉, 今天, 天, 天气, 吃, 花, 好. 첫 글자, 둘째 글자… 한 겹씩 걸면, 앞이 같은 단어는 가지를 공유해요—「五月」과 「五花肉」이 같은 「五」 가지에 몰려요. 초록 ✓ 노드는 「여기까지가 완전한 단어」라는 뜻; 「五→花」에는 ✓가 없어요—경유 정류장일 뿐(「五花」는 단어가 아님).
🧩 BPE: 「가장 자주 붙어 나오는 문자 쌍」을 반복해 덩어리로 합치기
실제 Tokenizer(GPT·DeepSeek가 쓰는 BPE)의 어휘 사전 만들기는 더 거칠어요: 글을 최소 조각으로 부수고, 어떤 두 조각이 가장 자주 옆자리인지 세어 붙여 사전에 넣고; 다시 세고 붙이기를 수만 번. 흔한 조합이 이렇게 「자라」 큰 토큰이 됩니다—Trie의 「흔한 단어를 통째로 수납」과 같은 생각이에요.
그래서 본 현상들이 설명돼요: 「的」「,」는 늘 토큰 하나; 희귀 글자는 오히려 여러 조각. 중국어가 영어보다 토큰을 더 쓰는 이유도 여기—대부분 어휘 사전이 영어 말뭉치 위주라, 영어 흔한 말은 통째 토큰을 쌓고 중국어는 적어서 더 많이 자를 수밖에 없어요. 같은 문장, 중국어 청구서가 더 비싼 뿌리는 이 「사전」이 누구를 수납했느냐예요.
이 강의가 전하고 싶은 것
- 어휘 사전은 사전: 모든 토큰을 수납; 토큰화는 「사전을 찾아 문장을 덩어리로 자르기」
- Trie는 공유 앞부분으로 수납: 「최장 일치」가 스텝마다 한 번 조회, 목록을 다시 안 훑어요
- 탐욕 최장 일치: 갈 수 있는 데까지, 막히면 가장 가까운 단어 끝으로 되돌아가 자르기
- BPE도 같은 생각: 가장 자주 붙는 조합을 반복 합쳐 통째로—흔한 건 아끼고, 희귀는 조각
- 중국어가 토큰을 더 쓰는 뿌리: 어휘 사전이 영어 편중, 중국어 통째 토큰이 적어 더 자를 수밖에