Part 2 · Tokenization - Tokenization Methods

문장을 나누는 방법은 하나가 아니다

문장을 어떤 기준으로 나누느냐에 따라 언어 모델이 바라보는 입력의 형태는 크게 달라집니다. 같은 문장이라도 단어 단위, 문자 단위, 서브워드 단위로 서로 다른 결과를 만들 수 있습니다. 이 장에서는 대표적인 토큰화 방법을 비교하며 각각의 장점과 한계를 살펴봅니다.

Overview

토큰을 나누는 방법은 하나가 아니다

토큰화는 문장을 작은 입력 단위로 나누는 과정이지만, 어디에서 끊을지는 하나의 정답으로 정해져 있지 않습니다.

완전한 단어를 하나의 토큰으로 사용할 수도 있고, 문자 하나씩 나눌 수도 있으며, 단어보다 작은 조각인 서브워드를 사용할 수도 있습니다.

토큰화 방법을 선택할 때는 토큰 사전의 크기, 문장의 토큰 수, 처음 보는 단어를 처리하는 능력 사이의 균형을 고려해야 합니다.
Three Methods

대표적인 세 가지 토큰화 방법

1

단어 단위 토큰화 (Word-Level Tokenization)

완전한 단어

문장을 공백과 문장부호를 기준으로 나누어 완전한 단어를 하나의 토큰으로 사용하는 방식입니다.

예제 문장

A cute teddy bear is reading.

A cute teddy bear is reading .
장점
사람이 이해하기 쉽고, 한 문장을 비교적 적은 수의 토큰으로 표현할 수 있습니다.
한계
새로운 단어가 등장할 때마다 어휘 사전에 추가해야 하므로 사전이 매우 커질 수 있습니다.
2

문자 단위 토큰화 (Character-Level Tokenization)

한 글자씩 분리

단어나 문장을 구성하는 문자 하나하나를 토큰으로 사용하는 방식입니다.

예제 문장

A cute

A _ c u t e
장점
어휘 사전이 작고, 처음 보는 단어도 문자 조합으로 모두 표현할 수 있습니다.
한계
하나의 문장이 매우 많은 토큰으로 길어져 계산량이 크게 증가할 수 있습니다.
3

서브워드 단위 토큰화 (Subword Tokenization)

단어보다 작은 조각

자주 등장하는 단어는 하나의 토큰으로 유지하고, 드문 단어나 긴 단어는 더 작은 조각으로 나누는 방식입니다.

예제 문장

A cute teddy bear is reading.

A cute ted ##dy bear is read ##ing .
장점
처음 보는 단어를 기존 조각으로 표현하면서도 문자 단위보다 토큰 수를 줄일 수 있습니다.
한계
토큰 경계가 사람이 보는 단어 경계와 달라 직관적으로 이해하기 어려울 수 있습니다.
Interactive Comparison

같은 문장을 다른 방식으로 나누기

단어 단위 토큰화 7 tokens
완전한 단어와 문장부호를 기준으로 나눕니다.
Comparison

토큰화 방식 비교

방식 기본 단위 어휘 사전 크기 문장의 토큰 수 처음 보는 단어 처리
단어 단위 완전한 단어 매우 큼 적음 어려움
문자 단위 개별 문자 작음 매우 많음 쉬움
서브워드 단위 자주 쓰이는 단어 조각 중간 중간 비교적 쉬움
최근의 언어 모델은 어떤 방식을 많이 사용하는가?
최근의 Transformer와 대규모 언어 모델은 대부분 서브워드 기반 토큰화를 사용합니다. 단어 단위의 큰 어휘 문제와 문자 단위의 긴 시퀀스 문제를 동시에 줄일 수 있기 때문입니다.
Choosing a Method

어떤 토큰화 방법이 적절할까?

단어 단위가 적합한 경우 어휘가 제한적이고 단어의 종류가 크게 변하지 않는 단순한 환경에서 사용할 수 있습니다.
문자 단위가 적합한 경우 철자 오류, 문자 패턴, 형태 변화가 중요하거나 어휘 사전을 매우 작게 유지해야 할 때 유용할 수 있습니다.
서브워드 단위가 적합한 경우 다양한 언어와 신조어, 고유명사, 전문용어를 함께 처리해야 하는 현대 NLP 모델에 가장 널리 사용됩니다.
실제 모델에서는 하나의 방법이 무조건 정답이라기보다, 데이터의 언어, 모델의 크기, 처리 속도, 목적에 맞추어 토큰화 방법과 어휘 크기를 결정합니다.
Summary

학습 내용 정리

이번 장에서는 대표적인 세 가지 토큰화 방법을 비교했습니다.

  • 단어 단위 토큰화는 이해하기 쉽고 토큰 수가 적지만, 어휘 사전이 커지고 새로운 단어 처리에 약합니다.
  • 문자 단위 토큰화는 어떤 문자열도 표현할 수 있지만, 문장이 매우 긴 토큰 시퀀스로 바뀝니다.
  • 서브워드 토큰화는 자주 쓰이는 표현은 크게 유지하고, 드문 단어는 더 작은 조각으로 나눕니다.
  • 현대의 Transformer와 LLM은 어휘 크기와 토큰 수 사이의 균형을 위해 서브워드 토큰화를 주로 사용합니다.

다음 장에서는 서브워드 토큰화가 처음 보는 단어를 어떻게 처리하는지, 그리고 BPE와 WordPiece 같은 대표적인 알고리즘이 어떻게 동작하는지 살펴봅니다.