論文の概要: RepoFusion: Training Code Models to Understand Your Repository
- arxiv url: http://arxiv.org/abs/2306.10998v1
- Date: Mon, 19 Jun 2023 15:05:31 GMT
- ステータス: 処理完了
- システム内更新日: 2023-06-21 17:20:31.272659
- Title: RepoFusion: Training Code Models to Understand Your Repository
- Title(参考訳): RepoFusion: リポジトリを理解するためのコードモデルトレーニング
- Authors: Disha Shrivastava, Denis Kocetkov, Harm de Vries, Dzmitry Bahdanau,
Torsten Scholak
- Abstract要約: GitHub Copilotのようなコーディングアシスタントにおける大きな言語モデル(LLM)は、リポジトリに存在するコンテキストを理解するのに苦労している。
最近の研究は、推論中にリポジトリからコンテキストを使用するという約束を示している。
関連するリポジトリコンテキストを組み込むためのモデルをトレーニングするフレームワークであるRepoFusionを提案する。
- 参考スコア(独自算出の注目度): 12.621282610983592
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Despite the huge success of Large Language Models (LLMs) in coding assistants
like GitHub Copilot, these models struggle to understand the context present in
the repository (e.g., imports, parent classes, files with similar names, etc.),
thereby producing inaccurate code completions. This effect is more pronounced
when using these assistants for repositories that the model has not seen during
training, such as proprietary software or work-in-progress code projects.
Recent work has shown the promise of using context from the repository during
inference. In this work, we extend this idea and propose RepoFusion, a
framework to train models to incorporate relevant repository context.
Experiments on single-line code completion show that our models trained with
repository context significantly outperform much larger code models as
CodeGen-16B-multi ($\sim73\times$ larger) and closely match the performance of
the $\sim 70\times$ larger StarCoderBase model that was trained with the
Fill-in-the-Middle objective. We find these results to be a novel and
compelling demonstration of the gains that training with repository context can
bring. We carry out extensive ablation studies to investigate the impact of
design choices such as context type, number of contexts, context length, and
initialization within our framework. Lastly, we release Stack-Repo, a dataset
of 200 Java repositories with permissive licenses and near-deduplicated files
that are augmented with three types of repository contexts. Additionally, we
are making available the code and trained checkpoints for our work. Our
released resources can be found at \url{https://huggingface.co/RepoFusion}.
- Abstract(参考訳): GitHub CopilotのようなコーディングアシスタントにおけるLLM(Large Language Models)の成功にもかかわらず、これらのモデルはリポジトリに存在するコンテキスト(インポート、親クラス、同様の名前のファイルなど)を理解するのに苦労し、不正確なコード補完を生成する。
この効果は、プロプライエタリなソフトウェアやプログレッシブなコードプロジェクトなど、トレーニング中にモデルが見ていないリポジトリにこれらのアシスタントを使用することでより顕著になる。
最近の研究は、推論中にリポジトリからコンテキストを使用するという約束を示している。
本稿では、このアイデアを拡張し、関連するリポジトリコンテキストを組み込むためにモデルをトレーニングするフレームワークであるrepofusionを提案する。
単一行のコード補完実験では、repository contextでトレーニングされたモデルは、codegen-16b-multi (\sim73\times$ large) よりもずっと大きなコードモデルを大きく上回っており、$\sim 70\times$ より大きなstarcoderbaseモデルのパフォーマンスに非常に近いことが分かりました。
これらの結果は、リポジトリコンテキストによるトレーニングがもたらす利益の、新しくて説得力のある実証だと考えています。
我々は,コンテキストタイプ,コンテキスト数,コンテキスト長,フレームワーク内の初期化といった設計選択の影響を調べるために,広範なアブレーション研究を行う。
最後に、私たちは、許容ライセンスと3種類のリポジトリコンテキストで拡張されたほぼ重複したファイルを持つ200のjavaリポジトリのデータセットであるstack-repoをリリースします。
さらに、私たちは仕事のためにコードとトレーニング済みのチェックポイントを公開しています。
リリースしたリソースは \url{https://huggingface.co/RepoFusion} で確認できます。
関連論文リスト
- StarCoder 2 and The Stack v2: The Next Generation [105.93298676368798]
私たちは3.3から4.3兆のトークンで3B、7B、15BパラメータでStarCoder2モデルをトレーニングします。
我々は、それらをCode LLMベンチマークの包括的なセットで徹底的に評価する。
私たちの大きなモデルであるStarCoder2-15Bは、同等の大きさの他のモデルよりも大幅に優れています。
論文 参考訳(メタデータ) (2024-02-29T13:53:35Z) - CrossCodeEval: A Diverse and Multilingual Benchmark for Cross-File Code
Completion [86.01508183157613]
CrossCodeEvalは4つの人気のあるプログラミング言語の様々な現実世界、オープンソース、パーミッシブライセンスのリポジトリ上に構築されている。
関連するクロスファイルコンテキストが欠如している場合、CrossCodeEvalは極めて困難であることを示す。
また、コードレトリバーの能力を測定するためにCrossCodeEvalが使えることも示しています。
論文 参考訳(メタデータ) (2023-10-17T13:18:01Z) - Enriching Source Code with Contextual Data for Code Completion Models:
An Empirical Study [4.438873396405334]
コンテクストデータを用いてコードを理解しやすくすることで、コード補完作業のための事前学習された言語モデルの性能が向上するかどうかを問う。
コメントについては、マルチラインコメントの存在下でモデルの性能が向上していることが分かる。
論文 参考訳(メタデータ) (2023-04-24T17:09:14Z) - RepoCoder: Repository-Level Code Completion Through Iterative Retrieval
and Generation [96.75695811963242]
RepoCoderはリポジトリレベルのコード補完プロセスを合理化するフレームワークである。
類似性ベースのレトリバーと、事前訓練されたコード言語モデルが組み込まれている。
バニラ検索で拡張されたコード補完アプローチよりも一貫して優れています。
論文 参考訳(メタデータ) (2023-03-22T13:54:46Z) - Repository-Level Prompt Generation for Large Language Models of Code [28.98699307030983]
本稿では,提案手法を用いてサンプル固有のプロンプトを生成するフレームワークを提案する。
プロンプトプロポーザルはリポジトリ全体からコンテキストを取ります。
我々は,Google Codeアーカイブから取得したコードリポジトリを用いて,単行コード自動補完のタスクについて実験を行った。
論文 参考訳(メタデータ) (2022-06-26T10:51:25Z) - InCoder: A Generative Model for Code Infilling and Synthesis [88.46061996766348]
InCoderは、プログラム合成(左から右への生成)と編集(埋め込み)が可能な統合生成モデルである。
InCoderは、許可されたコードの大きなコーパスからコードファイルを生成するように訓練されている。
私たちのモデルは、ゼロショットコードの埋め込みを直接実行できる最初の生成モデルです。
論文 参考訳(メタデータ) (2022-04-12T16:25:26Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - CodeRetriever: Unimodal and Bimodal Contrastive Learning [128.06072658302165]
関数レベルのコードセマンティック表現を訓練するために,一様および二様のコントラスト学習を組み合わせたCodeRetrieverモデルを提案する。
ノンモーダルなコントラスト学習のために、文書と関数名に基づいてポジティブなコードペアを構築するためのセマンティックガイド付き手法を設計する。
バイモーダルなコントラスト学習では、コードのドキュメンテーションとインラインコメントを活用して、テキストコードペアを構築します。
論文 参考訳(メタデータ) (2022-01-26T10:54:30Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。