論文の概要: Guiding Language Models of Code with Global Context using Monitors
- arxiv url: http://arxiv.org/abs/2306.10763v2
- Date: Fri, 3 Nov 2023 11:13:15 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-06 17:39:51.812354
- Title: Guiding Language Models of Code with Global Context using Monitors
- Title(参考訳): モニタを用いたグローバルコンテキストによるコードの言語モデル誘導
- Authors: Lakshya A Agrawal, Aditya Kanade, Navin Goyal, Shuvendu K. Lahiri,
Sriram K. Rajamani
- Abstract要約: コード(LM)の言語モデルは、周囲のコードが十分なコンテキストを提供するときにうまく機能します。
LMはそのようなグローバルな文脈に対する認識が限られ、幻覚に陥る。
そこで我々は,モニタが静的解析を用いて復号を導出する,モニタ誘導復号法(MGD)を提案する。
- 参考スコア(独自算出の注目度): 17.05416012014561
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Language models of code (LMs) work well when the surrounding code provides
sufficient context. This is not true when it becomes necessary to use types,
functionality or APIs defined elsewhere in the repository or a linked library,
especially those not seen during training. LMs suffer from limited awareness of
such global context and end up hallucinating.
Integrated development environments (IDEs) assist developers in understanding
repository context using static analysis. We extend this assistance, enjoyed by
developers, to LMs. We propose monitor-guided decoding (MGD) where a monitor
uses static analysis to guide the decoding. We construct a repository-level
dataset PragmaticCode for method-completion in Java and evaluate MGD on it. On
models of varying parameter scale, by monitoring for type-consistent object
dereferences, MGD consistently improves compilation rates and agreement with
ground truth. Further, LMs with fewer parameters, when augmented with MGD, can
outperform larger LMs. With MGD, SantaCoder-1.1B achieves better compilation
rate and next-identifier match than the much larger text-davinci-003 model.
We also conduct a generalizability study to evaluate the ability of MGD to
generalize to multiple programming languages (Java, C# and Rust), coding
scenarios (e.g., correct number of arguments to method calls), and to enforce
richer semantic constraints (e.g., stateful API protocols). Our data and
implementation are available at https://github.com/microsoft/monitors4codegen .
- Abstract(参考訳): コード(LM)の言語モデルは、周囲のコードが十分なコンテキストを提供するときにうまく機能します。
これは、リポジトリやリンクライブラリの他で定義されている型、機能、APIを使用する必要がある場合、特にトレーニング中に見えない場合に当てはまる。
LMはそのようなグローバルな文脈に対する認識が限られ、幻覚に陥る。
統合開発環境(IDE)は、静的解析を使ってリポジトリのコンテキストを理解するのを支援する。
私たちはこの支援を開発者によって、LMに拡張します。
本研究では,モニタが静的解析を用いて復号を誘導するモニタ誘導復号 (mgd) を提案する。
Java のメソッド補完のためのリポジトリレベルのデータセット PragmaticCode を構築し,MGD の評価を行う。
様々なパラメータスケールのモデルにおいて、型一貫性のあるオブジェクト参照の監視により、MGDは一貫してコンパイル率と基底真理との一致を改善する。
さらに、MGDで拡張した場合、パラメータが少ないLMはより大きなLMより優れる。
MGDでは、SantaCoder-1.1Bはより大きなテキストダヴィンチ003モデルよりもコンパイル率と次の識別子マッチングが優れている。
また、mgdが複数のプログラミング言語(java、c#、rust)に一般化する能力、コーディングシナリオ(メソッド呼び出しに対する引数の正しい数など)、よりリッチなセマンティクス制約(ステートフルapiプロトコルなど)を強制する能力を評価するための一般化可能性の研究も行っています。
私たちのデータと実装はhttps://github.com/microsoft/monitors4codegenで利用可能です。
関連論文リスト
- CodexGraph: Bridging Large Language Models and Code Repositories via Code Graph Databases [13.733229886643041]
大きな言語モデル(LLM)は、HumanEvalやMBPPのようなスタンドアロンのコードタスクに優れていますが、コードリポジトリ全体の処理に苦労しています。
類似性に基づく検索は複雑なタスクではリコールが低いことが多いが、手動ツールやAPIは通常タスク固有であり、専門家の知識を必要とする。
我々は,LLMエージェントをコードリポジトリから抽出したグラフデータベースインターフェースと統合するシステムであるCodexGraphを紹介する。
論文 参考訳(メタデータ) (2024-08-07T17:13:59Z) - 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) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Comments as Natural Logic Pivots: Improve Code Generation via Comment Perspective [85.48043537327258]
本稿では, MANGO (comMents As Natural loGic pivOts) を提案する。
その結果、MANGOは強いベースラインに基づいてコードパス率を大幅に改善することがわかった。
論理的なコメントの復号化戦略の堅牢性は、考えの連鎖よりも顕著に高い。
論文 参考訳(メタデータ) (2024-04-11T08:30:46Z) - Perplexed: Understanding When Large Language Models are Confused [3.4208414448496027]
本稿では,言語モデルが複雑になる場所を探索するライブラリであるperplexedを紹介する。
Codetokenizerと呼ばれるコードモデルの解析を支援するために構築した追加ツールを使用して、コード生成のためのLLM(Large Language Models)に焦点を当てたケーススタディを実施しました。
我々の研究したコードLLMは、コードが構文的に正しくないコーディング構造において、最悪のパフォーマンスを示しました。
論文 参考訳(メタデータ) (2024-04-09T22:03:39Z) - IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generators [49.903001442804594]
本研究では、コンパイラ中間表現(IR)を活用して、Code-LMの多言語機能を改善する可能性について検討する。
まず,約400万のソースコードファイルからなる並列データセットであるSLTransをコンパイルする。
次に、SLTransにおける因果言語モデリングトレーニングを継続して実施し、Code-LMはIR言語を学習せざるを得なかった。
IRCoderと呼ばれる結果のモデルは、さまざまなコード生成タスクやメトリクスに対して、サイズと一貫性のあるゲインを表示します。
論文 参考訳(メタデータ) (2024-03-06T17:52:08Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Bridging Code Semantic and LLMs: Semantic Chain-of-Thought Prompting for
Code Generation [22.219645213202178]
本稿では,SeCoT というコードの意味情報を抽出する "Semantic Chain-of-Thought" 手法を提案する。
本研究では,SeCoTが最先端の性能を実現し,大規模モデルやコード生成の可能性を大幅に向上させることを示す。
論文 参考訳(メタデータ) (2023-10-16T05:09:58Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。