ホームへ戻る

開源模型工具鏈

Hugging Face Tokenizers 0.23.2、BPEトレーナーに言語間公平性の目標を導入

新バージョンではParity-aware BPEを追加し、各マージで全体の最高頻度だけを追求するのではなく、圧縮効率が最も低い言語の改善を優先する。この機能は新しい語彙表の訓練に利用できるが、既存モデルにおける中国語のtokenコストを自動的に改善するものではない。

Pam Brophy · CC BY-SA 2.0 · Image source
zh-Hant

Hugging Faceは9月3日、Tokenizers 0.23.2をリリースし、主要なRust/Pythonのトークナイゼーション・ツールチェーンとして初めて、Parity-aware BPEの実装と`ParityBpeTrainer`を提供した。これはTokenizersが1.0に移行する前の最後の0.xバージョンとなる。新しいトレーナーに加え、`get_vocab_size()`で語彙全体をコピーする処理を削減し、モデルの読み取りロックもpre-tokenごとではなく、呼び出しごとに一度だけ取得するよう変更された。

従来のBPEは各ラウンドで、コーパス全体に最大の頻度または圧縮上の利得をもたらすシンボル対をマージする。訓練データが英語などの高リソース言語に偏っている場合、このグローバルな目標によって語彙容量の多くが優勢な言語に割り当てられ、ほかの言語では同じ内容を表現するためにより多くのtokenが必要になる。Parity-aware BPEは代わりにmax-min戦略を採用する。まず現時点で圧縮率が最も低い言語を特定し、その言語を最も改善できるマージを選択する。マージ自体は引き続きコーパス全体に適用されるため、最終成果物は単一の共有語彙表のままである。

元の研究では、不均衡な30言語および60言語のデータセットを使って128K、256Kの語彙表を訓練し、アラインメント済みコーパスを用いて、UTF-8バイト数ではなく内容に基づいて圧縮率を比較した。著者らは、言語間のtokenコストにおけるGini格差が縮小したと報告している。また、混合戦略で訓練した3Bモデルでは、従来のBPEと比べた言語別精度の変化の中央値がプラス0.19ポイントとなり、公平化による全体的な能力の明確な低下は見られなかった。ただし、すべての文字体系が一様に恩恵を受けたわけではない。論文のscript別分析では、CJKの語彙利用率について、従来のBPEがすべての公平性重視版を依然として上回っていた。

今回のリリースが重要なのは、研究段階のアルゴリズムが論文付属コードにとどまらず、データパイプラインへ直接組み込める公開コンポーネントになった点だ。ただし、マージ規則を変更できるのは新しいtokenizerを訓練する場合に限られる。既存モデルではembeddingとtoken IDがすでに固定されているため、パッケージをアップグレードするだけでは適用できない。チームは言語ラベルも用意する必要があり、開発セットとして小規模な並列コーパスを別途準備することが望ましい。そうしなければ、バイト数や空白区切りの語境界に基づく評価が、中国語などの文字体系に新たなバイアスを持ち込む可能性がある。今後検証すべき点は、大規模訓練に要する時間、繁体字・簡体字中国語およびコード混在コーパスでの実際のコスト、そして新版の実装が論文で示された公平性と下流タスク品質の結果を再現できるかどうかである。

出典

  1. Tokenizers v0.23.2 release notes
  2. tokenizers 0.23.2
  3. Parity-Aware Byte-Pair Encoding: Improving Cross-lingual Fairness in Tokenization