Token (LLM) (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

토큰 (token) — 대형 언어 모델(LLM)이 처리할 수 있는 텍스트의 최소 단위입니다. LLM이 텍스트를 처리하기 전에 해당 텍스트는 먼저 토큰의 시퀀스로 변환되며, 이후 모델이 분석하고 처리하기에 적합한 수치적 표현으로 변환됩니다.

사용되는 토큰화 전략에 따라 토큰은 다음을 나타낼 수 있습니다:

  • 완전한 단어 (예: "집")
  • 단어의 일부 또는 어근 (예: "집"이 "집안"에 포함되는 경우)
  • 단일 문자 또는 구두점 (예: ",", "!")

토큰을 사용함으로써 언어 모델은 텍스트 구조를 효율적으로 학습하고 재현하며, 패턴을 파악하고 텍스트의 의미론과 구문론을 이해할 수 있습니다.

토큰화 과정

토큰화 (tokenization) — 원본 텍스트를 토큰으로 분할하고 이를 모델이 이해할 수 있는 수치 식별자로 변환하는 과정입니다.

이 단계는 대형 언어 모델의 동작에 있어 필수적이고 근본적인 과정입니다. 이를 통해 LLM은 다음을 수행할 수 있게 됩니다:

  • 구문 분석 — 텍스트의 구조와 요소(단어 및 구절)의 배치 파악;
  • 의미 추출 — 텍스트의 심층적 의미와 요소 간의 관계 파악.

주요 토큰화 방법에는 다음과 같은 것들이 있습니다:

  • Byte Pair Encoding (BPE): 가장 빈번한 문자 쌍을 새로운 토큰으로 반복적으로 대체하는 알고리즘으로, 희귀한 단어와 형태론적 변형을 효율적으로 처리할 수 있습니다.
  • WordPiece: BERT 모델에서 사용되며, 단어를 하위 단어 단위로 분할하여 미지의 단어 처리를 지원합니다.
  • SentencePiece: 텍스트를 문자의 시퀀스로 간주하고 BPE 또는 Unigram 기반 모델을 적용하여 토큰화를 수행하는 방법입니다.

토큰화 방법의 선택은 모델의 성능, 다양한 언어 처리 능력, 그리고 학습 효율성에 영향을 미칩니다.

특수 토큰

기본 토큰 외에도 모델은 다음과 같은 텍스트의 기능적 요소를 나타내기 위해 특수 토큰을 사용합니다:

  • [CLS] (class) — 시퀀스의 시작을 나타내는 토큰으로, 텍스트 분류 작업에 자주 사용됩니다;
  • [SEP] (separator) — 텍스트의 서로 다른 부분(예: 질문과 답변, 문장 또는 단락)을 구분합니다;
  • [MASK] — 모델이 예측해야 할 단어를 나타내는 특수 토큰입니다 (BERT 및 기타 masked-language 모델에서 사용됩니다);
  • [PAD] (padding) — 텍스트의 길이를 맞추기 위해 사용됩니다.

이러한 특수 토큰은 모델이 처리하는 텍스트의 구조와 맥락을 보다 정확하게 인식하는 데 도움을 줍니다.

토큰과 컨텍스트 윈도우

컨텍스트 윈도우 (context window) — 텍스트 생성 시 모델이 동시에 고려하고 처리할 수 있는 최대 토큰 수입니다.

예를 들어, GPT-3 모델의 컨텍스트 윈도우 크기는 2048 토큰입니다. 이는 텍스트 생성 시 모델이 원본 텍스트에서 최대 2048개의 토큰에 담긴 정보를 동시에 고려할 수 있음을 의미합니다. 컨텍스트 윈도우의 크기는 다음에 영향을 미칩니다:

  • 모델이 접근할 수 있는 최대 정보량;
  • 생성된 응답의 품질과 일관성;
  • 긴 텍스트를 처리하고 토큰 간 먼 거리에서도 맥락을 유지하는 모델의 능력.

참고 문헌

  • 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.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Song, X. et al. (2021). Fast WordPiece Tokenization. *EMNLP 2021*. 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.
  • Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling: Assessing Vocabulary Allocation and Overlap Across Languages. 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.