論文の概要: Repoformer: Selective Retrieval for Repository-Level Code Completion
- arxiv url: http://arxiv.org/abs/2403.10059v2
- Date: Tue, 4 Jun 2024 10:04:33 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-06 12:28:47.805385
- 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). In this paper, we propose a selective RAG framework to avoid retrieval when unnecessary. To power this framework, we design a self-supervised learning approach to enable 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 RAG policy and the generation model, our framework achieves state-of-the-art repository-level code completion performance on diverse benchmarks including RepoEval, CrossCodeEval, and CrossCodeLongEval, a new long-form code completion benchmark. Meanwhile, our analyses show that selectively retrieving brings as much as 70% inference speedup in the online serving setting without harming the performance. We further demonstrate that our framework is able to accommodate 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を選択的RAGポリシと生成モデルの両方として使用することにより,RepoEval,CrossCodeEval,CrossCodeLongEvalなど,さまざまなベンチマーク上で,最先端のリポジトリレベルのコード補完性能を実現する。
一方、分析の結果、オンラインサービス環境では、パフォーマンスを損なうことなく、最大70%の推論スピードアップが得られることがわかった。
さらに、我々のフレームワークは、異なる世代モデル、検索者、プログラミング言語に対応可能であることを実証する。
これらの進歩は、より正確で効率的なリポジトリレベルのコード補完に向けた重要なステップとして、私たちのフレームワークを位置づけています。
関連論文リスト
- Accelerating Inference of Retrieval-Augmented Generation via Sparse Context Selection [28.15184715270483]
大きな言語モデル (LLM) は、検索によって強化され、堅牢な性能と広範な汎用性を示す。
本稿では,スパースRAGという新しいパラダイムを提案する。
Sparse RAGは、検索したドキュメントを並列にエンコードする。
論文 参考訳(メタデータ) (2024-05-25T11:10:04Z) - Class-Level Code Generation from Natural Language Using Iterative, Tool-Enhanced Reasoning over Repository [4.767858874370881]
実世界のリポジトリ内でクラスレベルのコードを生成する際に,LLMを厳格に評価するためのベンチマークであるRepoClassBenchを紹介する。
RepoClassBenchには、リポジトリの選択からJava、Python、C#にまたがる"Natural Language to Class Generation"タスクが含まれている。
Retrieve-Repotools-Reflect (RRR)は,レポジトリレベルのコンテキストを反復的にナビゲートし,推論する静的解析ツールを備えた新しいアプローチである。
論文 参考訳(メタデータ) (2024-04-22T03:52:54Z) - 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) - Corrective Retrieval Augmented Generation [39.371798735872865]
Retrieval-augmented Generation (RAG) は、検索された文書の関連性に大きく依存しており、検索が失敗した場合のモデルがどのように振る舞うかについての懸念を提起する。
生成の堅牢性を改善するために,CRAG(Corrective Retrieval Augmented Generation)を提案する。
CRAGはプラグアンドプレイであり、様々なRAGベースのアプローチとシームレスに結合できる。
論文 参考訳(メタデータ) (2024-01-29T04:36:39Z) - A Review of Repository Level Prompting for LLMs [0.0]
大規模言語モデル(LLM)は、HumanEvalベンチマークで94.6%の解決率を達成するなど、顕著な成功を収めている。
GitHub CopilotやTab Nineといったリポジトリレベルのインラインコード補完ツールの商用化が進んでいる。
本稿では,個々のコーディング問題からリポジトリスケールソリューションへの移行について述べる。
論文 参考訳(メタデータ) (2023-12-15T00:34:52Z) - Continual Referring Expression Comprehension via Dual Modular
Memorization [133.46886428655426]
Referring Expression (REC) は、自然言語で記述された対象のイメージ領域をローカライズすることを目的としている。
既存のRECアルゴリズムは、モデルへのデータ供給のトレーニングを前もって行うと強く仮定する。
本稿では、入ってくるタスクのストリーム上でモデルが学習するRECの新しい設定である連続参照表現(CREC)を提案する。
学習済みの知識を忘れずに,スクラッチから繰り返し再学習することなく,逐次的タスクのモデルを継続的に改善するために,デュアルモジュール記憶法という効果的なベースライン手法を提案する。
論文 参考訳(メタデータ) (2023-11-25T02:58:51Z) - Learning to Rank in Generative Retrieval [62.91492903161522]
生成的検索は、検索対象として関連する通路の識別子文字列を生成することを目的としている。
我々はLTRGRと呼ばれる生成検索のための学習 torankフレームワークを提案する。
このフレームワークは、現在の生成的検索システムを強化するために、追加の学習からランクまでのトレーニングフェーズのみを必要とする。
論文 参考訳(メタデータ) (2023-06-27T05:48:14Z) - 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) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。