論文の概要: Guiding Language Models of Code with Global Context using Monitors
- arxiv url: http://arxiv.org/abs/2306.10763v1
- Date: Mon, 19 Jun 2023 08:13:50 GMT
- ステータス: 処理完了
- システム内更新日: 2023-06-21 18:36:01.418537
- 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はそのようなグローバルな文脈に対する認識が限られ、幻覚に陥る。
復号化を誘導するために,バックグラウンドで静的解析を利用するモニタを提案する。
- 参考スコア(独自算出の注目度): 12.394790998379335
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Language models of code (LMs) work well when the surrounding code in the
vicinity of generation provides sufficient context. This is not true when it
becomes necessary to use types or functionality defined in another module or
library, especially those not seen during training. LMs suffer from limited
awareness of such global context and end up hallucinating, e.g., using types
defined in other files incorrectly. Recent work tries to overcome this issue by
retrieving global information to augment the local context. However, this
bloats the prompt or requires architecture modifications and additional
training.
Integrated development environments (IDEs) assist developers by bringing the
global context at their fingertips using static analysis. We extend this
assistance, enjoyed by developers, to the LMs. We propose a notion of monitors
that use static analysis in the background to guide the decoding. Unlike a
priori retrieval, static analysis is invoked iteratively during the entire
decoding process, providing the most relevant suggestions on demand. We
demonstrate the usefulness of our proposal by monitoring for type-consistent
use of identifiers whenever an LM generates code for object dereference.
To evaluate our approach, we curate PragmaticCode, a dataset of open-source
projects with their development environments. On models of varying parameter
scale, we show that monitor-guided decoding consistently improves the ability
of an LM to not only generate identifiers that match the ground truth but also
improves compilation rates and agreement with ground truth. We find that LMs
with fewer parameters, when guided with our monitor, can outperform larger LMs.
With monitor-guided decoding, SantaCoder-1.1B achieves better compilation rate
and next-identifier match than the much larger text-davinci-003 model. The
datasets and code will be released at https://aka.ms/monitors4codegen .
- Abstract(参考訳): 生成近傍の周辺コードが十分なコンテキストを提供する場合、コード言語モデル(LM)はうまく機能する。
これは、他のモジュールやライブラリで定義された型や機能、特にトレーニング中に見えないものを使用する必要がある場合に当てはまらない。
LMはそのようなグローバルな文脈に対する認識が限られており、例えば他のファイルで定義されている型を誤用して幻覚に陥る。
最近の研究は、グローバルな情報を取得してローカルなコンテキストを拡大することでこの問題を克服しようとしている。
しかし、これはプロンプトを肥大させ、アーキテクチャの変更と追加のトレーニングを必要とする。
統合開発環境(ide)は、静的解析を使ってグローバルコンテキストを指先に持ち込むことで開発者を支援する。
我々はこの支援を開発者によって享受され、lmsに拡張します。
本稿では,背景の静的解析を用いてデコーディングを誘導するモニタの概念を提案する。
事前検索とは異なり、静的解析はデコードプロセス全体を通して反復的に呼び出され、最も関連する提案をオンデマンドで提供する。
LMがオブジェクト参照のコードを生成すると、型一貫性のある識別子の使用を監視することで提案手法の有用性を示す。
当社のアプローチを評価するため,PragmaticCodeというオープンソースプロジェクトのデータセットを開発環境とともにキュレートした。
様々なパラメータスケールのモデルにおいて,モニタ誘導復号化により,lm が基底真理にマッチする識別子を生成するだけでなく,コンパイル率や基底真理との一致度も向上することを示した。
より少ないパラメータを持つLMをモニタでガイドすると、より大きなLMよりも優れた性能が得られる。
モニターガイドのデコードにより、santacoder-1.1bはより大きなtext-davinci-003モデルよりもコンパイルレートとnext-identifierマッチングが向上する。
データセットとコードはhttps://aka.ms/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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。