論文の概要: Function-constrained Program Synthesis
- arxiv url: http://arxiv.org/abs/2311.15500v2
- Date: Mon, 4 Dec 2023 06:24:02 GMT
- ステータス: 処理完了
- システム内更新日: 2023-12-05 21:00:33.036546
- Title: Function-constrained Program Synthesis
- Title(参考訳): 関数制約プログラム合成
- Authors: Patrick Hajali and Ignas Budvytis
- Abstract要約: 大規模言語モデル(LLM)は、開発環境で利用可能なすべてのコードを描画することで、リアルタイムでコードを生成することができる。
現在のシステムには効果的なリカバリ方法が欠如しており、ユーザーは十分な解に到達するまで、修正されたプロンプトでモデルを反復的に再起動せざるを得ない。
提案手法は,コード生成を明示的な関数集合に制約し,自動生成されたサブ関数を通じて失敗した試行からのリカバリを可能にする。
- 参考スコア(独自算出の注目度): 12.55507214959886
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: This work introduces (1) a technique that allows large language models (LLMs)
to leverage user-provided code when solving programming tasks and (2) a method
to iteratively generate modular sub-functions that can aid future code
generation attempts when the initial code generated by the LLM is inadequate.
Generating computer programs in general-purpose programming languages like
Python poses a challenge for LLMs when instructed to use code provided in the
prompt. Code-specific LLMs (e.g., GitHub Copilot, CodeLlama2) can generate code
completions in real-time by drawing on all code available in a development
environment. However, restricting code-specific LLMs to use only in-context
code is not straightforward, as the model is not explicitly instructed to use
the user-provided code and users cannot highlight precisely which snippets of
code the model should incorporate into its context. Moreover, current systems
lack effective recovery methods, forcing users to iteratively re-prompt the
model with modified prompts until a sufficient solution is reached. Our method
differs from traditional LLM-powered code-generation by constraining
code-generation to an explicit function set and enabling recovery from failed
attempts through automatically generated sub-functions. When the LLM cannot
produce working code, we generate modular sub-functions to aid subsequent
attempts at generating functional code. A by-product of our method is a library
of reusable sub-functions that can solve related tasks, imitating a software
team where efficiency scales with experience. We also introduce a new
"half-shot" evaluation paradigm that provides tighter estimates of LLMs' coding
abilities compared to traditional zero-shot evaluation. Our proposed evaluation
method encourages models to output solutions in a structured format, decreasing
syntax errors that can be mistaken for poor coding ability.
- Abstract(参考訳): 本研究は,1)プログラムタスクを解く際に,ユーザが提供するコードを活用するための大規模言語モデル (LLM) と,2) LLMが生成した初期コードが不十分である場合に,将来のコード生成の試みを支援するモジュールサブ関数を反復的に生成する手法を紹介する。
pythonのような汎用プログラミング言語でコンピュータプログラムを生成することは、プロンプトで提供されるコードを使用するよう指示されたときにllmsにとって課題となる。
コード固有のLCM(GitHub Copilot、CodeLlama2)は、開発環境で利用可能なすべてのコードに描画することで、リアルタイムでコード補完を生成することができる。
しかしながら、コード固有のLLMをコンテキスト内でのみ使用するように制限することは簡単ではなく、モデルが明示的にユーザが提供するコードを使用するように指示されていないため、ユーザーはモデルがそのコンテキストに組み込むべきコードのスニペットを正確に強調できない。
さらに、現在のシステムには効果的なリカバリ方法が欠如しており、十分なソリューションに到達するまで、ユーザがモデルを再プロンプトを変更済みのプロンプトで繰り返し行わざるを得ない。
提案手法は,コード生成を明示的な関数集合に制約し,自動生成したサブ関数による失敗からの回復を可能にすることで,従来のLLMコード生成と異なる。
LLMが動作コードを生成することができない場合、モジュールサブ関数を生成して、機能コードを生成する。
提案手法の副産物は再利用可能なサブファンクションのライブラリであり,効率が経験とともにスケールするソフトウェアチームを模倣して,関連するタスクを解くことができる。
また,従来のゼロショット評価に比べてllmsのコーディング能力の密接な評価を行う新しい「ハーフショット」評価パラダイムを導入する。
提案手法は,モデルが構造化された形式で解を出力することを奨励し,コーディング能力の低下を誤る構文誤差を低減させる。
関連論文リスト
- zsLLMCode: An Effective Approach for Functional Code Embedding via LLM with Zero-Shot Learning [6.976968804436321]
大型言語モデル(LLM)はゼロショット学習の能力を持ち、訓練や微調整を必要としない。
LLMを用いた関数型コード埋め込みを生成する新しいアプローチであるzsLLMCodeを提案する。
論文 参考訳(メタデータ) (2024-09-23T01:03:15Z) - Combining LLM Code Generation with Formal Specifications and Reactive Program Synthesis [0.7580487359358722]
大規模言語モデル(LLM)は精度に苦しむが、リスクの高いアプリケーションには適さない。
コード生成を LLM で処理する部分と,形式的なメソッドベースのプログラム合成で処理する部分の2つに分割する手法を提案する。
論文 参考訳(メタデータ) (2024-09-18T15:59: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) - 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) - 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) - CodeChain: Towards Modular Code Generation Through Chain of Self-revisions with Representative Sub-modules [51.82044734879657]
我々は,自己修正の連鎖を通じてモジュール化されたコード生成を誘発する,新しい推論フレームワークであるCodeChainを提案する。
CodeChainは、生成したソリューションのモジュール性と正確性の両方を大幅に向上させ、APPSで35%、CodeContestsで76%の相対パス@1の改善を実現しています。
論文 参考訳(メタデータ) (2023-10-13T10:17:48Z) - Test-Case-Driven Programming Understanding in Large Language Models for
Better Code Generation [15.166827643436346]
muFiXは、大きな言語モデル(LLM)のコード生成性能を改善する新しいプロンプト技術である。
まず、テストケース分析を利用して仕様の理解を得、自己改善プロセスを可能にする。
muFiXはさらに、提供された理解と実際の理解の間のギャップを減らす方向に向けた仕様理解を修正している。
論文 参考訳(メタデータ) (2023-09-28T02:58:07Z) - Exploring Continual Learning for Code Generation Models [80.78036093054855]
継続的学習(CL)は、コードドメインの中でまだ過小評価されていない重要な側面である。
コード生成,翻訳,要約,改良など,幅広いタスクをカバーするCodeTask-CLというベンチマークを導入する。
即時選択機構の不安定な訓練により,プロンプトプール (PP) などの有効手法が破滅的な忘れ込みに悩まされることが判明した。
論文 参考訳(メタデータ) (2023-07-05T16:58:39Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。