한 줄 정의
토큰화(Tokenization)는 입력된 문자열 텍스트를 인공지능 언어 모델이 인지하고 수치 변환하기에 적합하도록 정밀하게 쪼갠 의미상 최소 문자/블록 단위로 분할하는 전처리 과정이다.
핵심 요지
- 의미론적 최소 단편: 항상 어절이나 띄어쓰기 기준으로 나뉘지 않으며, 서브워드(Subword) 분할 기준을 따르는 바이트 페어 인코딩(BPE) 방식이 현대 LLM에 주로 쓰인다.
- 언어 모델의 인지적 빌딩 블록: 인공신경망은 문자 자체를 보는 것이 아니라, 토큰 레지스트리의 고유 숫자 ID(Vocabulary ID)를 입력으로 받아 추론을 전개한다.
- 한국어 분할 왜곡(Token Tax): 한국어는 조사와 어미 발달의 특성상 서구권 알파벳 언어 대비 한 어휘당 생성/소모되는 토큰 개수가 과다하여 비용 및 컨텍스트 효율 저하를 겪는 대표적인 한계가 존재한다.
상세
토큰은 텍스트 정보의 모자이크 블록과 같다. 예컨대 "Unhappy"라는 단어는 의미론적 접두사인 "un"과 핵심 어근인 "happy"라는 두 개의 다른 토큰으로 분할된다. 반면 대량의 데이터셋에서 빈번히 통째로 출현하는 "ChatGPT" 같은 고유 명사는 단일 토큰으로 레지스트리에 보존된다.
모델 아키텍처에 설정된 Vocabulary Size(어휘집 크기)의 내역에 따라 토큰화 규칙은 상이하며, 잘 설계된 토크나이저일수록 신조어나 영문 대소문자 혼합을 낭비 없이 매끄럽게 인코딩한다.
예시
- 영어 분할:
"hello world"->["hello", " world"] - 한국어 BPE 분할:
"안녕하셔요"->["안녕", "하셔", "요"] - 특이 현상: 오타나 빈번하지 않은 특수 기호의 집합은 수많은 세부 문자 토큰(Character token)으로 잘게 부서져 컨텍스트 윈도우를 순식간에 불필요하게 낭비시킨다.