国内チームが新たな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 がリリースされました!高品質、超シンプルなプロンプトワンクリック生成

ブログ    
ブログ    
ブログ    

推薦する

人工知能は人間に取って代わろうとしているのでしょうか、あるいは人間を支配しようとしているのでしょうか?本当にそうなのでしょうか?

生産性が徐々に生産と生活をカバーするようになると、ロボットはすぐに生活のあらゆる分野に参入し、一部の...

回答者の約40%が顔認識技術の悪用は改善されたと考えている

データ画像。画像/アンスプラッシュ近年、個人情報保護法などの法律や規制の導入・施行により、我が国はデ...

Facebookは27億人にサービスを提供するAIハードウェアシステムをオープンソース化した。

コミュニティは常に Facebook のハードウェア研究に細心の注意を払ってきました。本日の Ope...

2020 年のベスト AI ソフトウェア開発ツール

[[328252]] AI がソフトウェア エンジニアリングやテクノロジー企業に与える影響は否定でき...

Weibo での PageRank アルゴリズムの適用

このアイデアは、かなり早い段階で思いつきました。私は検索エンジンの経験があるため、検索エンジンにおけ...

IEEE: 新たな AI サイバーセキュリティの課題と解決策

人工知能はさまざまな課題に直面しており、IEEE の専門家は対応する解決策を提案しています。合成現実...

Java ソートアルゴリズムの概要 (VIII): 基数ソート

基数ソートは「分散ソート」に属します。基数ソートは「バケット ソート」またはビン ソートとも呼ばれま...

AIは敵ではなく友達でしょうか?自殺防止技術が25人の命を救うことに成功

世界保健機関によれば、毎年80万人が自殺で亡くなっている。 この数字は年々高いままですが、人工知能と...

NVIDIA DLSS 3.5 がリリースされました!新しいAI「光再構成」は超リアルな光と影を実現し、新旧両方のグラフィックカードでサポートされています。

人工知能は世界を変えており、グラフィックス コンピューティングも例外ではありません。 5 年前、NV...

...

エッジデバイス上でモデル推論を効率的に実行できる 5 つのアルゴリズム

ディープラーニングが進歩するにつれて、ニューラルネットワークはますます大きくなっています。たとえば、...

人工知能は目覚めたのか?アマゾンの人工知能は人間の命令を聞かず不気味な笑い声を上げる

人類が人工知能の開発に熱心に取り組み始めて以来、著名な科学者ホーキング博士をはじめ、疑問や反対の声が...

イアン・マッシンガム:AWSはモノのインターネットと人工知能への投資を継続

[51CTO.com からのオリジナル記事] 先進的なクラウドサービスプロバイダーとして、AWS は...

ISPの廃止はテスラの「純粋なビジョン路線」にとって重要なステップ

私はテスラの「純粋なビジュアルルート」に常に懐疑的でした。疑問なのは、アルゴリズムの進歩によってカメ...

...