SentencePieceに実装されたサブワードトークナイゼーションアルゴリズム。大きな初期語彙から確率モデルに基づいて不要なトークンを逐次削除し、最適な語彙を構築するトップダウン手法。T5・ALBERT・mBARTなどGoogleモデルが採用し、BPEにはないサブワードサンプリングによる訓練正則化が可能。
Unigram Tokenizerは、テキストをサブワード単位に分割するトークナイゼーションアルゴリズムの一つである。BPE(Byte Pair Encoding)がボトムアップ(小さなトークンをマージして大きなトークンを構築)であるのに対し、Unigramはトップダウン(大きな初期語彙から不要なトークンを削除して最適化)のアプローチを取る。2018年にGoogleの工藤拓によってSentencePieceの一部として提案された。
Unigramモデルの学習は以下のステップで進行する。
| 比較軸 | BPE | Unigram |
|---|---|---|
| アプローチ | ボトムアップ(マージ) | トップダウン(削減) |
| 初期語彙 | 文字/バイト(256〜数百) | 大量の候補(100万〜) |
| 学習方向 | 小→大(ペアをマージ) | 大→小(不要トークンを除去) |
| 分割の確定性 | 決定的(一意の分割) | 確率的(複数の分割候補) |
| 計算コスト | 低い | 高い(EM推定が必要) |
Unigramモデルの最大の特徴は、同一テキストに対して複数の分割候補を確率的にサンプリングできる点だ。
例えば「unbreakable」というテキストは以下のように複数の分割が可能:
un break able(確率 0.45)un breakable(確率 0.30)unbreak able(確率 0.20)unbreakable(確率 0.05)BPEでは訓練時のマージルールに基づいて常に同一の分割結果が得られるが、Unigramでは確率分布に従ってランダムに異なる分割を選択できる。これをモデル訓練時に利用すると、同じテキストが異なるトークン列として入力される効果(データ拡張 / 正則化)が得られ、過学習の抑制が期待できる。
SentencePieceのオリジナル論文(Kudo, 2018)では、Unigramのサブワードサンプリングが機械翻訳タスクでBLEUスコアを0.5〜1.0ポイント改善することが報告されている。
| 設定 | WMT英独 BLEU | WMT英日 BLEU |
|---|---|---|
| BPE(決定的分割) | 27.8 | 28.5 |
| Unigram(決定的分割) | 27.9 | 28.7 |
| Unigram(サンプリングあり) | 28.5 | 29.3 |
サンプリング温度パラメータ α で確率分布の鋭さを調整する。α=1.0 で元の確率分布通り、α→0 で最尤分割(BPE的な決定的分割)に近づく。実用的には α=0.1〜0.5 が推奨される。
| モデル | 語彙サイズ | Unigramを選んだ理由 |
|---|---|---|
| T5 / Flan-T5 | 32,000 | Googleの多言語対応標準 |
| ALBERT | 30,000 | パラメータ効率最適化との親和性 |
| mBART-50 | 250,054 | 50言語対応の多言語翻訳 |
| XLNet | 32,000 | 順列言語モデルの訓練安定化 |
| DeBERTa V3 | 128,000 | 置換トークン検出の多様性確保 |
Google系のモデルはUnigramを好む傾向があり、Meta / OpenAI系はBPEを好む傾向がある。これは設計哲学の違いであり、両者の最終的な性能差は多くのタスクで統計的有意差がない程度に小さい。
SentencePieceでUnigramモデルを訓練する例:
# Unigramモデルを32000語彙で学習
spm_train --input=corpus.txt \
--model_prefix=unigram_model \
--vocab_size=32000 \
--model_type=unigram \
--character_coverage=0.9995
character_coverage パラメータは初期語彙に含める文字の網羅率を指定する。日本語や中国語など文字種が多い言語では0.9995程度に設定し、希少文字も初期語彙に含めることが推奨される。
多くのベンチマークで両者の性能差は小さく、タスクやデータに依存します。Unigramはサブワードサンプリングによる訓練正則化効果がある点で理論的な優位性がありますが、BPEの方が実装がシンプルで広く採用されています。2026年時点ではBPEが業界標準の位置にあります。
主な理由は3つあります。第一にBPEが先にGPT-2で大規模に成功し業界標準となったこと、第二にUnigramの学習がEM推定を含むためBPEより計算コストが高いこと、第三にOpenAI/Metaの主要モデルがBPEを採用し続けたことでエコシステムがBPE中心に発展したことです。
いいえ。サブワードサンプリングは訓練時のデータ拡張として使う手法で、推論時には最尤分割(Viterbiデコード)を使うのが標準です。推論時にサンプリングを使うと出力が非決定的になり、再現性が失われます。