論文の概要: Teaching Code LLMs to Use Autocompletion Tools in Repository-Level Code
Generation
- arxiv url: http://arxiv.org/abs/2401.06391v1
- Date: Fri, 12 Jan 2024 06:03:56 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-15 20:20:12.046570
- Title: Teaching Code LLMs to Use Autocompletion Tools in Repository-Level Code
Generation
- Title(参考訳): リポジトリレベルコード生成における自動補完ツールの使い方
- Authors: Chong Wang and Jian Zhang and Yebo Feng and Tianlin Li and Weisong Sun
and Yang Liu and Xin Peng
- Abstract要約: ToolGenは、自動補完ツールをコードLLM生成プロセスに統合するアプローチである。
オフラインフェーズでは、ToolGenは特定のコードコーパス内の機能を特別なマークトークンで拡張し、自動補完ツールを起動する位置を示す。
オンラインフェーズでは、ToolGenは、微調整LDMを使用してトークンを段階的に予測することで、関数を反復的に生成する。
- 参考スコア(独自算出の注目度): 16.236502156508877
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Recent code large language models (LLMs) have shown promising performance in
generating standalone functions but face limitations in repository-level code
generation due to their lack of awareness of repository-level dependencies
(e.g., user-defined attributes), resulting in dependency errors such as
undefined-variable and no-member errors. In this work, we introduce ToolGen, an
approach that integrates autocompletion tools into the code LLM generation
process to address these dependencies. ToolGen comprises two main phases: Data
Augmentation and Model Fine-tuning (Offline), and Tool-integrated Code
Generation (Online). During the offline phase, ToolGen augments functions
within a given code corpus with a special mark token, indicating positions to
trigger autocompletion tools. These augmented functions, along with their
corresponding docstrings, are then used to fine-tune a selected code LLM. In
the online phase, ToolGen iteratively generates functions by predicting tokens
step-by-step using the fine-tuned LLM. Whenever a mark token is encountered,
ToolGen invokes the autocompletion tool to suggest code completions and selects
the most appropriate one.
We conduct comprehensive experiments to evaluate ToolGen's effectiveness in
repository-level code generation. To facilitate this evaluation, we create a
benchmark comprising 680 real-world code repositories and introduce two new
repository-level metrics: Dependency Coverage and Success Rate. The results
demonstrate that ToolGen significantly improves dependency coverage by 15.2% to
45.8% and success rates by 10.9% to 42.2% across three distinct code LLMs,
while maintaining competitive performance in widely-recognized similarity
metrics. Furthermore, our generalizability evaluation confirms ToolGen's
consistent performance when applied to diverse code LLMs, including various
model architectures and scales.
- Abstract(参考訳): 最近のコード大言語モデル(LLM)は、スタンドアロン関数の生成において有望なパフォーマンスを示しているが、リポジトリレベルの依存性(例えば、ユーザ定義属性)に対する認識の欠如により、リポジトリレベルのコード生成の制限に直面している。
本稿では、自動補完ツールをコードLLM生成プロセスに統合し、これらの依存関係に対処するToolGenを紹介する。
ToolGenは、Data AugmentationとModel Fine-tuning(Offline)とTool-Integated Code Generation(Online)の2つの主要なフェーズで構成されている。
オフラインフェーズでは、ToolGenは特定のコード内の機能を特別なマークトークンで拡張し、自動補完ツールを起動する位置を示す。
これらの拡張関数は対応するドクストリングとともに、選択されたコードLLMを微調整するために使用される。
オンラインフェーズでは、ToolGenは微調整LDMを使用してトークンを段階的に予測することで関数を反復的に生成する。
マークトークンに遭遇するたびに、ToolGenは自動補完ツールを呼び出して、コード補完を提案し、最も適切なものを選択する。
リポジトリレベルのコード生成におけるToolGenの有効性を評価するために、包括的な実験を行う。
この評価を容易にするために、680の実際のコードリポジトリからなるベンチマークを作成し、依存性のカバレッジと成功率という2つの新しいリポジトリレベルのメトリクスを導入します。
その結果、ツールゲンは依存関係のカバレッジを15.2%から45.8%、成功率を10.9%から42.2%と3つの異なるコードllmで大幅に改善した。
さらに,汎用性評価により,様々なモデルアーキテクチャやスケールを含む多様なコードllmに適用した場合のツールゲンの性能の一貫性を確認した。
関連論文リスト
- LLMs in the Imaginarium: Tool Learning through Simulated Trial and Error [54.954211216847135]
既存の大規模言語モデル(LLM)は30%から60%の範囲でしか正当性に至らない。
試行錯誤(STE)を模擬したツール拡張LDMの生物学的なインスピレーション法を提案する。
STEは、試行錯誤、想像力、記憶という、生物学的システムにおけるツール使用行動の成功のための3つの重要なメカニズムを編成する。
論文 参考訳(メタデータ) (2024-03-07T18:50:51Z) - Learning to Use Tools via Cooperative and Interactive Agents [61.662788490607475]
ツール学習は、大きな言語モデル(LLM)をエージェントとして、その能力を拡張するために外部ツールを使用する権限を与える。
既存の手法では、1つのLCMベースのエージェントを使用してツールを反復的に選択し実行し、その結果を次のアクション予測に組み込む。
本研究では,協調型対話型エージェントフレームワークであるConAgentsを提案し,ツール学習のワークフローをグラウンディング,実行,監視エージェントにモジュール化する。
論文 参考訳(メタデータ) (2024-03-05T15:08:16Z) - 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) - CodeAgent: Enhancing Code Generation with Tool-Integrated Agent Systems
for Real-World Repo-level Coding Challenges [44.028079593225584]
大規模言語モデル(LLM)は自動コード生成において有望であるが、通常は単純なタスクでのみ優れている。
私たちの研究は、実世界のリポジトリレベルのコード生成という、より現実的な設定でLLMを評価することに向かっています。
我々は,効率的なリポジトリレベルのコード生成に外部ツールを利用する,新しいLLMベースのエージェントフレームワークであるCodeAgentを紹介する。
論文 参考訳(メタデータ) (2024-01-14T18:12:03Z) - LLM-Assisted Code Cleaning For Training Accurate Code Generators [53.087019724256606]
コードの品質を調査した結果,より構造化され,読みやすくなれば,コード生成性能が向上することがわかった。
私たちは、これらの原則を使って既存のプログラムを変換する、新しいデータクリーニングパイプラインを構築します。
提案手法を2つのアルゴリズムコード生成ベンチマークで評価した結果,微調整のCodeLLaMa-7Bでは,元のデータセットの微調整に比べて最大30%性能が向上していることがわかった。
論文 参考訳(メタデータ) (2023-11-25T02:45:50Z) - ML-Bench: Evaluating Large Language Models for Code Generation in Repository-Level Machine Learning Tasks [76.85930757493409]
大規模言語モデル(LLM)は、コード生成ベンチマークの習熟度を示しているが、これらの結果を実用的な開発シナリオに変換することは依然として難しい。
ML-Benchは、レポジトリレベルのオープンソースライブラリを統合して機械学習タスクを完了させるLLMの機能を評価するために設計された、新しいベンチマークである。
以上の結果から, GPT-4は他のLSMよりも優れており, 課題の複雑さを浮き彫りにしたタスクは33.82%に過ぎなかった。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - CRAFT: Customizing LLMs by Creating and Retrieving from Specialized
Toolsets [75.64181719386497]
大規模言語モデル(LLM)のためのツール作成・検索フレームワークであるCRAFTを提案する。
タスク用に特別にキュレートされたツールセットを作成し、複雑なタスクを解決する能力を高めるためにこれらのセットからツールを取得するコンポーネントをLLMに装備する。
本手法はフレキシブルに設計されており,既製のLCMを細かな調整なしに未確認領域やモダリティに適応するためのプラグアンドプレイ方式を提供する。
論文 参考訳(メタデータ) (2023-09-29T17:40:26Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。