Tokenization: LLM의 언어 이해를 위한 첫걸음

LLM(Large Language Model)의 성능은 데이터를 효과적으로 처리하고 학습하는 능력에 크게 좌우된다. 이때 중요한 단계가 바로 Tokenization(토크나이제이션)이다. Tokenization은 텍스트 데이터를 모델이 이해할 수 있는 단위인 토큰(token)으로 변환하는 과정으로, 언어 모델이 문장을 처리하고 학습하는 데 필수적인 역할을 한다.

Tokenization이란?

Tokenization은 텍스트 데이터를 구성 요소로 분리하는 작업이다. 모델은 텍스트를 그대로 처리하지 못하므로, 텍스트를 단어, 서브워드, 문자 등의 작은 단위로 나누어 모델이 이해할 수 있는 형식으로 변환해야 한다.

예를 들어, 문장 “I love AI”는 다음과 같이 토큰으로 변환될 수 있다:
• 단어 단위: [“I”, “love”, “AI”]
• 서브워드 단위: [“I”, “lo”, “ve”, “AI”]
• 문자 단위: [“I”, “ “, “l”, “o”, “v”, “e”, “ “, “A”, “I”]

Tokenization의 주요 방법

1. Word-Level Tokenization
텍스트를 단어 단위로 나눈다.
• 예: “I love AI” → [“I”, “love”, “AI”]
• 장점: 간단하고 직관적이다.
• 단점: 희귀 단어(OOV, Out-Of-Vocabulary)를 처리하기 어렵다.
2. Subword Tokenization
단어를 더 작은 단위로 분해하여 희귀 단어 문제를 해결한다.
• 대표적인 기법: Byte Pair Encoding(BPE), WordPiece, SentencePiece
• 예: “unbelievable” → [“un”, “believe”, “able”]
• 장점: 희귀 단어를 처리하고 어휘 크기를 줄일 수 있다.
3. Character-Level Tokenization
텍스트를 문자 단위로 나눈다.
• 예: “AI” → [“A”, “I”]
• 장점: 모든 단어를 처리할 수 있다.
• 단점: 문맥 정보를 잃기 쉽고 학습이 느릴 수 있다.
4. Byte-Level Tokenization
텍스트를 바이트 단위로 나누는 방식으로, BERT와 같은 모델에서 사용된다.
• 예: “AI” → [“65”, “73”] (ASCII 값으로 변환)
5. Whitespace Tokenization