LLM強化学習で「推論と学習の確率乖離」が判明、vLLMとTransformersで最大0.2超のズレ
要点
-
大規模言語モデル(LLM)の強化学習において、テキスト生成を行う推論システムと、モデル更新を行う学習システムの間で、同一トークンの出力確率にズレが生じることが明らかになった。
-
同じモデルの重みやデータ型を使用している場合でも、アテンション(注意機構)の計算方法や浮動小数点数の処理、CUDAカーネルなどの違いによって確率の乖離が発生する。
-
オンポリシー(自ら生成したデータで学習する手法)を前提とする強化学習アルゴリズムでは、このズレが確率比の計算を歪め、モデルの更新量に悪影響を及ぼす可能性がある。
-
検証実験の結果、約8割のトークンでは確率がほぼ一致したものの、特定のトークンにおいて最大0.215の確率差が観測された。
-
株式会社ABEJAのデータサイエンティストである服部氏は2026年6月8日、同社の技術ブログにて、大規模言語モデル(LLM)の強化学習で生じる「ロールアウト・ミスマッチ(Rollout Mismatch)」と呼ばれるポリシー(トークンの出力確率)のズレと、その検証結果を公開した。同一のモデルの重みやデータ型を用いていても、テキスト生成を行う推論システムとモデルを更新する学習システムの間で、トークンの出力確率が完全には一致しない現象が起きているという。
LLM強化学習におけるシステム分離とボトルネック
LLMの強化学習(モデルに出力傾向を学習させる手法)では、GRPO(グループ相対方策最適化)やPPO(近接方策最適化)といったアルゴリズムが広く使われている。これらの手法は、現在のモデル(ポリシー)に基づいてテキストを生成する「ロールアウト(推論プロセス)」を行い、その出力と報酬を基にモデルを更新する。
しかし、同一入力に対して複数の出力を生成する点や、思考プロセスの導入などにより推論に時間がかかるため、学習処理よりもロールアウトの実行時間がボトルネックになりやすい。
そのため実際のシステムでは、学習側(MegatronやFSDPなど)とロールアウト側(vLLMやSG-Langなど)で処理を実行するシステム基盤(バックエンド)を分離する構成が一般的だ。
バックエンド分離がもたらす「ポリシーのズレ」
このようにバックエンドを分離すると、システム間で仮定するポリシーが一致しない課題が生じる。このズレは、浮動小数点精度(FP16、BF16など)の違いや、アテンション(注意機構)の実装差、ライブラリやサンプリング処理の差、GPU向け計算命令群であるCUDAカーネルの差異などが原因だ。
強化学習では、ロールアウトで生成されたトークン列に対し、現在のポリシーと古いポリシー(𝜋_old)の確率比を計算して更新する。この計算は、分母の古いポリシーが、実際にトークン列を生成したポリシー(オンポリシー)であるという前提に基づいている。
しかし、推論側ポリシー(𝜇)と学習側が再計算したポリシー(𝜋_old)に乖離があると、実際には𝜇から生成されたデータであるにもかかわらず、学習時には𝜋_oldから得られたものとして処理され、大前提が崩れてしまう。
確率比の計算に与える具体的な影響
例えば、推論側での出力確率が0.6のトークンが、学習側で0.3と再計算されたとする。このトークンは推論側では出やすいものとして生成されているが、学習側では「出現しにくかったトークン」と誤って認識される。
もし現在のポリシーでの確率が0.6のままであれば本来の比率は「1.0」だが、学習側の確率を使うと「2.0」になる。ポリシーが変化していない場合でも確率が2倍に増えたように見え、モデルの更新量や値の変動幅を制限するクリッピング処理に歪みが生じる。
vLLMとTransformersを用いた実証実験
このズレの実態を測るため、服部氏はQwen3-4Bモデルを用いて検証実験を行った。GPU(A6000)上で、vLLMを用いて生成したテキストの確率(推論側)と、同じトークン列をHuggingFaceのTransformers(LLMの代表的なライブラリ)に入力して再測定した確率(学習側)を比較した。
モデルの重みやデータ型(bf16:機械学習で広く使われる16ビットの浮動小数点形式)は同一であり、純粋にvLLMとTransformersの実装の違いのみに起因する差を測定している。
測定結果:一部のトークンで最大0.2超の乖離を観測
約3900トークンを対象にした比較測定の結果、確率の差が0.001未満(ほぼ完全一致)のトークンが全体の81.1%を占め、大半は一致することが確認された。
一方で、一部のトークンで無視できないズレが発生した。確率のズレの大きさの分布は以下の通りである。
- 確率の差が0.01以上:10.9%
- 確率の差が0.05以上:2.0%
- 確率の差が0.10以上:0.3%
- 最大の確率のズレ:0.215
具体例として、オーストラリアの首都に関する質問の回答文で「Sydney」というトークンが出力された際、vLLM側の確率は0.59だったのに対し、Transformers側では0.38となり、0.21もの差が生じた。ほかにも、「the」(vLLM: 0.67、Transformers: 0.50)や「is」(vLLM: 0.57、Transformers: 0.44)などの一般的なトークンでも乖離が見られた。
服部氏は、8割以上のトークンは一致しているものの、一部で生じる0.2近い確率のズレが、計算プロセス全体に無視できない影響を与える可能性があると指摘している。