論文の概要: Hierarchical Context Pruning: Optimizing Real-World Code Completion with Repository-Level Pretrained Code LLMs
- arxiv url: http://arxiv.org/abs/2406.18294v2
- Date: Thu, 27 Jun 2024 04:40:52 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-28 12:59:10.940740
- Title: Hierarchical Context Pruning: Optimizing Real-World Code Completion with Repository-Level Pretrained Code LLMs
- Title(参考訳): 階層型コンテキストプルーニング - Repository-Level Pretrained Code LLMによる実世界のコード補完の最適化
- Authors: Lei Zhang, Yunshui Li, Jiaming Li, Xiaobo Xia, Jiaxi Yang, Run Luo, Minzheng Wang, Longze Chen, Junhao Liu, Min Yang,
- Abstract要約: 本稿では,階層型コンテキストプルーニング(HCP)という戦略を提案し,高い情報量を持つコンプリートプロンプトを構築する。
HCPは関数レベルでコードリポジトリをモデル化し、コードファイル間のトポロジ的な依存関係を維持しながら、大量の無関係なコードコンテンツを削除する。
- 参考スコア(独自算出の注目度): 24.00351065427465
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Some recently developed code large language models (Code LLMs) have been pre-trained on repository-level code data (Repo-Code LLMs), enabling these models to recognize repository structures and utilize cross-file information for code completion. However, in real-world development scenarios, simply concatenating the entire code repository often exceeds the context window limits of these Repo-Code LLMs, leading to significant performance degradation. In this study, we conducted extensive preliminary experiments and analyses on six Repo-Code LLMs. The results indicate that maintaining the topological dependencies of files and increasing the code file content in the completion prompts can improve completion accuracy; pruning the specific implementations of functions in all dependent files does not significantly reduce the accuracy of completions. Based on these findings, we proposed a strategy named Hierarchical Context Pruning (HCP) to construct completion prompts with high informational code content. The HCP models the code repository at the function level, maintaining the topological dependencies between code files while removing a large amount of irrelevant code content, significantly reduces the input length for repository-level code completion. We applied the HCP strategy in experiments with six Repo-Code LLMs, and the results demonstrate that our proposed method can significantly enhance completion accuracy while substantially reducing the length of input. Our code and data are available at https://github.com/Hambaobao/HCP-Coder.
- Abstract(参考訳): 最近開発されたコード大言語モデル(Code LLM)はリポジトリレベルのコードデータ(Repo-Code LLM)で事前トレーニングされており、リポジトリ構造を認識し、コード補完にクロスファイル情報を利用することができる。
しかし、実際の開発シナリオでは、単にコードリポジトリ全体を結合するだけで、Repo-Code LLMのコンテキストウィンドウ限界を超え、パフォーマンスが大幅に低下する。
本研究では,6つのRepo-Code LLMの予備実験と解析を行った。
その結果、ファイルのトポロジ的依存関係を維持し、コンプリートプロンプトでコードファイルの内容を増やすことで、コンプリート精度が向上することが示唆された。
これらの知見に基づいて,高情報コードコンテンツを用いたコンプリートプロンプト構築のための階層型コンテキストプルーニング(HCP)という戦略を提案した。
HCPは関数レベルでコードリポジトリをモデル化し、コードファイル間のトポロジ的な依存関係を維持しながら、大量の無関係なコードコンテンツを取り除き、リポジトリレベルのコード補完の入力長を大幅に削減します。
その結果,提案手法は入力長を大幅に削減しつつ,完了精度を大幅に向上させることができることを示した。
私たちのコードとデータはhttps://github.com/Hambaobao/HCP-Coder.orgで公開されています。
関連論文リスト
- GraphCoder: Enhancing Repository-Level Code Completion via Code Context Graph-based Retrieval and Language Model [30.625128161499195]
GraphCoderは検索拡張コード補完フレームワークである。
一般的なコード知識と、グラフベースの検索生成プロセスを通じてリポジトリ固有の知識を使用する。
コードマッチでは+6.06、識別子マッチでは+6.23となり、時間と空間は少ない。
論文 参考訳(メタデータ) (2024-06-11T06:55:32Z) - Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion [17.4397495929138]
本稿では,リポジトリレベルのコード補完のためのデータフロー誘導型検索拡張手法DraCoを提案する。
実験では、DraCoの精度と適用効率が向上し、コード精度が3.43%向上し、識別子F1スコアが平均3.27%向上した。
論文 参考訳(メタデータ) (2024-05-30T07:48:00Z) - CodecLM: Aligning Language Models with Tailored Synthetic Data [51.59223474427153]
命令追従能力のための高品質な合成データを適応的に生成するフレームワークであるCodecLMを紹介する。
まず、ターゲットの指示分布をキャプチャするために、オンザフライで生成された簡潔なキーワードであるメタデータにシード命令をエンコードする。
また、デコード中に自己論理とコントラストフィルタを導入し、データ効率の良いサンプルを調整する。
論文 参考訳(メタデータ) (2024-04-08T21:15:36Z) - Iterative Refinement of Project-Level Code Context for Precise Code Generation with Compiler Feedback [29.136378191436396]
我々は,コンパイラフィードバックを用いてLLM生成コードを改善する新しいコード生成手法であるCoCoGenを提案する。
CoCoGenは、まず静的解析を利用して、生成されたコードとプロジェクトのコンテキストのミスマッチを特定する。
その後、コードリポジトリから抽出された情報を使用して、識別されたエラーを反復的に調整し、修正する。
論文 参考訳(メタデータ) (2024-03-25T14:07:27Z) - Enhancing LLM-Based Coding Tools through Native Integration of
IDE-Derived Static Context [41.91246546266515]
我々は,統合開発環境(IDE)がリポジトリレベルのコード補完のために,直接的かつ正確かつリアルタイムなクロスファイル情報を提供できると主張している。
本稿では,IDEネイティブな静的コンテキストをクロスコンテキスト構築に利用し,自己再定義のための診断結果を生成するフレームワークを提案する。
論文 参考訳(メタデータ) (2024-02-06T01:59:41Z) - 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) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - CoCoMIC: Code Completion By Jointly Modeling In-file and Cross-file
Context [82.88371379927112]
予め訓練されたコード LM 上で,ファイル内コンテキストとファイル内コンテキストを協調的に学習するための,クロスファイルコンテキストを組み込んだフレームワークを提案する。
CoCoMICは既存のコードLMを33.94%の精度で改善し、クロスファイルコンテキストが提供されるとコード補完のための識別子マッチングが28.69%増加した。
論文 参考訳(メタデータ) (2022-12-20T05:48:09Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。