LLM Tokenization & BPE
텍스트를 LLM이 연산 가능한 정수 시퀀스로 변환하는 공정. 문자를 직접 사용하면 어휘집이 너무 작아지고, 단어 단위는 미등록어(OOV) 문제가 생긴다.
sys.entry
M
Me
hyunyoun's Blog
machine-learning-ai1 min read
LLM Tokenization & BPE
텍스트를 LLM이 연산 가능한 정수 시퀀스로 변환하는 공정. 문자를 직접 사용하면 어휘집이 너무 작아지고, 단어 단위는 미등록어(OOV) 문제가 생긴다.
핵심 메커니즘
Byte Pair Encoding (BPE): 말뭉치에서 가장 자주 붙어 나오는 문자 쌍을 반복적으로 병합하여 어휘집을 구축. 희귀 단어는 subword로 분해되어 어떤 단어도 OOV 없이 표현 가능.
CODE
"tokenization" → ["token", "ization"] # 서브워드 분해
어휘집 크기 V: 30,000~100,000 토큰
왜 중요한가
- 토큰 수 = LLM이 처리하는 연산 단위 → 컨텍스트 윈도우 소비량을 결정
- 같은 문장이라도 언어·모델에 따라 토큰 수 차이 발생 (한국어 ≈ 영어의 1.5~3배 토큰 소비)
- Vocabulary size가 임베딩 행렬 크기(V × d_model)를 결정 → 메모리 직결
연결 노트
- ZK-LLM-Embedding-Spaces — 토큰 ID가 벡터로 변환되는 다음 단계
- ZK-LLM-Next-Token-Prediction — 토큰 시퀀스를 입력으로 받아 다음 토큰을 예측
- ZK-ReAct-Pattern — 에이전트가 tool use 결과를 텍스트로 받아 다시 토큰화하여 처리