国内チームが新たなRLTFフレームワークを提案し、SOTAをリフレッシュしました!大規模なモデルはバグが少なく、より高品質なコードを生成します

国内チームが新たなRLTFフレームワークを提案し、SOTAをリフレッシュしました!大規模なモデルはバグが少なく、より高品質なコードを生成します

「プログラム合成」または「コード生成」タスクの目標は、与えられた記述に基づいて実行可能なコードを生成することです。最近では、コードに対する大規模言語モデル (LLM) のパフォーマンスを向上させるために、強化学習 (RL) を採用する研究が増えています。

ただし、これらの RL 手法ではオフライン フレームワークのみが使用されるため、新しいサンプル空間の探索が制限されます。さらに、ユニット テスト シグナルを活用する現在のアプローチは非常に単純化されており、コード内のエラーの特定の場所を考慮していません。

国内のチームが最近リリースした新しいオンラインRLフレームワークRLTF(ユニットテストフィードバックに基づく強化学習)は、コードの多粒度ユニットテストフィードバック結果を使用してコードLLMを最適化し、トレーニングプロセス中にリアルタイムでデータを生成し、同時にきめ細かいフィードバック信号を使用してモデルを誘導し、より高品質のコードを生成することができます。

興味深いことに、編集者は、この論文の著者が、かつてキングスキャニオンを支配したテンセントのJuewu AIの著者と重複していることを発見しました。

論文アドレス: https://arxiv.org/pdf/2307.04349.pdf

具体的には、オンライン フレームワーク RLTF は、きめ細かいユニット テスト フィードバックを通じてプログラム合成タスクにおける事前トレーニング済み LLM のパフォーマンスを強化し、モデルがトレーニング中にリアルタイムで新しいサンプルを生成し、ユニット テストの結果をフィードバック信号として利用して全体的なモデル パフォーマンスを向上させることを可能にします。

このアプローチにより、モデルはコード エラーの具体的な詳細を学習し、それに応じてパフォーマンスを向上させることができます。

大規模言語モデル (LLM) は、Codex、AlphaCode、InCoder などのプログラム合成タスクで優れたパフォーマンスを発揮します。既存の LLM は、より困難な問題 (プログラム コンペティションなど) に対処する上でまだ改善の余地があり、事前トレーニング済みのコード モデルでは、コード生成時に文法や機能のエラーが発生する可能性があります。

これに基づいて、研究者は CodeRL や PPOCoder などのコード LLM のパフォーマンスを向上させるための強化学習 (RL) ベースのアルゴリズムを提案しました。ただし、既存の RL 方法のほとんどはオフラインであるのに対し、オンライン RL トレーニングはより安定しており、環境をより適切に探索してより優れた戦略を取得できます。

さらに、既存の RL 手法による単体テスト結果のフィードバック信号は比較的単純で粗粒度であり、コード内の特定のエラーの詳細をキャプチャすることはできません。

RLTF メソッドは、多粒度のユニット テスト フィードバック (きめ細かいフィードバックは、エラーの種類とエラーの特定の場所に基づいて、エラーが発生したコードの特定の部分にペナルティを課し、適応型フィードバックは、合格したテスト ケースの割合に基づいて異なるペナルティを割り当てます) を導入し、リアルタイムでサンプルを生成し、多様なトレーニング サンプルを提供することで、モデルのパフォーマンスを向上させます。

RLTF は、プログラム合成タスクの APPS および MBPP ベンチマークで最先端の結果を達成し、アブレーション研究を通じてこの方法の有効性を実証しています。

方法

この論文で提案されているタスクは、条件付き確率最適化問題として形式化できます。つまり、自然な音声記述 D とモデル最適化パラメータ θ が与えられた場合に、正しいプログラム W の確率を最大化する問題です。

オンライン RL トレーニング フレームワーク

サンプル空間をより良く探索するために、研究者はオンライン学習を使用して RL トレーニングを実行しました。

2 つの LLM は重みを共有し、1 つはモデルを更新するための勾配バックプロパゲーションを担当し、もう 1 つはオンラインでのトレーニング サンプルの生成を担当します。

トレーニング サンプルはコンパイラーに渡され、ラベルが割り当てられ、その後、オンライン バッファー内のデータが更新されます。

オンライン バッファは、オンライン トレーニングに使用されるデータを保存する役割を担います。内部的にキューを維持し、古いデータを削除します。バッファは 50 ステップごとに更新されます。

多粒度フィードバックによる強化学習

RL トレーニングの損失は次のように定義できます。

このうち、R は報酬係数、S と E はコードの開始点と終了点を表します。

研究者は、コンパイラのフィードバックをエラー、失敗、合格の 3 つのカテゴリに分類し、異なるコンパイラのフィードバックに基づいて、異なる粒度のモデル報酬を策定しました。

粗粒度のフィードバック: このレベルのフィードバックは、上記の 3 種類のフィードバックに基づいており、CodeRL および PPoCoder の設定と同じです。

きめ細かいフィードバック: 粗いフィードバックは、モデルに「間違っている」ことを伝えるだけで、「どこが間違っているか」を具体的には伝えません。

きめ細かいフィードバックの目的は、この問題を解決し、モデルがエラーの原因と場所をより明確に理解できるようにすることです。この目的のために、研究者は Error のさまざまなエラー サブタイプを U_global、U_line、U_ignore に分類しました。具体的な分類は以下の表に示されています。

エラーのサブタイプに応じて、R 値と開始点および終了点が異なります。

適応型フィードバック: すべてのテスト例に合格しなかったデータについては、合格率に基づいて適応型フィードバックを設定します。この設定により、モデルは可能な限り多くのテスト例に合格するプログラムを生成できるようになります。

次の 2 つのアブレーション実験でも、「オンライン トレーニング フレームワーク」と「多粒度フィードバック」の有効性が検証されています。

実験

研究者らは、最先端の強化学習とコード LLM ベースの 2 つの方法をベースラインとして使用し、同じベンチマークと設定で評価しました。著者らは評価のために 2 つの異なるプログラミング問題データセット、つまり APPS と MBPP を使用しました。

APPS データセットでは、著者らは RLTF フレームワークを使用して事前トレーニング済みの CodeT5 モデルを微調整し、他の方法よりも優れた結果を達成しました。著者らは、MBPP データセットにおいて、ゼロショット設定での RLTF 法のパフォーマンスを実証し、新たな最先端の結果を達成しました。

APPS: CodeT5 770M をベースモデルとして使用し、APPS データセットで評価します。他の CodeT5 ベースの方法 (CodeRL、PPOCoder) や他の大規模モデル (Codex、AlphaCode、GPT2、GPT3、GPT-Neo など) と比較します。

結果は、RLTF メソッドが APPS データセットの他のメソッドよりも優れた結果を達成することを示しています。

MBPP: この論文では、MBPP データセットの RLTF メソッドを使用して、APPS データセットでトレーニングされた CodeT5 モデルのゼロショット パフォーマンスを評価します。RLTF メソッドは、MBPP データセットでさまざまなサイズの GPT モデルよりも優れた結果を達成し、新しい最適なパフォーマンスに到達します。

異なる基本モデル: RLTF メソッドの堅牢性を実証するために、この論文では CodeT5 の使用に加えて、別の基本モデル CodeGen 2.7B も実験に使用しています。

結果によると、CodeGen 2.7B に RLTF メソッドを適用すると、優れたパフォーマンスも達成され、pass@10 が約 1% 向上しました。

特に、研究者らは、ベースモデルが大きいほど、RLTF によるパフォーマンスの向上が大きくなることを発見しました。これは、RLTF メソッドがさまざまなベースモデルの潜在能力を効果的に活用して、より優れたコードを生成できることを示しており、ベースモデルのサイズが大きいほど、その影響はより顕著になります。

結論と今後の課題

本稿では、プログラム合成タスクにおける大規模言語モデルを最適化するための、多粒度のユニットテストフィードバックを備えた新しいオンラインRLフレームワークであるRLTF(ユニットテストフィードバックからの強化学習)を提案します。

既存の研究と比較して、この方法はトレーニング中にリアルタイムでデータを生成し、同時により細かいフィードバック信号を利用してモデルをより高品質なコードを生成するように導きます。

広範囲にわたる実験により、RLTF は既存の RL ベースの方法よりも優れており、CodeT5 や CodeGen を含むさまざまなコード LLM に適用できることが実証されています。さらに、APPS や MBPP などの広く使用されているベンチマークで最先端のパフォーマンスを実現します。

今後、RLTF をさらに改善するための方向性がいくつかあります。

たとえば、既存のベンチマークの入出力例は十分に多様ではない可能性があり、非表示の入出力例を使用して生成されたプログラムは正しい最終コード バージョンではない可能性があります。この制限は、RLTF のパフォーマンスに影響を与える可能性があります。したがって、LLM を使用してより多様で正確な入出力例のセットを作成することは、調査する価値のある潜在的な研究方向です。

さらに、より細かいフィードバック信号(静的コード アナライザーからのものなど)によって RLTF のパフォーマンスをさらに向上できるかどうかも、もう 1 つの研究方向です。


<<:  大きな模型 = 容器に入った脳?同源病院の朱松春氏のチームがAGIの主な欠陥を分析

>>:  強力なオープンソース SDXL 1.0 がリリースされました!高品質、超シンプルなプロンプトワンクリック生成

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

なぜ男性ロボットの方がユーザーに人気があるのでしょうか?その魅力は何でしょうか? 3つの特徴が鍵となる

人類が科学技術の時代に入り、初期の単純な産業時代から複雑で多面的なハイテク産業時代へと進化して数百年...

Google の家庭用ロボットがスタンフォード大学のエビ揚げロボットに挑む!猫と遊ぶためにお茶と水を出し、3回続けてフリックして猫と遊ぶ

インターネット上で話題となったスタンフォード大学のエビ揚げロボットは、1日で人気が急上昇した。結局の...

今日のAIの優れた使用例

企業は AI パイロットを実施し、AI を本番環境に移行しています。大手組織はここに賭けており、すで...

...

深い思考:テイクアウトの背後にある人工知能アルゴリズムの秘密

知識の蓄積は規模の拡大をもたらし、規模の拡大は市場の集中につながります。産業が「組立ライン」の形で固...

自動運転時代のヒューマンマシンインタラクションの発展動向

自動車技術の継続的な向上とインターネット技術の普及に伴い、自動車に付与される機能はますます増えていま...

5分で初めてのPythonチャットボットを構築

序文人工知能の時代において、チャットボットはますます人気が高まっています。これは、人間とコンピュータ...

...

...

ジェネレーティブAIを管理する方法

ドム・クッドウェル著ノアが編集制作:51CTO テクノロジースタック(WeChat ID:blog)...

AIスタートアップが成熟するための4つの段階と懸念事項

[[281520]] [51CTO.com クイック翻訳] 現時点では、「人工知能企業」が何であるか...

...

2022 年に注目すべき主要なエッジ AI トレンド

1956 年に大学の研究分野として取り入れられて以来、AI は楽観的な時期と悲観的な時期を同程度に...

JavaScript 面接でよくあるアルゴリズムの質問の詳細な説明

[[185725]] JavaScript での変数の昇格を説明するいわゆるプロモーションは、その名...

ChatGPTへの対処方法

このテーマについて、人工知能の起源と発展、その一般原理、不安を避ける方法、そして時代に追いつく方法な...