コード生成における強化学習の「合格率報酬」を探る

arXiv cs.LG / 2026/5/6

📰 ニュースIdeas & Deep AnalysisModels & Research

要点

  • 本論文では、コード生成におけるcritic-free強化学習で、バイナリ報酬(全テスト合格)がスパースになりがちな問題に対し、合格率(テストケース通過率)を代理報酬として用いる手法を検討する。
  • GRPOやRLOOのようなcritic-free RLアルゴリズムと複数の基盤モデルにわたる制御実験の結果、合格率報酬は厳密には最終的な性能をバイナリ報酬より一貫して改善できないことが示される。
  • 合格率報酬は学習シグナルを密にする一方で、生成確率の質量を「全テスト合格」に向けて確実に移動させる勾配更新が常に起きるわけではない。
  • この不一致は、合格率が「完全な正しさ」の進捗として誤って校正された代理指標であり、同一グループ内の部分合格解が相反する勾配方向を生み、相殺され得ることに起因すると分析される。
  • 以上より、critic-free RLにおいて合格率報酬だけではコード生成を改善するのに不十分であり、完全な正しさと最適化目的の整合性をより高める報酬設計が必要だと結論づける。

Abstract

ユニットテストのフィードバックからの強化学習(RL)は、コード生成において大規模言語モデル(LLM)を改善するための標準的な事後学習レシピとなっています。 しかし、「全テスト通過」二値報酬では報酬が疎になり得ます。すると、サンプルされた解のどれもすべてのテストに通らないような難しい問題では、学習に有用な信号が得られません。一般的な対処法として、テストケース通過率を代理報酬(サロゲート報酬)として用いることが挙げられます。 本研究では、コード生成におけるクリティックなしRL(例:GRPOおよびRLOO)において、通過率報酬を調査し、ベースモデルおよびアルゴリズムをまたいで一貫したパターンを報告します。すなわち、報酬の疎さは緩和されるにもかかわらず、厳密に制御された実験において、通過率報酬は二値報酬よりも最終性能を信頼できる形で改善しません。 この不一致を理解するために、報酬密度と、それに起因する勾配方向を解析します。通過率報酬はより密ですが、導かれる勾配更新は、常に「全テスト通過」の解に向けて確率質量を動かすわけではないことが分かります。これは、テストケース通過率が「完全な正しさ」に向けた進捗の不適切に較正された代理指標であり、同一グループ内の部分通過解が相反する勾配方向を生み出して、打ち消し合ってしまうために起こります。 全体として、我々の結果は、クリティックなしRLにおいては通過率報酬ではコード生成を改善するには不十分であることを示唆します。そして、最適化が「完全な正しさ」という目標とより良く整合するような報酬設計が動機づけられます。