多言語トークナイゼーション(タゲンゴトークナイゼーション)
複数の言語を効率的にトークン分割するための設計戦略。語彙配分、文字カバレッジ、スクリプト固有の前処理を最適化し、言語間のトークン効率格差を最小化する技術。
多言語トークナイゼーションとは
多言語トークナイゼーションは、1つのトークナイザーで100以上の言語を効率的に処理するための設計技術です。英語だけを対象とする場合は3〜5万語彙で十分ですが、日本語・中国語・アラビア語・ヒンディー語など多様な文字体系をカバーするには語彙配分の最適化が不可欠です。
言語間のトークン効率格差
同じ意味の文章でも、言語によってトークン数が大きく異なります。これを「Fertility Gap(トークン効率格差)」と呼びます。
| 言語 | 文章 | GPT-2 tokens | GPT-4o tokens | 改善率 |
|---|---|---|---|---|
| 英語 | "Build a custom PC" | 4 | 4 | 0% |
| 日本語 | "自作PCを組み立てる" | 11 | 5 | 55% |
| 中国語 | "组装电脑" | 8 | 3 | 63% |
| アラビア語 | "تجميع جهاز الكمبيوتر" | 15 | 6 | 60% |
| ヒンディー語 | "कस्टम पीसी बनाएं" | 18 | 7 | 61% |
GPT-2の50K語彙では非英語テキストが2〜4倍のトークンを消費していましたが、GPT-4oの200K語彙で格差が大幅に縮小しています。
多言語トークナイザーの設計課題
語彙配分の最適化
限られた語彙サイズの中で、各言語にどれだけのトークンスロットを割り当てるかが最も重要な設計判断です。
- 均等配分: 全言語に同数のトークンを割り当て。マイナー言語に有利だが、英語の効率が低下
- データ比例配分: 学習データの量に比例して配分。英語に偏るが全体効率は最大化
- 対数比例配分: データ量の対数に比例。均等と比例の中間で最も一般的
文字体系(Script)の多様性
世界の言語は多様な文字体系を使用しており、トークナイザーの設計に影響します。
| 文字体系 | 言語例 | 特徴 | 課題 |
|---|---|---|---|
| ラテン文字 | 英語、仏語、独語 | アルファベット26文字 | ダイアクリティクス(é, ü等)の扱い |
| CJK | 日本語、中国語、韓国語 | 数千〜数万文字 | 語彙を大量に消費 |
| アラビア文字 | アラビア語、ペルシャ語 | 右から左、連結形 | 文字結合の正規化 |
| デーヴァナーガリー | ヒンディー語、サンスクリット | 子音+母音の結合文字 | Unicode正規化が複雑 |
| ハングル | 韓国語 | 子音+母音の組合せブロック | 11,172個の完成形ブロック |
CJK文字の扱い
日本語・中国語で使われる漢字は数千種に及び、Byte-level BPEでは1漢字が2〜3バイトトークンに分解されがちです。対策として以下のアプローチが採用されています。
- 語彙サイズ拡大: Gemma 2の256K語彙は高頻度漢字を個別トークンとして収録
- 事前分割(pre-tokenization)の改善: 漢字を1文字ずつ分割してからBPEを適用するパターンの回避
- バイトフォールバック + 大語彙: 基本漢字は個別トークン、稀な漢字はバイト表現
最新の取り組み
Tokenizer-Agnostic Models
トークナイザーの選択がモデル性能を制約する問題を回避するため、バイトレベルで直接モデルを学習するアプローチ(MegaByte、ByT5)が研究されています。トークナイザーが不要になる一方、シーケンス長が3〜4倍に増加するため計算コストが課題です。
Language-Adaptive Tokenization
推論時に入力言語を検出し、言語ごとに最適化されたトークナイザーを動的に切り替えるアプローチです。語彙の共有と言語特化を両立できますが、実装の複雑さが増します。
Tokenizer Merging
異なるコーパスで学習した複数のトークナイザーの語彙を統合し、各言語の強みを維持した統一トークナイザーを構築する手法です。
FAQ
Q1: 英語しか使わないのに多言語トークナイザーは必要ですか?
多言語トークナイザーは英語の効率がやや低下(語彙の一部が他言語に配分されるため)しますが、コード中のUnicode文字列、外国語の固有名詞、多言語ドキュメントの処理で恩恵があります。英語専用モデルなら英語特化トークナイザーの方が効率的です。
Q2: 多言語トークナイザーの学習データはどう集めますか?
CommonCrawl、Wikipedia、mC4(多言語Common Crawl)、OPUS(多言語並列コーパス)などの公開データセットが主要なソースです。各言語のデータ量のバランスを取るため、高資源言語をダウンサンプリングし、低資源言語をアップサンプリングする前処理が標準的です。
Q3: APIコストが言語によって違うのはトークナイザーのせいですか?
はい。APIの課金はトークン数ベースのため、同じ意味の文章でもトークン効率が低い言語ほどコストが高くなります。GPT-4oのo200k_baseエンコーディングへの移行は、この不公平を是正する目的も含まれています。