論文の概要: AceCoder: Utilizing Existing Code to Enhance Code Generation
- arxiv url: http://arxiv.org/abs/2303.17780v3
- Date: Thu, 7 Sep 2023 11:29:44 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-08 17:26:31.603410
- Title: AceCoder: Utilizing Existing Code to Enhance Code Generation
- Title(参考訳): AceCoder: 既存のコードを使用してコード生成を促進する
- Authors: Jia Li, Yunfei Zhao, Yongmin Li, Ge Li, Zhi Jin
- Abstract要約: 既存のプロンプト技術は自然言語生成用に設計されており、コード生成の精度は低い。
AceCoderには、これらの課題を解決するための2つの新しいメカニズム(ガイド付きコード生成とサンプル検索)が含まれている。
その結果、AceCoderはコード生成におけるLLMの性能を大幅に改善できることがわかった。
- 参考スコア(独自算出の注目度): 45.034292331340524
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Large Language Models (LLMs) have shown great success in code generation.
LLMs take as the input a prompt and output the code. A key question is how to
make prompts (i.e., Prompting Techniques). Existing prompting techniques are
designed for natural language generation and have low accuracy in code
generation.
In this paper, we propose a new prompting technique named AceCoder. Our
motivation is that code generation meets two unique challenges (i.e.,
requirement understanding and code implementation). AceCoder contains two novel
mechanisms (i.e., guided code generation and example retrieval) to solve these
challenges. (1) Guided code generation asks LLMs first to analyze requirements
and output an intermediate preliminary (e.g., test cases). The preliminary is
used to clarify requirements and tell LLMs "what to write". (2) Example
retrieval selects similar programs as examples in prompts, which provide lots
of relevant content (e.g., algorithms, APIs) and teach LLMs "how to write". We
apply AceCoder to three LLMs (e.g., Codex) and evaluate it on three public
benchmarks using the Pass@k. Results show that AceCoder can significantly
improve the performance of LLMs on code generation. (1) In terms of Pass@1,
AceCoder outperforms the state-of-the-art baseline by up to 56.4% in MBPP,
70.7% in MBJP, and 88.4% in MBJSP. (2) AceCoder is effective in LLMs with
different sizes (i.e., 6B to 13B) and different languages (i.e., Python, Java,
and JavaScript). (3) Human evaluation shows human developers prefer programs
from AceCoder.
- Abstract(参考訳): 大きな言語モデル(LLM)はコード生成で大きな成功を収めています。
LLMは入力としてプロンプトを受け取り、コードを出力する。
重要な質問は、プロンプト(すなわちプロンプトテクニック)の作り方である。
既存のプロンプト技術は自然言語生成用に設計されており、コード生成の精度は低い。
本稿では,AceCoderという新しいプロンプト手法を提案する。
私たちのモチベーションは、コード生成が2つの固有の課題(要求理解とコード実装)を満たすことです。
AceCoderには、これらの課題を解決するための2つの新しいメカニズム(ガイド付きコード生成とサンプル検索)が含まれている。
1) 誘導型コード生成はまずllmに要求を分析し,中間予備(テストケースなど)を出力する。
プリミティブは要件を明確にし、llmに"何を書くべきか"を伝えるために使用される。
2)例検索はプロンプトの例として類似したプログラムを選択し,関連するコンテンツ(アルゴリズムやapiなど)を多数提供し,llmに"書き方"を教える。
AceCoderを3つのLLM(例えばCodex)に適用し、Pass@kを使って3つの公開ベンチマークで評価する。
その結果、AceCoderはコード生成におけるLLMの性能を大幅に改善できることがわかった。
1) Pass@1 では、AceCoder は最先端のベースラインを MBPP で 56.4% 、MBJP で 70.7% 、MBJSP で 88.4% で上回っている。
2) AceCoderは、異なるサイズ(6Bから13B)と異なる言語(Python、Java、JavaScript)のLLMで有効である。
(3)人間の開発者はAceCoderのプログラムを好む。
関連論文リスト
- 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。