論文の概要: 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で利用可能です。
関連論文リスト
- 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 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) - 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) - Domain Adaptive Code Completion via Language Models and Decoupled Domain
Databases [15.964849180459675]
$k$NM-LMは、ドメイン知識を微調整なしで言語モデルに統合する検索強化言語モデルである。
私たちのアプローチは、異なる言語モデルとドメインに自動的に適応できます。
論文 参考訳(メタデータ) (2023-08-18T05:25:55Z) - COMEX: A Tool for Generating Customized Source Code Representations [7.151800146054561]
COMEXは、研究者と開発者が複数のコードビューを作成し、組み合わせることを可能にするフレームワークである。
プロシージャ内スニペットとプロシージャ間スニペットの両方を使用して、メソッドレベルのスニペットとプログラムレベルのスニペットの両方を分析することができる。
これは40以上の言語をサポートする、広く使われているインクリメンタル分析ツールであるtree-sitter上に構築されている。
論文 参考訳(メタデータ) (2023-07-10T16:46:34Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - Code to Comment "Translation": Data, Metrics, Baselining & Evaluation [49.35567240750619]
本稿では,この課題に対する最近のコード・コンパートメント・データセットについて分析する。
それらをWMT19と比較する。WMT19は、アート自然言語翻訳者の状態のトレーニングに頻繁に使用される標準データセットである。
ソースコードデータとWMT19自然言語データの間には,いくつかの興味深い違いがある。
論文 参考訳(メタデータ) (2020-10-03T18:57:26Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。