論文の概要: Repoformer: Selective Retrieval for Repository-Level Code Completion
- arxiv url: http://arxiv.org/abs/2403.10059v1
- Date: Fri, 15 Mar 2024 06:59:43 GMT
- ステータス: 処理完了
- システム内更新日: 2024-03-18 18:19:27.879846
- Title: Repoformer: Selective Retrieval for Repository-Level Code Completion
- Title(参考訳): Repoformer: Repository-Levelコード補完のための選択的な検索
- Authors: Di Wu, Wasi Uddin Ahmad, Dejiao Zhang, Murali Krishna Ramanathan, Xiaofei Ma,
- Abstract要約: 検索強化生成(RAG)の最近の進歩は、リポジトリレベルのコード補完の新たな時代が始まった。
本稿では,不要な場合の検索を回避できる選択的なRAGフレームワークを提案する。
我々のフレームワークは、異なる世代モデル、検索者、プログラミング言語を効果的に扱えることを示す。
- 参考スコア(独自算出の注目度): 30.706277772743615
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Recent advances in retrieval-augmented generation (RAG) have initiated a new era in repository-level code completion. However, the invariable use of retrieval in existing methods exposes issues in both efficiency and robustness, with a large proportion of the retrieved contexts proving unhelpful or harmful to code language models (code LMs). To tackle the challenges, this paper proposes a selective RAG framework where retrieval is avoided when unnecessary. To power this framework, we design a self-supervised learning approach that enables a code LM to accurately self-evaluate whether retrieval can improve its output quality and robustly leverage the potentially noisy retrieved contexts. Using this LM as both the selective retrieval policy and the generation model, our framework consistently outperforms the state-of-the-art prompting with an invariable retrieval approach on diverse benchmarks including RepoEval, CrossCodeEval, and a new benchmark. Meanwhile, our selective retrieval strategy results in strong efficiency improvements by as much as 70% inference speedup without harming the performance. We demonstrate that our framework effectively accommodates different generation models, retrievers, and programming languages. These advancements position our framework as an important step towards more accurate and efficient repository-level code completion.
- Abstract(参考訳): 検索強化生成(RAG)の最近の進歩は、リポジトリレベルのコード補完の新たな時代が始まった。
しかし、既存の手法における検索の不変な使用は、効率性と堅牢性の両方の問題を明らかにし、検索されたコンテキストの大部分が、コード言語モデル(コードLM)に有害または有害であることを示す。
そこで本研究では,不要な場合の検索を回避できる選択的なRAGフレームワークを提案する。
このフレームワークを活用するために、コードLMは、検索が出力品質を向上できるかどうかを正確に自己評価し、潜在的にノイズの多い検索コンテキストをしっかりと活用できる自己教師付き学習アプローチを設計する。
このLMを選択的検索ポリシーと生成モデルの両方として使用することにより、RepoEval、CrossCodeEval、および新しいベンチマークを含む多様なベンチマークに対して、不変な検索アプローチにより、最先端のプロンプトを一貫して上回ります。
一方,我々の選択的検索戦略は,性能を損なうことなく,最大70%の推論高速化を実現した。
我々のフレームワークは、異なる世代モデル、レトリバー、プログラミング言語に効果的に対応できることを実証する。
これらの進歩は、より正確で効率的なリポジトリレベルのコード補完に向けた重要なステップとして、私たちのフレームワークを位置づけています。
関連論文リスト
- CodeXEmbed: A Generalist Embedding Model Family for Multiligual and Multi-task Code Retrieval [103.116634967815]
CodeXEmbedは400Mから7Bパラメータの大規模なコード埋め込みモデルのファミリーである。
我々の新しいトレーニングパイプラインは、複数のプログラミング言語を統合し、様々なコード関連タスクを共通の検索フレームワークに変換する。
私たちの7Bモデルは、コード検索において新しい最先端(SOTA)を設定し、以前の主要なモデルであるVoyage-CodeをCoIRベンチマークで20%以上上回っています。
論文 参考訳(メタデータ) (2024-11-19T16:54:45Z) - RepoGenReflex: Enhancing Repository-Level Code Completion with Verbal Reinforcement and Retrieval-Augmented Generation [7.167252304211614]
RepoGenReflexは、検索と生成プロセスを動的に最適化する汎用的で動的で効果的なフレームワークである。
Verbal Reinforcement Learning (VRL)で強化されたRetrieval-Augmented Generation (RAG)を活用することで、リポジトリレベルのコード補完に最適な結果が動的に選択できる。
RepoGenReflexは、標準のコード補完タスクよりも優れたパフォーマンスと有効性を示している。
論文 参考訳(メタデータ) (2024-09-19T23:38:59Z) - DOCE: Finding the Sweet Spot for Execution-Based Code Generation [69.5305729627198]
本稿では,候補生成,$n$-best再ランク,最小ベイズリスク(MBR)復号化,自己老化などを含む包括的フレームワークを提案する。
本研究は,実行ベースメソッドの重要性と,実行ベースメソッドと実行フリーメソッドとの差を明らかにする。
論文 参考訳(メタデータ) (2024-08-25T07:10:36Z) - RLCoder: Reinforcement Learning for Repository-Level Code Completion [39.38066628941757]
Repositoryレベルのコード補完は、指定されたリポジトリのコンテキスト内で未完成のコードスニペットのためのコードを生成することを目的としている。
既存のアプローチは主に、入力シーケンス長の制限による検索強化された生成戦略に依存している。
ラベル付きデータを必要とせずに、検索者がコード補完に有用なコンテンツを取得することができる新しい強化学習フレームワークであるRLCoderを提案する。
論文 参考訳(メタデータ) (2024-07-28T12:47:20Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - On the Impacts of Contexts on Repository-Level Code Generation [5.641402231731082]
リポジトリレベルのコード生成を評価するために設計された新しいベンチマークである textbfmethodnamews を提案する。
実行可能性、包括的なテストケース生成による機能的正当性、ファイル間のコンテキストの正確な利用という3つの重要な側面に注目します。
論文 参考訳(メタデータ) (2024-06-17T10:45:22Z) - 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) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Autoregressive Search Engines: Generating Substrings as Document
Identifiers [53.0729058170278]
自動回帰言語モデルは、回答を生成するデファクト標準として現れています。
これまでの研究は、探索空間を階層構造に分割する方法を探究してきた。
本研究では,検索空間の任意の構造を強制しない代替として,経路内のすべてのngramを識別子として使用することを提案する。
論文 参考訳(メタデータ) (2022-04-22T10:45:01Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。