TL;DR

推論と学習で別実装を使うBF16のLLM強化学習では、同じ重みでも中間値の丸め位置が違うと学習が不安定化する。学習側のRoPE・SwiGLU・残差RMSNormだけを推論側の丸め位置に合わせると、検討したQwen系4モデルで既定BF16の崩壊を防ぎ、RoPEのみでも安定した。推論エンジンや行列積・注意カーネル、学習目的は変えない。ただし対象はQwen系と特定の評価設定に限られる。

既存手法との違い

原論文の主比較は、既定BF16、学習側RoPEのみFP32、3領域FP32、zero-mismatch backend(図3の凡例)などの条件間である。既存研究としては、推論・学習スタック全体の一致、FP16への全体精度変更、重要度サンプリング補正・切り詰め・マスク、batch-invariantカーネル、モジュール単位の一致、RoPE/SwiGLUの丸め位置一致などが挙げられている。ただし、これら既存手法を同一設定で横比較した結果は提示本文からは確認できない。本手法の違いは、推論エンジン、行列積・注意カーネル、学習目的を変えず、学習側の選択した丸め位置だけを推論側に合わせる点にある。

使える条件

BF16のLLM強化学習で、vLLMによる生成とHugging Face Transformersによる確率再計算・更新を分ける構成が前提。学習目的はPPO-clipped GRPOで、追加の不一致補正は使わない設定。学習側の再計算でRoPE、SwiGLU、残差RMSNormの点演算・正規化を変更でき、対象中間値をFP32で保持して各領域出力をBF16に戻せる必要がある。評価はQwen2/Qwen3系の4モデル(DeepSeek-R1-Distill-Qwen-1.5B、Qwen3-1.7B、Qwen3-4B-Base、Qwen3-8B-Base)で、MATH部分集合Sanity-Test-R1D-1.5BとAIME 2025を使用。静的解析は3モデル。3領域を合わせた場合、forward-and-backwardレイテンシが5.33–10.92%、ピーク割当メモリが0.41–0.89 GiB/GPU増えると報告されている(3モデル)。

限界と未検証の範囲

評価はQwen系4モデルと特定のRL設定・データに限られ、他モデル系、他推論エンジン、FP8/量子化、異なる並列化・reduction順、他のRL目的・タスクへの一般化は提示本文からは確認できない。完全な数値一致を達成するものではなく、検討した実行ではRoPEのみでも安定したが、常に十分とは限らない。静的解析ではSwiGLUの寄与が負のモデルもあり、中間精度を上げれば必ず不一致が減るわけではない。3領域一致にはレイテンシとメモリの追加コストがある。zero-mismatch backendの詳細や大規模・長期訓練での挙動も提示本文からは確認できない。

解説

AMI HAPPY

ねえ智也、このブログの『LLM強化学習のBF16不安定化を抑える選択的丸め位置合わせ』って、BF16で強化学習すると不安定になりがちって話?

TOMOYA NEUTRAL

そう。LLMのRLでは推論エンジンで生成して、別の学習実装で確率を計算し直すことが多い。同じ重みとBF16でも、実装が違うと確率がずれて、意図したon-policy更新がoff-policyっぽくなる。これが安定性を壊す一因。

AMI SURPRISED

丸め位置って何?

TOMOYA NEUTRAL

同じBF16出力でも、途中の中間値をBF16に丸めてから次に渡すか、FP32のまま保持して最後だけBF16に戻すかで、次の演算に入る値が変わる。融合カーネルと分離カーネルでこの位置がずれる。論文はこれをrounding-location mismatchと呼んでる。

AMI HAPPY

じゃあ推論と学習の実装を全部揃えればいいんじゃない?

TOMOYA NEUTRAL

既存研究では、推論・学習スタック全体の一致、FP16への全体精度変更、重要度サンプリング補正や切り詰め・マスク、batch-invariantカーネル、モジュール単位の一致、RoPEやSwiGLUの丸め位置一致なんかがある。ただ、原論文の提示本文では、それら既存手法を同じ設定で横比較した結果は確認できない。

AMI NEUTRAL

この論文はどこを合わせたの?

TOMOYA NEUTRAL

学習側のRoPE、SwiGLU、残差RMSNormの3領域。選んだ中間値をFP32で保持して、各領域の出力をBF16に戻す。推論エンジン、行列積・注意カーネル、学習目的は変えない。ポイントは全部揃えるんじゃなくて、丸め位置を選択的に合わせるってこと。

AMI SURPRISED

それで崩壊が防げた?

TOMOYA NEUTRAL

Qwen系4モデル、DeepSeek-R1-Distill-Qwen-1.5B、Qwen3-1.7B、Qwen3-4B-Base、Qwen3-8B-Baseで、既定BF16で起きた崩壊を3領域合わせると防いだ。検討した実行ではRoPEパスだけでも安定した、と報告されてる。比較条件は既定BF16、RoPEのみFP32、3領域FP32、zero-mismatch backendなど。

AMI SURPRISED

RoPEだけで足りるなら、SwiGLUや残差RMSNormはいらないの?

TOMOYA NEUTRAL

そこは注意。静的解析では3領域FP32が全モデルでKLを一番下げたけど、SwiGLUの寄与が負のモデルもあった。中間精度を上げれば必ず不一致が減るわけじゃない。RoPEのみで安定したのは検討した実行の話で、常に十分とは限らない。

AMI NEUTRAL

評価設定は?

TOMOYA NEUTRAL

MATHのSanity-Test-R1D-1.5Bで強化学習して、AIME 2025で評価。学習目的はPPO-clipped GRPOで、追加の不一致補正は使わない設定。静的解析はQwen3-4B-Baseを除く3モデル。

AMI NEUTRAL

コストは増える?

TOMOYA NEUTRAL

3領域を合わせると、forward-and-backwardレイテンシが5.33–10.92%増、ピーク割当メモリが0.41–0.89 GiB/GPU増えたと報告されてる。ロールアウト生成を含めた全体のRL時間では割合が小さくなる見込みだけど、それは本文の期待。

AMI NEUTRAL

制限は?

TOMOYA NEUTRAL

評価はQwen系4モデルと特定のRL設定・データに限られる。他のモデル系、他の推論エンジン、FP8や量子化、違う並列化やreduction順、他のRL目的やタスクへの一般化は提示本文からは確認できない。zero-mismatch backendの詳細や大規模・長期訓練での挙動も不明。完全な数値一致を目指す手法でもない。

AMI HAPPY

なるほど。全部揃えるんじゃなくて、効く丸め位置だけ合わせるって発想が面白いね。意義はそこ?

TOMOYA NEUTRAL

うん。選択的な丸め位置合わせだけでBF16のLLM RLが安定する可能性を示したのが意義。ただし対象はQwen系と特定の評価設定に限られる。

AMI HAPPY

じゃあ私の部屋の散らかりも、選択的整頓でよくない? 机の上だけFP32で保持、みたいな。

TOMOYA NEUTRAL

それは丸め位置じゃなくて、単に片付けてないだけ。