トークナイザー語彙サイズ(トークナイザーゴイサイズ)
トークナイザー語彙サイズ(Vocabulary Size)は、LLMのトークナイザーが保持するユニークなトークン(サブワード単位)の総数を指す。GPT-4oの200,019からMistralの32,768まで、モデルによって大きく異なり、多言語対応力・トークン効率・埋め込み層パラメータ数・推論速度に直結する設計パラメータである。
トークナイザー語彙サイズとは
トークナイザー語彙サイズ(Vocabulary Size)は、LLMのトークナイザーが認識可能なユニークトークンの総数であり、テキストを数値表現に変換する際の「辞書のサイズ」に相当する。2026年現在、GPT-4oのo200k_base(200,019トークン)やGemma 2(256,128トークン)のように大語彙化が進む一方、Mistral Large(32,768トークン)やPhi-3(32,064トークン)のように計算効率を重視した小語彙設計も存在する。
概要
語彙サイズはLLMアーキテクチャにおける最重要ハイパーパラメータの一つである。語彙サイズVのトークナイザーを持つモデルは、V次元の埋め込み行列(V × d_model)を入出力層に保持し、任意のテキストをV種類のトークンIDに変換する。
語彙サイズの選択には以下のトレードオフが存在する:
- 大語彙(100K〜256K): トークン効率が高く(短いシーケンスで同じテキストを表現可能)、多言語対応に優れるが、埋め込み層のパラメータ数が大きくなる
- 小語彙(32K〜50K): 埋め込み層が軽量でモデルサイズを抑えられるが、日本語・中国語などの非ラテン文字言語のトークン効率が低下しやすい
主要モデルの語彙サイズ比較
| モデル | 語彙サイズ | 隠れ次元 | 埋め込み層パラメータ数 | 日本語効率 (トークン/文字) |
|---|---|---|---|---|
| Gemma 2 27B | 256,128 | 4,608 | 1.18B | ≒1.1 |
| GPT-4o | 200,019 | 推定12,288 | 推定2.46B | ≒1.2 |
| Qwen 2.5 72B | 151,643 | 8,192 | 1.24B | ≒0.9 |
| Llama 3.1 405B | 128,256 | 16,384 | 2.10B | ≒1.5 |
| Command R+ | 256,000 | 12,288 | 3.15B | ≒1.0 |
| Mistral Large | 32,768 | 8,192 | 268M | ≒1.8 |
| Phi-3 Medium | 32,064 | 5,120 | 164M | ≒2.0 |
| BERT base | 30,522 | 768 | 23M | ≒2.5 |
語彙サイズが性能に与える影響
トークン効率
語彙が大きいほど、頻出する文字列パターンが単一トークンとして辞書に含まれる可能性が高くなる。GPT-4oがcl100k_base(100K語彙)からo200k_base(200K語彙)に移行した際、英語テキストで平均5〜10%、多言語テキストで平均15〜20%のトークン数削減が報告された。
多言語対応
日本語・中国語・韓国語・アラビア語などの非ラテン文字言語は、語彙テーブルに十分な文字・単語が含まれていないとトークン効率が著しく低下する。Qwen 2.5は151,643語彙のうち推定40%以上を中日韓文字に割り当て、日本語で0.9トークン/文字という業界最高水準の効率を達成している。
計算コスト
語彙サイズVのモデルは、出力層のsoftmax計算がO(V)となる。V=256Kの場合、V=32Kと比較してsoftmax計算量が8倍になる。ただし、実際のLLM推論ではTransformerの自己注意機構の計算量O(n²d)が支配的であるため、語彙サイズの影響は相対的に小さい。
メモリ消費
埋め込み行列のサイズはV × d_model × 2(入力埋め込み + 出力射影が分離されている場合)で計算される。Gemma 2の場合、256,128 × 4,608 × 2 = 約2.36Bパラメータ(FP16で約4.7GB)が埋め込み層だけで消費される。
語彙サイズの決定プロセス
実務でのLLM語彙サイズ決定は以下の要素を考慮する:
- 対象言語: 英語のみなら32K〜50Kで十分、多言語なら100K〜256Kが推奨
- モデルサイズ: 小規模モデル(1B〜7B)では語彙サイズが全パラメータに占める割合が大きいため、32K〜50Kに抑える傾向
- 学習コーパスの言語比率: 日本語・中国語テキストの比率が高いほど、大語彙による効率改善効果が大きい
- デプロイ環境: エッジデバイスではメモリ制約から小語彙が有利
- 推論コスト: APIベースのサービスではトークン数課金のため、大語彙による効率改善がコスト削減に直結
語彙サイズの歴史的変遷
| 世代 | 代表モデル | 語彙サイズ | 年 |
|---|---|---|---|
| 第1世代 | Word2Vec | 数万〜数十万(単語単位) | 2013 |
| 第2世代 | BERT | 30,522 | 2018 |
| 第3世代 | GPT-2 | 50,257 | 2019 |
| 第4世代 | GPT-3 | 50,257 | 2020 |
| 第5世代 | Llama 2 | 32,000 | 2023 |
| 第6世代 | GPT-4 | 100,256 | 2023 |
| 第7世代 | GPT-4o | 200,019 | 2024 |
| 第8世代 | Gemma 2 | 256,128 | 2024 |
よくある質問(FAQ)
Q1: 語彙サイズは大きいほど良いのですか? A: 一概にはそうとは言えません。大語彙はトークン効率と多言語性能に優れますが、埋め込み層のパラメータ数が増大し、小規模モデルではパラメータの無駄遣いになります。Phi-3(14Bパラメータ)が32K語彙を選択したのは、7〜14Bクラスでは256K語彙の埋め込み層(1B+パラメータ)が全体に占める割合が大きすぎるためです。
Q2: 同じ語彙サイズでもモデルごとにトークン効率が違うのはなぜですか? A: 語彙の「中身」が異なるためです。同じ100K語彙でも、日本語テキストを多く含むコーパスから学習したトークナイザーは日本語のトークン効率が高くなります。Qwen 2.5(151K語彙)がLlama 3(128K語彙)より日本語効率で優れるのは、語彙サイズの差よりも、学習コーパス中の中日韓テキスト比率の違いが主因です。
Q3: トークナイザーの語彙を後から追加・変更できますか? A: 技術的には可能ですが、埋め込み層の再学習が必要です。語彙を追加する場合、新トークンの埋め込みベクトルを既存ベクトルの平均やランダム初期化で追加し、追加学習(Fine-tuning)で調整します。ただし、大幅な語彙変更はモデル全体の事前学習をやり直すのと同等のコストがかかるため、実務では新バージョンのモデルとして再学習するのが一般的です。
まとめ
- 語彙サイズはLLMの多言語性能・トークン効率・モデルサイズを規定する重要ハイパーパラメータ
- 2026年現在、32K(Mistral/Phi-3)〜256K(Gemma 2/Command R+)まで幅広い設計が共存
- 大語彙化トレンドが進行中で、GPT-4oの200K語彙やGemma 2の256K語彙が最先端
- 日本語トークン効率はQwen 2.5(0.9トークン/文字)が最高水準、Mistral(1.8トークン/文字)が最低水準
- 語彙サイズの選択は対象言語・モデル規模・デプロイ環境のバランスで決定される