← 最新の論文
🤖 machine learning

Gauge dependence and structured-output corruption in sign-branched repetition penalties: measurements across models, inference stacks, and alternative repetition controls

本論文は、LLMの推論エンジンにおいて広く用いられている符号分岐型リピティションペナルティ(sign-branching repetition penalty)が、任意のロジットのゼロ点が依存しているために根本的に欠陥があることを示しており、それがモデル間でのトークン選択の極端な不安定性や構造化されたJSON出力における壊滅的な失敗を引き起こしていること、そしてこの問題は、ペナルティを生のロジットではなく正規化された対数確率に適用することによって解決されることを示している。

原著者: Peter Hollows

公開日 2026-07-14
📖 1 分で読めます☕ さくっと読める

原著者: Peter Hollows

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

想像してみてください。あなたは、物語を語るのが大好きな、ものすごく賢いロボット作家を所有しています。時々、そのロボットはループに陥り、壊れたレコードのように同じ言葉を何度も繰り返してしまいます。これを直すために、エンジニアたちはロボットに「反復ペナルティ(repetition penalty)」というつまみを授けました。考え方はシンプルです。もしロボットがたった今使った言葉を使おうとしたら、そのつまみを回して、その言葉が選ばれにくくし、ロボリズムが次に進むように強制するのです。

長年、Hugging FaceからvLLM、llama.cppに至るまで、世界中のほぼすべてのロボット作家が、全く同じ種類のつまみを使用してきました。しかし、この論文はある衝撃的な秘密を明らかにしています。この特定のつまみは、間違った数字を見ているために壊れているのです。

壊れたコンパス

このグリッチを理解するために、ロボットの脳が、あらゆる可能な単語にスコアが付いた巨大な地図であると想像してください。プラスのスコアは「これが言いたい」を意味し、マイナスのスコアは「これは言いたくない」を意味します。この地図は柔軟です。ロボットは、すべてのスコアに一定の数を加えることで、地図全体を左右にスライドさせることができます(これは、どの単語が次に選ばれるかを変えることなく、マップ全体を移動させる行為です)。それは、地図上の街全体を動かすようなものです。街が別の国に移ったとしても、通り同士の相対的な順序は変わりません。

壊れたつまみは、繰り返された言葉をどれくらい罰するかを決める際、そのスコアがプラスかマイナスかをチェックすることで判断を下そうとします。

  • もしスコアがプラスなら、その数値をペナルティ係数で割り(数値を小さくし)、
  • もしスコアがマイナスなら、その数値にペナルティ係数を掛けます(数値をよりマイナスにします)。

ここでの問題は、「プラス」と「マイナス」の境界線は恣意的なものであるということです。ロボットは、挙動を変えることなくマップ全体を左右にスライドさせることができるため、あるロボットにとっての「プラス」は別のロボットにとっての「マイナス」になり得ますし、同じロボットであってもマップを少しずらすだけで変わってしまうことがあります。

この「符号分岐(sign-branch)」(数値がプラスかマイナスかをチェックすること)は、ロボットの学習によって実際には固定されていない座標を見ているのです。それは、ダッシュボードが現在「赤」のゾーンにあるか「青」のゾーンにあるかに基づいてステアリングを切ろうとする車の運転のようなものです。実際には、ダッシュボード全体が前後へスлоイド(スライド)できる可能性があるのに、です。

「同じつまみ、異なる結果」の混沌

このスライドするマップのせいで、つまみの同じ設定(例えば 1.3)であっても、ロボットごとに全く異なる結果をもたらします。

  • あるロボット(例:gpt2)では、1.3 という設定は繰り返された単語の84%を罰するかもしれません。
  • 別のロボット(例:Qwen2.5-Coder-7B)では、同じ 1.3 という設定が、ほとんどの単語を罰しないか、あるいは全く異なる方法で罰するかもしれません。

著者らは、単一のロボットを取り上げ、そのマップを左右にスライドさせることでこれをテストしました。その結果、標準的な設定である 1.3 を使用した場合、マップがわずかにスライドしただけで、ロボットは自身の選択の**58%から96%**において考えを変えてしまうことが分かりました!

  • もし「減算的(subtractive)」なペナルティ(単に数値を引くだけ)を使用すれば、ロボットの状態は変わりません。
  • しかし、標準的な「乗法的(multiplicative)」な符号分岐を使用すると、マップが少し動いただけで、ロボットはほぼすべての単語の選択において考えを変え、混乱に陥ります。

これは、あなたが 1.3 という設定でうまく機能するようにロボットを調整しているとしても、実際には、その特定のロボットが偶然持っている特定の「ゼロ地点」に合わせて調整しているに過ぎないことを意味します。もしそのロボットを別のコンピュータに移したり、ソフトウェアをアップデートしたりすれば、その同じ設定が壊れてしまう可能性があるのです。

JSONの惨劇

このバグの最も危険な部分は、「構造化出力(structured output)」を破壊することです。これは、すべての波括弧 { を閉じたり、カンマ , を追加したりといった、厳格なルールに従わなければならないコードやJSON(データの特定の形式)をロボットに書かせる場合です。

これらのルールは、ロボットに特定の記号を繰り返させる必要があります。しかし、ペナルティは生の数値を見ているため、しばしば「必要なルール」を「悪い反復」と誤認してしまいます。

  • 論文では、200個の実際のJSONスキーマを用いてこれをテストしました。
  • 標準的な設定である 1.3 を使用すると、有効で動作するJSON出力の割合が、97% からわずか 23% へと急落しました。
  • ロボットは、ペナルティが間違った数値に対してあまりにも攻撃的であったために、文法を壊したり、ブラケットを閉じるのを忘れたり、カンマを欠落させたりし始めたのです。

これはシミュレーション上の推測ではありません。著者らは、コード特化型のモデルを含む5つの異なるモデルでこれを直接測定し、主要なソフトウェアスタック(Hugging Face、vLLM、および llama.cpp)のすべてで同じクラッシュが発生することを確認しました。

解決策:先に正規化する

論文は、シンプルで証明された解決策を提示しています。生の、スライドする数値を見るのではなく、正規化された確率(normalized probabilities)(ある単語が選ばれる実際の確率の割合)を見るべきだということです。

  • 確率は常に0から1の間であるため、スライドすることはありません。
  • 著者らがペナルティを(生のスコアではなく)これらの正規化された数値に適用したところ、混沌は消え去りました。
  • 「反転率(flip rate)」(スライドによってロボットが考えを変える頻度)は 0.00 に低下しました。
  • 1.3 におけるJSONの成功率は、再び 97% まで回復しました。

Hugging Faceにはすでに LogitNormalization というこの処理を行うツールがありますが、それはデフォルトではオフになっており、ペナルティの「後」に実行されます。論文は、もしこれをオンにして、ペナルティの「前」に実行するようにすれば、安定して信頼できる結果が得られ、どのようなモデルに対しても同様に機能することを示唆しています。

結論

現在、ほぼすべてのAIエンジンに搭載されている「乗法的反復ペナルティ(multiplicative repetition penalty)」は、スライドしてしまう数値に基づいているため、根本的に欠陥があります。それはユニバーサルなつまみではなく、マシンごとに異なる結果を与える壊れたダイヤルなのです。

  • 何が起きているのか: AIの記述内容に、予測不可能な大規模な変化を引き起こし(58〜96%の選択が反転する)、JSONのような構造化フォーマットを破壊します(妥当性が97%から23%に低下)。
  • 何ではないのか: これは「機能」ではなく、長年業界にコピーされ続けてきた「バグ」です。
  • 解決策: 数値を先に正規化することです。これにより、スライドするマップの問題が取り除かれ、使用しているロボットがどのようなものであっても、ペナルティが一貫して動作するようになります。

著者らは複数のモデルとソフトウェアスタックにわたってこれを測定しました。結果は明白です。現在の標準は壊れており、修正策はすでに用意されています。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →