論文の概要: Execution-based Code Generation using Deep Reinforcement Learning
- arxiv url: http://arxiv.org/abs/2301.13816v3
- Date: Tue, 18 Jul 2023 16:49:52 GMT
- ステータス: 処理完了
- システム内更新日: 2023-07-19 19:15:52.966248
- Title: Execution-based Code Generation using Deep Reinforcement Learning
- Title(参考訳): 深層強化学習を用いた実行ベースコード生成
- Authors: Parshin Shojaee, Aneesh Jain, Sindhu Tipirneni and Chandan K. Reddy
- Abstract要約: PPOCoderは、事前訓練されたPLモデルとプロキシポリシー最適化を組み合わせた、コード生成のための新しいフレームワークである。
PPOCoderは、外部コード固有の知識をモデル最適化プロセスにシームレスに統合する。
PPOCoderはタスクに依存しない、モデルに依存しないフレームワークで、さまざまなコード生成タスクやPLで使用できます。
- 参考スコア(独自算出の注目度): 8.085533911328577
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: The utilization of programming language (PL) models, pre-trained on
large-scale code corpora, as a means of automating software engineering
processes has demonstrated considerable potential in streamlining various code
generation tasks such as code completion, code translation, and program
synthesis. However, current approaches mainly rely on supervised fine-tuning
objectives borrowed from text generation, neglecting unique sequence-level
characteristics of code, including but not limited to compilability as well as
syntactic and functional correctness. To address this limitation, we propose
PPOCoder, a new framework for code generation that synergistically combines
pre-trained PL models with Proximal Policy Optimization (PPO) which is a widely
used deep reinforcement learning technique. By utilizing non-differentiable
feedback from code execution and structure alignment, PPOCoder seamlessly
integrates external code-specific knowledge into the model optimization
process. It's important to note that PPOCoder is a task-agnostic and
model-agnostic framework that can be used across different code generation
tasks and PLs. Extensive experiments on three code generation tasks demonstrate
the effectiveness of our proposed approach compared to SOTA methods, achieving
significant improvements in compilation success rates and functional
correctness across different PLs.
- Abstract(参考訳): ソフトウェア工学プロセスを自動化する手段として、大規模コードコーパスで事前訓練されたプログラミング言語(PL)モデルの利用は、コード補完、コード翻訳、プログラム合成など、様々なコード生成タスクの合理化において大きな可能性を証明している。
しかし、現在のアプローチは、主にテキスト生成から借用した教師付き微調整目標に依存しており、コードのユニークなシーケンスレベルの特性を無視している。
そこで本研究では,プリトレーニングされたplモデルと,広く使用されている深層強化学習手法であるppo(proximal policy optimization)を組み合わせた新しいコード生成フレームワークであるppocoderを提案する。
PPOCoderは、コード実行と構造アライメントからの非微分可能なフィードバックを利用することで、外部コード固有の知識をモデル最適化プロセスにシームレスに統合する。
PPOCoderはタスクに依存しない、モデルに依存しないフレームワークで、さまざまなコード生成タスクやPLで使用できます。
3つのコード生成タスクに関する大規模な実験は、SOTA法と比較して提案手法の有効性を示し、異なるPL間でのコンパイル成功率と機能的正当性を著しく改善した。
関連論文リスト
- CodeDPO: Aligning Code Models with Self Generated and Verified Source Code [52.70310361822519]
我々は、コード生成に好み学習を統合するフレームワークであるCodeDPOを提案し、コードの正確性と効率性という2つの重要なコード優先要因を改善した。
CodeDPOは、コードとテストケースを同時に生成、評価するセルフジェネレーション・アンド・バリデーションメカニズムを利用して、新しいデータセット構築方法を採用している。
論文 参考訳(メタデータ) (2024-10-08T01:36:15Z) - EPiC: Cost-effective Search-based Prompt Engineering of LLMs for Code Generation [8.009881267479189]
大規模言語モデル(LLM)は、特にコード生成において、様々なソフトウェア開発タスクで利用が増加している。
我々は、コードのための進化的プロンプトエンジニアリング(EPiC)という別のアプローチを提案し、高品質なコードを生成するより良いプロンプトに向けて、元のプロンプトを進化させる。
最先端(SOTA)LLMベースのコード生成モデルに対する評価は,コスト効率の観点から,EPiCがすべてのベースラインを上回っていることを示している。
論文 参考訳(メタデータ) (2024-08-20T21:15:36Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - LLM-Assisted Code Cleaning For Training Accurate Code Generators [53.087019724256606]
コードの品質を調査した結果,より構造化され,読みやすくなれば,コード生成性能が向上することがわかった。
私たちは、これらの原則を使って既存のプログラムを変換する、新しいデータクリーニングパイプラインを構築します。
提案手法を2つのアルゴリズムコード生成ベンチマークで評価した結果,微調整のCodeLLaMa-7Bでは,元のデータセットの微調整に比べて最大30%性能が向上していることがわかった。
論文 参考訳(メタデータ) (2023-11-25T02:45:50Z) - Exploring Continual Learning for Code Generation Models [80.78036093054855]
継続的学習(CL)は、コードドメインの中でまだ過小評価されていない重要な側面である。
コード生成,翻訳,要約,改良など,幅広いタスクをカバーするCodeTask-CLというベンチマークを導入する。
即時選択機構の不安定な訓練により,プロンプトプール (PP) などの有効手法が破滅的な忘れ込みに悩まされることが判明した。
論文 参考訳(メタデータ) (2023-07-05T16:58:39Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z) - CodeRL: Mastering Code Generation through Pretrained Models and Deep
Reinforcement Learning [92.36705236706678]
CodeRLは、事前訓練されたLMと深層強化学習によるプログラム合成タスクのための新しいフレームワークである。
推論中、我々は重要なサンプリング戦略を持つ新しい生成手順を導入する。
モデルバックボーンについては,CodeT5のエンコーダデコーダアーキテクチャを拡張し,学習目標を拡張した。
論文 参考訳(メタデータ) (2022-07-05T02:42:15Z) - CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for
Code Understanding and Generation [36.47905744758698]
我々は、開発者が指定した識別子から伝達されるコードセマンティクスをよりよく活用する、事前訓練されたエンコーダ-デコーダ変換モデルであるCodeT5を提案する。
我々のモデルは、コード理解と生成タスクの両方をシームレスにサポートし、マルチタスク学習を可能にする統一的なフレームワークを採用している。
論文 参考訳(メタデータ) (2021-09-02T12:21:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。