[論文レビュー] Coarse-Tuning Models of Code with Reinforcement Learning Feedback
本稿では、コンパイラからのフィードバック(構文的・意味的正しさ)と参照ソリューションとの類似性を評価する判別器LLMを組み合わせることで、コード生成の正確性を向上させる強化学習ベースの粗微調整手法Rlcfを提案する。この手法は、コンパイル成功率やテスト通過率を顕著に向上させ、小規模モデルがJavaコード生成タスクで2倍〜8倍の大きなモデルと同等の性能を達成可能にする。
Large Language Models (LLMs) pre-trained on code have recently emerged as the dominant approach to program synthesis. However, these models are trained using next-token prediction, which ignores the syntax and semantics of code. We propose RLCF, that further trains a pre-trained LLM via reinforcement learning, using feedback from a grounding function that scores the quality of the code. The grounding function uses (i) compiler-derived feedback on whether the code it generates passes a set of correctness checks; and (ii) feedback from a different LLM that compares the generated code to a reference code. RLCF is model- and language-agnostic. We empirically evaluate it on the MBJP and MathQA tasks for Java. Our experiments show that RLCF raises the odds that an LLM-generated program compiles, is executable, and produces the right output on tests, often allowing LLMs to match the performance of 2x-8x larger LLMs.
研究の動機と目的
- 次トークン予測の限界を是正するため、意味的・構文的正しさや機能的同等性を無視するコードLLMの問題を解決すること。
- 膨大なテストケースを必要とせず、強化学習ベースの粗微調整手法を構築すること。
- 構文的に正しい実行可能なコードと、参照ソリューションに類似した意味的に正しいコードの両方の目標を、二重のフィードバック信号でバランスさせること。
- このアプローチが、コード生成タスクにおいて小規模LLMがはるかに大きなモデルと同等の性能を達成できるかどうかを評価すること。
提案手法
- Rlcfは、強化学習を用いて事前学習済みコードLLMを微調整し、コード生成をマークフ・決定過程(MDP)として扱う。
- 報酬関数は、2つのフィードバック信号を組み合わせる:(1) コンパイラベースの静的解析により、構文エラー、型エラー、意味的エラーを検出し、失敗時には負の報酬を付与する。
- 2番目のLLM判別器は、生成コードが参照ソリューションと区別できないかどうかを評価し、判別器をだませれば正の報酬を与える。
- 判別器は敵対的訓練により、生成コードと参照コードを区別できるように学習され、ポリシーがより自然で正確なプログラムを生成するよう促進される。
- 本手法はモデルや言語に依存せず、CodeGen、CodeT5、GPT-2などのモデルに適用可能である。
- 訓練にはポリシー勾配法を用い、正しさと参照ソリューションへの類似性の両方をバランスさせる損失関数が使用される。
実験結果
リサーチクエスチョン
- RQ1コンパイラと判別器の二重フィードバックを用いた強化学習は、LLMが生成するコードの機能的正しさとコンパイル成功確率を顕著に向上させることができるか?
- RQ2Rlcfは、小規模LLMがコード生成タスクではるかに大きなモデルと同等の性能を達成できるようにするか?
- RQ3コード品質と正しさの観点から、Rlcfは教師あり微調整、コンパイラ専用フィードバック、および先行のRLベースラインと比較してどのように差をつけるか?
- RQ4判別器の敵対的訓練は必須であるか、固定された判別器でも同等の性能が得られるか?
- RQ5Rlcfの向上効果は、言語固有の微調整によるものか、それとも強化学習フィードバック機構そのものによるものか?
主な発見
- Rlcfは、MBJPおよびMathQAベンチマークにおいて、生成コードがコンパイル可能で実行可能かつテストケースを通過する確率を顕著に向上させる。
- MathQAデータセットでは、CodeGen(350M)のPass@100が29.40から29.93に、CodeT5(770M)のPass@100が32.05から32.16に向上し、一貫した改善が確認された。
- Rlcfにより、小規模モデル(例:350MパラメータのCodeGen)が2倍〜8倍の大きなモデルと同等のコード生成性能を達成できるようになった。
- アブレーションスタディの結果、Rlcfは交差エントロピー損失、バイポーラRAMP損失、CodeRLを用いた教師ありベースラインを上回り、コンパイラフィードバックのみを用いた場合でも同様の優位性を示した。
- 敵対的訓練による判別器は、固定された判別器よりもわずかだが一貫した優位性を示したが、必ずしも統計的に有意な差ではない場合もあった。
- 本手法はCodeGen、CodeT5、GPT-2など、さまざまなモデルアーキテクチャに対して安定した性能を示し、モデルに依存しない性質を確認した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。