vLLM V1移行で発覚した推論精度問題をServiceNowが修正

推論強化学習GRPO

発覚した4つの問題

logprobの意味的差異
V1固有のランタイム設定差
学習中の重み更新パス不一致
fp32 lm_headの精度差

修正の原則と成果

推論の正確性を最優先で修正
目的関数の補正は後回し
V0基準と同等の学習曲線を再現
RL全般に応用可能な知見
詳細を読む

ServiceNowのAI研究チームは2026年5月6日、強化学習フレームワークPipelineRLで使用する推論エンジンをvLLM V0からV1へ移行する際に発覚した4つの推論精度問題とその修正過程を公開しました。vLLM V1はV0の大規模な書き直しであり、ロールアウト時のlogprob(トークンの対数確率)がRL学習の方策比率やKL、クリップ率、報酬に直接影響するため、わずかな計算の不一致が学習動態を変えてしまいます。

最初の問題はlogprobの意味的な違いでした。V1はデフォルトで温度スケーリングやペナルティ適用前の「生の」logprobを返しますが、PipelineRLはサンプラーが使用する「処理済み」の分布からのlogprobを期待していました。設定をprocessed_logprobsに変更することで平均オフセットは解消されましたが、クリップ率やKLにはまだ差が残りました。

次に、V1固有のランタイムデフォルト設定が問題でした。プレフィックスキャッシュと非同期スケジューリングがV1のデフォルトで有効になっており、オンラインRL環境では重み更新の境界を無視してキャッシュが再利用される可能性がありました。これらを明示的に無効化し、さらに重み更新時のパスもV0の挙動に合わせて調整しました。

最後の問題はfp32 lm_headの精度でした。学習側では最終射影にfp32を使用していましたが、推論側が一致していませんでした。MiniMax-M1やScaleRLの論文でも同様の問題が報告されており、RL学習におけるlogit計算の精度が訓練の正確性に直結することが改めて確認されました。

チームが強調するのは、推論バックエンドの正確性を先に修正するという原則です。目的関数側の補正(重要度サンプリングの切り詰めなど)を先に適用すると、推論のバグを隠蔽してしまい、学習曲線の解釈が困難になります。4つの修正を適用した結果、V1の学習曲線はV0基準とほぼ一致し、PPOやGRPOなど他のオンラインRL手法にも応用可能な知見となっています。