---
title: "Tokenization (NLP) (KO)"
source: "https://systems-analysis.info/int/Tokenization_(NLP)_(KO)"
wiki: "systems-analysis.info/int"
article: "Tokenization_(NLP)_(KO)"
language: "ko"
categories:
  - "Category:Core LLM concepts"
  - "Category:Korean"
  - "Category:Large language models"
  - "Category:LLM core concepts"
  - "Category:Machine learning"
revision_id: 8132
wiki_created_at: 2026-09-07T01:12:48Z
wiki_modified_at: 2026-09-07T01:12:48Z
downloaded_at: 2026-09-07T23:23:31Z
---

# Tokenization (NLP) (KO)

**토크나이제이션(Tokenization)**은 대형 언어 모델(LLM)의 맥락에서 텍스트 시퀀스를 **토큰(token)**이라고 불리는 더 작고 관리 가능한 단위로 분할하는 기본적인 전처리 과정입니다. 이렇게 생성된 토큰은 모델이 처리할 수 있는 숫자 식별자로 변환됩니다. 토크나이제이션은 모델의 성능, 효율성, 공정성 및 언어 이해 품질에 직접적인 영향을 미치기 때문에 매우 중요한 첫 번째 단계입니다.

## 기본 개념

### 토큰

**토큰(token)**은 언어 모델이 처리하는 텍스트의 이산적 단위입니다. 선택된 토크나이제이션 방법에 따라 토큰은 다음을 나타낼 수 있습니다:

- 단어 전체 (예: «고양이»).
- 단어의 일부 또는 서브워드 (예: «무-», «-관-», «-심»).
- 개별 문자 (예: «가», «나», «다»).
- 바이트 (byte-level 토크나이제이션의 경우).

각 고유 토큰에는 **토크나이저 어휘(vocabulary)**에서 고유한 인덱스 번호가 부여됩니다.

### 토크나이저 어휘

**어휘(vocabulary)**는 모델이 인식할 수 있는 모든 가능한 토큰의 완전한 집합입니다. 어휘의 크기는 중요한 하이퍼파라미터입니다:

- 큰 어휘는 더 많은 단어를 전체 토큰으로 표현할 수 있어 이해도를 높이고 시퀀스 길이를 줄이지만, 모델 크기와 학습 복잡도가 증가합니다.
- 작은 어휘는 더 compact하지만, 희귀하거나 복잡한 단어를 더 많은 서브워드로 분할해야 하므로 시퀀스가 길어지고 의미 파악이 어려워질 수 있습니다.

어휘 크기는 모델마다 크게 다릅니다: GPT-2의 약 50,000개 토큰에서 GPT-4(100,277개) 및 LLaMA-3(128,000개)와 같은 최신 모델의 100,000개 이상에 이릅니다.

## 주요 토크나이제이션 방법

토크나이제이션에는 세 가지 주요 세분화 수준이 있습니다.

### 1. 단어 수준 토크나이제이션 (Word-level)

- **원리:** 텍스트를 구분자(공백, 구두점)를 기준으로 개별 단어로 분리합니다.
- **장점:** 직관적이며, 토큰 시퀀스가 짧아 계산 부담이 줄어듭니다.
- **단점:**
  - 미등록 단어(Out-of-Vocabulary, OOV) 문제: 모델이 학습 어휘에 없는 단어, 오탈자, 신조어를 처리할 수 없습니다.
  - 큰 어휘 크기: 모든 고유 단어를 저장해야 하므로, 형태론이 풍부한 언어에서 특히 문제가 됩니다.

### 2. 문자 수준 토크나이제이션 (Character-level)

- **원리:** 텍스트를 개별 문자로 분할합니다.
- **장점:**
  - OOV 문제 없음: 모든 단어를 문자 시퀀스로 표현할 수 있습니다.
  - 작은 어휘: 알파벳과 특수 문자 크기로 제한됩니다.
- **단점:**
  - 긴 시퀀스: 텍스트가 매우 긴 토큰 시퀀스로 변환되어 계산 비용이 크게 증가합니다.
  - 의미 손실: 모델이 전체 단어가 아닌 개별 문자를 처리하므로 의미 파악이 어렵습니다.

### 3. 서브워드 토크나이제이션 (Subword Tokenization)

이것은 이전 방법들의 장점을 결합한 중간적이며 현재 가장 널리 사용되는 접근 방식입니다.

- **원리:** 자주 사용되는 단어는 전체 토큰으로 유지하고, 희귀하거나 알 수 없는 단어는 더 작고 의미 있는 부분(서브워드)으로 분할합니다.
- **장점:**
  - OOV 단어와 형태론적 변형을 효과적으로 처리합니다.
  - 어휘 크기를 제어할 수 있습니다.
  - 단어의 형태론적 구조를 포착합니다.
- **주요 알고리즘:**
  - **Byte Pair Encoding (BPE):** 문자 집합으로 시작하여 가장 자주 등장하는 쌍을 새로운 토큰으로 반복적으로 병합하는 알고리즘입니다. GPT 계열 모델에서 사용됩니다. GPT-2와 RoBERTa에서 사용되는 **Byte-level BPE**는 단어를 바이트 시퀀스로 처리하여 OOV 문제를 완전히 해결합니다.
  - **WordPiece:** BPE와 유사하지만, 학습 데이터의 가능도(likelihood)를 최대화하는 쌍을 병합 기준으로 선택합니다. BERT 계열 모델에서 사용됩니다.
  - **Unigram LM:** BPE/WordPiece와 달리 대규모 서브워드 집합으로 시작하여, 전체 코퍼스 확률에 가장 적은 영향을 미치는 토큰을 제거하는 방식으로 점차 축소합니다. 이를 통해 하나의 단어에 대해 여러 가능한 토크나이제이션을 생성할 수 있습니다(서브워드 정규화).
- **SentencePiece 도구:** Google이 개발한 라이브러리로, BPE와 Unigram LM을 구현하며 텍스트를 연속적인 문자 스트림으로 처리합니다. 이는 중국어처럼 명확한 단어 구분자가 없는 언어에도 범용적으로 사용할 수 있게 합니다. LLaMA 및 T5 모델에서 사용됩니다.

## 멀티모달 LLM에서의 토크나이제이션

텍스트뿐만 아니라 다양한 데이터를 처리하는 멀티모달 모델에서는 토크나이제이션이 다른 유형의 데이터에도 적용됩니다:

- **시각적 토크나이제이션:** 이미지를 작은 패치(예: 16x16 픽셀)로 분할한 후, 텍스트 토큰과 유사하게 벡터-토큰으로 변환합니다.
- **오디오 토크나이제이션:** 연속적인 오디오 신호를 짧은 음향 단편을 나타내는 이산적 토큰 시퀀스로 변환합니다.
- **통합 접근 방식 (TEAL):** 어떤 모달리티의 데이터도 먼저 해당 토크나이저로 토큰화한 후, 그 embedding을 공통 결합 공간에서 처리하는 개념입니다.

## 문제점 및 한계

토크나이제이션은 중요성에도 불구하고 LLM 작동에서 많은 문제의 원인이 됩니다:

- **비일관성 및 민감성:** 입력 데이터의 작은 변화(오탈자, 대소문자, 끝 공백)가 토크나이제이션을 크게 변경하여 모델의 예측 불가능한 동작을 초래할 수 있습니다.
- **다국어 문제:** 여러 언어에 대한 단일 어휘는 저자원 언어나 형태론적으로 풍부한 언어에 비효율적이어서 지나치게 긴 토큰 시퀀스를 생성하는 경우가 많습니다.
- **추론에 대한 영향:** 숫자(예: «25,000»을 «25», «,», «000»으로 분할)나 기호의 비논리적 분할은 산술 및 기호 처리 작업을 어렵게 합니다.
- **글리치 토큰 (Glitch Tokens):** 학습 데이터에서 나온 비정상적이거나 희귀한 토큰(예: Reddit 사용자 이름)으로, 모델의 예측 불가능하거나 유해한 동작을 유발할 수 있습니다.

## 발전하는 연구 동향과 미래 방향

토크나이제이션 분야의 연구는 다음 방향으로 활발히 진행되고 있습니다:

- **토크나이저 없는 모델:** 명시적 토크나이제이션 단계와 관련 문제를 완전히 제거하기 위해 바이트 또는 문자 수준에서 직접 작동하는 모델(CANINE, ByT5) 개발.
- **적응형 및 학습 가능한 토크나이제이션:** 언어, 도메인 또는 특정 입력 텍스트에 동적으로 적응하거나 주 모델과 함께 공동 학습되는 토크나이저 개발.
- **인지 과학 기반 접근 방식:** 더 의미론적으로 유의미한 토크나이제이션을 위해 인간의 언어 처리에 관한 인지 과학(예: «최소 노력의 원칙»)에서 영감을 받은 방법 개발.

## 참고 링크

- Hugging Face의 LLM 강좌에서 토크나이제이션 개요
- Mistral AI의 토크나이제이션 문서

## 참고 문헌

- Schuster, M.; Nakajima, K. (2012). *Japanese and Korean Voice Search*. PDF.
- Sennrich, R.; Haddow, B.; Birch, A. (2016). *Neural Machine Translation of Rare Words with Subword Units*. arXiv:1508.07909.
- Kudo, T.; Richardson, J. (2018). *SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing*. arXiv:1808.06226.
- Kudo, T. (2018). *Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates*. arXiv:1804.10959.
- Song, X. et al. (2021). *Fast WordPiece Tokenization*. ACL-Anthology.
- Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). *A Brief History of Open-Vocabulary Modeling and Tokenization in NLP*. arXiv:2112.10508.
- Xue, J. et al. (2022). *ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models*. arXiv:2105.13626.
- Clark, J. H. et al. (2022). *CANINE: Pre-Training an Efficient Tokenization-Free Encoder for Language Representation*. arXiv:2103.06874.
- Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). *Tokenization Impacts Multilingual Language Modeling*. arXiv:2305.17179.
- Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). *A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-Tuning of NMT*. arXiv:2303.00722.
- Batsuren, K. et al. (2024). *Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge*. arXiv:2404.13292.
- Chai, Y. et al. (2024). *Tokenization Falling Short: On Subword Robustness in Large Language Models*. arXiv:2406.11687.
