論文の概要: Towards Enhancing In-Context Learning for Code Generation
- arxiv url: http://arxiv.org/abs/2303.17780v1
- Date: Fri, 31 Mar 2023 02:57:15 GMT
- ステータス: 処理完了
- システム内更新日: 2023-04-03 15:29:32.666287
- Title: Towards Enhancing In-Context Learning for Code Generation
- Title(参考訳): コード生成のためのインコンテキスト学習の強化に向けて
- Authors: Jia Li, Yunfei Zhao, Yongmin Li, Ge Li, Zhi Jin
- Abstract要約: 事前学習型言語モデル(PTLM)を用いたインコンテキスト学習は、コード生成において大きな成功を収めている。
既存の研究は、自然言語生成のためのICLテクニックを単純に再利用し、コード生成のユニークな特徴を無視している。
人間のコーディングプロセスの観察に触発されて,AceCoderというコード生成のための新しいICLアプローチを提案する。
- 参考スコア(独自算出の注目度): 34.33247050054389
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: In-context learning (ICL) with pre-trained language models (PTLMs) has shown
great success in code generation. ICL does not require training. PTLMs take as
the input a prompt consisting of a few requirement-code examples and a new
requirement, and output a new program. However, existing studies simply reuse
ICL techniques for natural language generation and ignore unique features of
code generation. We refer to these studies as standard ICL.
Inspired by observations of the human coding process, we propose a novel ICL
approach for code generation named AceCoder. Compared to standard ICL, AceCoder
has two novelties. (1) Example retrieval. It retrieves similar programs as
examples and learns programming skills (e.g., algorithms, APIs) from them. (2)
Guided Code Generation. It encourages PTLMs to output an intermediate
preliminary (e.g., test cases, APIs) before generating programs. The
preliminary can help PTLMs understand requirements and guide the next code
generation. We apply AceCoder to six PTLMs (e.g., Codex) and evaluate it on
three public benchmarks using the Pass@k. Results show that AceCoder can
significantly improve the performance of PTLMs on code generation. (1) In terms
of Pass@1, AceCoder outperforms standard ICL by up to 79.7% and fine-tuned
models by up to 171%. (2) AceCoder is effective in PTLMs with different sizes
(e.g., 1B to 175B) and different languages (e.g., Python, Java, and
JavaScript). (3) We investigate multiple choices of the intermediate
preliminary. (4) We manually evaluate generated programs in three aspects and
prove the superiority of AceCoder. (5) Finally, we discuss some insights about
ICL for practitioners.
- Abstract(参考訳): In-context Learning (ICL) with pre-trained language model (PTLMs)は、コード生成において大きな成功を収めている。
ICLは訓練を必要としない。
PTLMはいくつかの要件コード例と新しい要件からなるプロンプトを入力として取り、新しいプログラムを出力する。
しかし、既存の研究は自然言語生成のためのiclテクニックを単に再利用し、コード生成のユニークな特徴を無視している。
これらの研究を標準iclと呼んでいる。
人間のコーディングプロセスの観察に触発されて,AceCoderというコード生成のための新しいICLアプローチを提案する。
標準のICLと比較して、AceCoderには2つの新しい特徴がある。
1) 例検索。
同様のプログラムをサンプルとして取り出し、プログラミングスキル(例えば、アルゴリズム、API)を学習する。
(2) コード生成のガイド。
これはPTLMがプログラムを生成する前に中間の予備(例えば、テストケース、API)を出力することを奨励する。
プリミティブは、ptlmが要件を理解し、次のコード生成を導くのに役立つ。
AceCoderを6つのPTLM(例えばCodex)に適用し、Pass@kを使って3つの公開ベンチマークで評価する。
その結果,AceCoderはコード生成におけるPTLMの性能を大幅に向上させることができることがわかった。
1) Pass@1の観点では、AceCoderは標準のICLを79.7%、微調整のモデルを171%上回っている。
2) AceCoderは、異なるサイズのPTLM(例えば、1Bから175B)と異なる言語(例えば、Python、Java、JavaScript)で有効である。
3) 中間予備案の複数の選択肢について検討する。
(4) 生成したプログラムを3つの面から手動で評価し,acecoderの優位性を証明する。
(5) 実践者に対するICLに関するいくつかの知見について論じる。
関連論文リスト
- Showing LLM-Generated Code Selectively Based on Confidence of LLMs [44.23673533981599]
大規模言語モデル(LLM)は、コード生成において印象的な能力を示しているが、誤ったプログラムを生成する可能性がある。
これらの誤ったプログラムを開発者に示すことは、開発者のエネルギーを無駄にし、セキュリティリスクを導入します。
我々は,新しいLLMベースのコード生成手法であるHonestCoderを提案する。
論文 参考訳(メタデータ) (2024-10-04T08:51:31Z) - EPiC: Cost-effective Search-based Prompt Engineering of LLMs for Code Generation [8.009881267479189]
大規模言語モデル(LLM)は、特にコード生成において、様々なソフトウェア開発タスクで利用が増加している。
我々は、コードのための進化的プロンプトエンジニアリング(EPiC)という別のアプローチを提案し、高品質なコードを生成するより良いプロンプトに向けて、元のプロンプトを進化させる。
最先端(SOTA)LLMベースのコード生成モデルに対する評価は,コスト効率の観点から,EPiCがすべてのベースラインを上回っていることを示している。
論文 参考訳(メタデータ) (2024-08-20T21:15:36Z) - When to Stop? Towards Efficient Code Generation in LLMs with Excess Token Prevention [43.39584272739589]
コード生成におけるコードLLMの推論高速化手法であるCodeFastを紹介する。
CodeFastの主なアイデアは、不要な余分なトークンが検出された場合に、推論プロセスを終了させることである。
我々は、広く使われている4つのコード生成データセットにまたがる5つの代表的なコードLLM上で、CodeFastで広範な実験を行う。
論文 参考訳(メタデータ) (2024-07-29T14:27:08Z) - InfiBench: Evaluating the Question-Answering Capabilities of Code Large Language Models [56.723509505549536]
InfiBenchは、私たちの知識に合ったコードのための、最初の大規模フリーフォーム質問回答(QA)ベンチマークです。
慎重に選択された234の高品質なStack Overflow質問で構成されており、15のプログラミング言語にまたがっている。
InfiBench上で100以上の最新のコードLLMに対して,系統的評価を行い,新しい知見と洞察に富んだ結果を得た。
論文 参考訳(メタデータ) (2024-03-11T02:06:30Z) - Code Prompting Elicits Conditional Reasoning Abilities in Text+Code LLMs [65.2379940117181]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z) - Large Language Model-Aware In-Context Learning for Code Generation [75.68709482932903]
大規模言語モデル(LLM)は、コード生成において印象的なコンテキスト内学習(ICL)能力を示している。
コード生成のためのLAIL (LLM-Aware In-context Learning) という新しい学習ベース選択手法を提案する。
論文 参考訳(メタデータ) (2023-10-15T06:12:58Z) - Structured Chain-of-Thought Prompting for Code Generation [48.43888515848583]
CoTプロンプト(Chain-of-Thought)は最先端のプロンプト技術である。
本研究では、構造化CoT(Structured CoTs)を提案し、コード生成のための新しいプロンプト技術であるSCoTプロンプトを提案する。
論文 参考訳(メタデータ) (2023-05-11T06:43:37Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。