基礎

トークン化(tokenization)

テキストを単語、サブワード、文字などの小さな単位(トークン)に分解し、言語モデルが処理可能な数値IDに変換できる形に整える前処理工程で、コストと文脈長を左右します。

**トークン化(tokenization)**は、大規模言語モデルのためのテキスト処理の最初のステップです — 生のテキストをトークンと呼ばれる小さな単位に分解する工程です。トークンは単語全体、サブワード(接頭辞または接尾辞)、単一の文字、あるいは数バイトであることもあります。各トークンには、モデルの固定語彙(通常30,000〜200,000エントリ)から一意の整数IDが割り当てられます。

現代のLLMはほぼすべて、サブワードトークン化の派生を使用します。

  • Byte-Pair Encoding(BPE) — GPTモデルが使用、個々のバイトから始めて最も頻繁なペアをマージ
  • WordPiece — BERTファミリー、BPEに似ているがマージ基準が異なる
  • SentencePiece / Unigram — Llama、T5、多くの多言語モデル、空白による事前分割なしに生テキストで直接動作
  • Tiktoken — OpenAIのBPE実装、GPT-3.5/4/5で使用

トークン化は、コストとコンテキストサイズに直接影響します。APIはトークン単位で課金され、コンテキストウィンドウは文字ではなくトークンで測定されます。英語テキストは通常、単語あたり約0.75トークンを消費しますが、クロアチア語、ドイツ語、中国語は同じ内容に対して1.5〜3倍のトークンを使うことがあります — つまりクロアチア語のクエリは言語的に難しいだけでなく、より高価でもあります。

トークン化の後、各IDは埋め込みベクトルにマッピングされ、モデルのトランスフォーマー層に入ります。

出典

関連項目