論文の概要: Prompt-based Code Completion via Multi-Retrieval Augmented Generation
- arxiv url: http://arxiv.org/abs/2405.07530v1
- Date: Mon, 13 May 2024 07:56:15 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-14 14:34:42.519960
- Title: Prompt-based Code Completion via Multi-Retrieval Augmented Generation
- Title(参考訳): 複数検索型Augmented GenerationによるPromptベースのコード補完
- Authors: Hanzhuo Tan, Qi Luo, Ling Jiang, Zizheng Zhan, Jing Li, Haotian Zhang, Yuqun Zhang,
- Abstract要約: ProCCは、プロンプトエンジニアリングとコンテキスト多武装バンディットアルゴリズムを活用したコード補完フレームワークである。
ProCCは、収集したオープンソースベンチマークスイートにおいて、最先端のコード補完テクニックを8.6%上回ります。
ProCCはまた, プラグ・アンド・プレイ方式で微調整技術を増強し, 実験した微調整モデルよりも5.6%改善した。
- 参考スコア(独自算出の注目度): 15.233727939816388
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Automated code completion, aiming at generating subsequent tokens from unfinished code, has been significantly benefited from recent progress in pre-trained Large Language Models (LLMs). However, these models often suffer from coherence issues and hallucinations when dealing with complex code logic or extrapolating beyond their training data. Existing Retrieval Augmented Generation (RAG) techniques partially address these issues by retrieving relevant code with a separate encoding model where the retrieved snippet serves as contextual reference for code completion. However, their retrieval scope is subject to a singular perspective defined by the encoding model, which largely overlooks the complexity and diversity inherent in code semantics. To address this limitation, we propose ProCC, a code completion framework leveraging prompt engineering and the contextual multi-armed bandits algorithm to flexibly incorporate and adapt to multiple perspectives of code. ProCC first employs a prompt-based multi-retriever system which crafts prompt templates to elicit LLM knowledge to understand code semantics with multiple retrieval perspectives. Then, it adopts the adaptive retrieval selection algorithm to incorporate code similarity into the decision-making process to determine the most suitable retrieval perspective for the LLM to complete the code. Experimental results demonstrate that ProCC outperforms state-of-the-art code completion technique by 8.6% on our collected open-source benchmark suite and 10.1% on the private-domain benchmark suite collected from a billion-user e-commerce company in terms of Exact Match. ProCC also allows augmenting fine-tuned techniques in a plug-and-play manner, yielding 5.6% improvement over our studied fine-tuned model.
- Abstract(参考訳): 未完成のコードから後のトークンを生成することを目的とした自動コード補完は、トレーニング済みの大規模言語モデル(LLM)の最近の進歩から大きな恩恵を受けている。
しかしながら、これらのモデルは、複雑なコードロジックを扱う場合や、トレーニングデータを超えて外挿する場合、コヒーレンスの問題や幻覚に悩まされることが多い。
既存のRAG(Retrieval Augmented Generation)技術は、検索したスニペットがコード補完のコンテキスト参照として機能する別のエンコードモデルで関連コードを取得することで、これらの問題に部分的に対処する。
しかし、それらの検索範囲は符号化モデルによって定義された特異な視点の対象であり、コード意味論に固有の複雑さと多様性を概ね見落としている。
この制限に対処するために,プロファイリングフレームワークであるProCCを提案する。
ProCCは、まずプロンプトベースのマルチレトリバーシステムを使用し、複数の検索パースペクティブを持つコードセマンティクスを理解するために、LCMの知識を引き出すプロンプトテンプレートを使用する。
そして、適応的な検索選択アルゴリズムを採用し、コード類似性を意思決定プロセスに組み込んで、LCMがコードを完成させる上で最も適した検索視点を決定する。
実験の結果,ProCCはオープンソースベンチマークスイートで8.6%,プライベートドメインベンチマークスイートで10.1%,エクササイズマッチで10億人のeコマース企業で収集したコード補完技術より優れていることがわかった。
ProCCはまた, プラグ・アンド・プレイ方式で微調整技術を増強し, 実験した微調整モデルよりも5.6%改善した。
関連論文リスト
- OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models [70.72097493954067]
コードのための大規模言語モデル(LLM)は、コード生成、推論、タスク、エージェントシステムなど、さまざまな領域で必須になっている。
トップクラスのコードLLMであるOpenCoderは、主要なモデルに匹敵するパフォーマンスを達成するだけでなく、研究コミュニティの'オープンクックブック'として機能します。
論文 参考訳(メタデータ) (2024-11-07T17:47:25Z) - CodeTree: Agent-guided Tree Search for Code Generation with Large Language Models [91.15135237584771]
大規模言語モデル(LLM)は、生成されたコードを自己定義し、自律的に改善する機能を持つエージェントとして機能する。
コード生成プロセスの異なる段階における探索空間を効率的に探索するLLMエージェントのためのフレームワークであるCodeTreeを提案する。
具体的には、異なるコーディング戦略を明示的に探求し、対応するコーディングソリューションを生成し、その後、ソリューションを洗練するために統合されたツリー構造を採用しました。
論文 参考訳(メタデータ) (2024-11-07T00:09:54Z) - AlchemistCoder: Harmonizing and Eliciting Code Capability by Hindsight Tuning on Multi-source Data [64.69872638349922]
本稿では、マルチソースデータに微調整されたコード生成と一般化機能を備えたコードLLMのシリーズであるAlchemistCoderを紹介する。
本稿では,データ構築過程を微調整データに組み込んで,命令の進化,データフィルタリング,コードレビューなどのコード理解タスクを提案する。
論文 参考訳(メタデータ) (2024-05-29T16:57:33Z) - Repoformer: Selective Retrieval for Repository-Level Code Completion [30.706277772743615]
検索強化生成(RAG)の最近の進歩は、リポジトリレベルのコード補完の新たな時代が始まった。
本稿では,不要な場合の検索を回避するため,選択的なRAGフレームワークを提案する。
我々のフレームワークは、異なる世代モデル、レトリバー、プログラミング言語に対応できることを示します。
論文 参考訳(メタデータ) (2024-03-15T06:59:43Z) - 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) - A Review of Repository Level Prompting for LLMs [0.0]
大規模言語モデル(LLM)は、HumanEvalベンチマークで94.6%の解決率を達成するなど、顕著な成功を収めている。
GitHub CopilotやTab Nineといったリポジトリレベルのインラインコード補完ツールの商用化が進んでいる。
本稿では,個々のコーディング問題からリポジトリスケールソリューションへの移行について述べる。
論文 参考訳(メタデータ) (2023-12-15T00:34:52Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。