AI・機械学習
中級

LLMトークナイザーアーキテクチャ(エルエルエムトークナイザーアーキテクチャ)

LLM(大規模言語モデル)がテキストを処理する際に、入力文字列を数値トークン列に変換するトークナイザーの設計思想・構成要素・アルゴリズム選択を体系的にまとめた技術概念。BPE・WordPiece・Unigram LM・SentencePieceなど複数の分割アルゴリズムと、語彙テーブル・特殊トークン・正規化ルールで構成される。

0 回閲覧
0 いいね

LLMトークナイザーアーキテクチャとは

LLMトークナイザーアーキテクチャとは、大規模言語モデル(LLM)が自然言語テキストを内部で扱える数値表現(トークン列)に変換するための設計体系である。GPT-4oのcl100k_baseやLlama 3のtiktoken互換トークナイザー、Gemma 2のSentencePiece Unigramなど、各モデルファミリーは独自のトークナイザー設計を採用しており、モデル性能・推論速度・多言語対応力に直結する重要コンポーネントである。

概要

トークナイザーは、LLMの入力パイプラインにおける最初の処理段階であり、生テキストをモデルが理解可能なトークンID列に変換する。2026年現在、主流のトークナイザーアーキテクチャは以下の要素で構成される:

  • 分割アルゴリズム: BPE(Byte Pair Encoding)、WordPiece、Unigram LM、SentencePiece
  • 語彙テーブル(Vocabulary): 32,000〜256,000トークンの辞書
  • 特殊トークン: <|endoftext|>、<s>、</s>、[PAD]、<|im_start|> など
  • 正規化ルール: Unicode正規化(NFKC)、大文字小文字変換、空白処理
  • バイトフォールバック: 未知文字をUTF-8バイト単位で処理する仕組み

トークナイザーの設計は、モデルの語彙効率(1トークンあたりの情報量)と計算コスト(シーケンス長)のトレードオフを規定する。語彙サイズが大きいほど1トークンの情報密度は高くなるが、埋め込み層のパラメータ数が増大し、メモリ消費量が増加する。

主要トークナイザーアルゴリズムの比較

アルゴリズム採用モデル語彙サイズ特徴多言語性能
BPEGPT-4o, Llama 3, Mistral100,000〜128,000頻度ベースのマージ、バイトレベル対応高い
WordPieceBERT, DistilBERT30,522サブワード確率最大化、##プレフィックス中程度
Unigram LMGemma 2, T5, mBART32,000〜256,000確率的分割、複数候補から最尤選択非常に高い
SentencePiece BPELlama 2, Baichuan32,000言語非依存、空白をメタ文字▁で表現高い
tiktoken (BPE)GPT-4o, Claude 3.5100,256〜200,019Rust実装の高速BPE、正規表現前分割高い

トークナイザーの内部構成

トークナイザーアーキテクチャは、大きく3つのレイヤーで構成される。

プリトークナイズレイヤー

テキストが分割アルゴリズムに渡される前の前処理を担う。GPT系のtiktokenでは正規表現パターン '(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\r\n\p{L}\p{N}]?\p{L}+|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n]*|\s*[\r\n]+|\s+(?!\S)|\s+ によってテキストを単語・数字・記号のチャンクに事前分割する。SentencePieceでは空白文字を▁(U+2581)に置換し、言語に依存しない一様な処理を実現する。

トークン分割レイヤー

プリトークナイズされたチャンクを、語彙テーブルに基づいてサブワード単位に分割する。BPEの場合、学習時に構築されたマージルール(例:t + h → th、th + e → the)を順序通りに適用する。Unigram LMでは、考えられる全分割パターンのうち対数尤度が最大となる分割をViterbiアルゴリズムで選択する。

トークンID変換レイヤー

分割されたサブワード文字列を、語彙テーブル内の整数IDにマッピングする。GPT-4oのcl100k_baseでは100,256個のトークンIDが定義されており、特殊トークン(<|endoftext|> = 100257、<|im_start|> = 100264など)が追加されている。未知のバイト列は、バイトフォールバック機構によりUTF-8の各バイトに対応するトークン(例:0xE3 → トークンID 163)に分解される。

主要モデルのトークナイザー仕様

モデルトークナイザー名アルゴリズム語彙サイズ最大コンテキスト日本語効率
GPT-4oo200k_baseBPE (tiktoken)200,019128,000トークン1文字≒1.2トークン
Claude 3.5 Sonnet非公開BPE系約100,000200,000トークン1文字≒1.3トークン
Llama 3.1llama3-tokenizerBPE (tiktoken互換)128,256128,000トークン1文字≒1.5トークン
Gemma 2gemma-tokenizerSentencePiece Unigram256,1288,192トークン1文字≒1.1トークン
Qwen 2.5qwen2-tokenizerBPE151,643131,072トークン1文字≒0.9トークン
Mistral Largemistral-tokenizerBPE (SentencePiece)32,768128,000トークン1文字≒1.8トークン

トークナイザーが性能に与える影響

トークナイザーの設計はLLMの性能に以下の影響を及ぼす:

  • 推論コスト: 同じテキストでもトークン数が少ないほどKVキャッシュ使用量と計算量が削減される。GPT-4oのo200k_baseは旧cl100k_baseと比較して平均15%のトークン数削減を実現した
  • 多言語公平性: 日本語・中国語・韓国語などの非ラテン文字言語では、語彙テーブルにCJK文字が十分含まれていないとトークン効率が著しく低下する。Qwen 2.5は中日韓文字を重点的に語彙に含め、日本語で1文字≒0.9トークンという高効率を達成している
  • コード処理: プログラミング言語のキーワード・演算子・インデントが適切にトークン化されるかが、コード生成タスクの精度に影響する。GPT-4oでは def、return、import などのPythonキーワードが単一トークンとして扱われる
  • 数値処理: 数字を1桁ずつ分割するか、複数桁をまとめるかで算術タスクの精度が変わる。Llama 3は3桁までの数字をまとめてトークン化する設計を採用した

トークナイザーの学習と構築

BPEトークナイザーの学習プロセスは以下の手順で進む:

  1. 初期語彙の設定: UTF-8の全256バイト値を初期語彙とする(バイトレベルBPEの場合)
  2. コーパス統計の収集: 大規模テキストコーパス(通常数TB規模)から全バイグラムの出現頻度を集計
  3. マージルールの学習: 最頻出のバイグラムペアを新トークンとしてマージし、語彙に追加。これを目標語彙サイズに達するまで反復(GPT-4oの場合200,019回)
  4. 特殊トークンの追加: 文末トークン、チャットテンプレートトークン、ツール呼び出しトークンなどを手動で追加
  5. 正規化ルールの定義: Unicode正規化方式、空白処理規則、大文字小文字処理を設定

学習に使用するコーパスの言語比率がそのまま各言語のトークン効率に反映されるため、多言語モデルでは意図的に低リソース言語のテキストをオーバーサンプリングする手法が一般的である。

よくある質問(FAQ)

Q1: トークナイザーを変更するとモデルの再学習が必要ですか? A: はい、必要です。トークナイザーの語彙テーブルが変わると埋め込み層の次元数が変化するため、モデル全体の再学習(または少なくとも埋め込み層の再初期化と追加学習)が必要になります。Llama 2からLlama 3への移行では、語彙サイズが32,000から128,256に拡大され、ゼロからの事前学習が行われました。

Q2: 日本語テキストのトークン効率が悪い場合、どう改善できますか? A: 日本語トークン効率の改善には3つのアプローチがあります。(1) 語彙テーブルに日本語文字・熟語を追加する(Qwen方式)、(2) SentencePiece Unigramで多言語コーパスから学習する(Gemma方式)、(3) 語彙サイズ自体を拡大して多言語カバレッジを確保する(GPT-4o方式・200K語彙)。実務ではQwen 2.5やGemma 2のように日本語効率が高いモデルを選定するのが最も手軽です。

Q3: BPEとWordPieceの違いは何ですか? A: BPEは出現頻度ベースでバイグラムを貪欲にマージする手法で、WordPieceは各マージが語彙全体の対数尤度をどれだけ改善するかを基準にマージを選択する手法です。BPEはGPT系・Llama系で広く採用され、WordPieceはBERT系モデルで使われています。BPEの方が実装がシンプルで高速なため、2026年現在の大規模LLMではBPEが主流です。

Q4: トークナイザーの語彙サイズはどのくらいが最適ですか? A: 最適な語彙サイズはモデルの用途と対象言語に依存しますが、2026年の大規模LLMでは100,000〜256,000が主流です。語彙サイズを2倍にすると埋め込み層のパラメータ数も2倍になりますが、シーケンス長が短縮されるためTransformerの計算量はO(n²)で削減されます。Gemma 2の256,128語彙は多言語性能で優れ、Mistralの32,768語彙はモデルサイズ効率で優れるというトレードオフがあります。

まとめ

  • トークナイザーアーキテクチャはLLMの入力処理の基盤であり、分割アルゴリズム・語彙テーブル・特殊トークン・正規化ルールで構成される
  • 2026年現在、BPE(GPT-4o、Llama 3)とSentencePiece Unigram(Gemma 2、T5)が二大主流
  • 語彙サイズは32,000〜256,000の範囲で、多言語対応と計算効率のトレードオフで決定される
  • 日本語トークン効率はモデルにより0.9〜1.8トークン/文字と大きく異なり、Qwen 2.5やGemma 2が高効率
  • トークナイザーの変更はモデル再学習を伴うため、モデル設計初期の重要な意思決定ポイントである