論文の概要: Code Repair with LLMs gives an Exploration-Exploitation Tradeoff
- arxiv url: http://arxiv.org/abs/2405.17503v3
- Date: Tue, 29 Oct 2024 20:01:16 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-31 14:25:48.074119
- Title: Code Repair with LLMs gives an Exploration-Exploitation Tradeoff
- Title(参考訳): LLMによるコード修復が探索-探索トレードオフをもたらす
- Authors: Hao Tang, Keya Hu, Jin Peng Zhou, Sicheng Zhong, Wei-Long Zheng, Xujie Si, Kevin Ellis,
- Abstract要約: 大きな言語モデル(LLM)でソースコードを反復的に改善し、修復することは、1ショットで構築するには複雑すぎるプログラムを生成する一般的な方法として現れている。
ここでは、リファインメントが探索と露見のトレードオフを露呈していることを示します。ほとんどのテストケースをパスするプログラムをリファイン化したり、考慮の少ないプログラムをリファインダでリファインダすることです。
- 参考スコア(独自算出の注目度): 16.80314690163063
- License:
- Abstract: Iteratively improving and repairing source code with large language models (LLMs), known as refinement, has emerged as a popular way of generating programs that would be too complex to construct in one shot. Given a bank of test cases, together with a candidate program, an LLM can improve that program by being prompted with failed test cases. But it remains an open question how to best iteratively refine code, with prior work employing simple greedy or breadth-first strategies. We show here that refinement exposes an explore-exploit tradeoff: exploit by refining the program that passes the most test cases, or explore by refining a lesser considered program. We frame this as an arm-acquiring bandit problem, which we solve with Thompson Sampling. The resulting LLM-based program synthesis algorithm is broadly applicable: Across loop invariant synthesis, visual reasoning puzzles, and competition programming problems, we find that our new method can solve more problems using fewer language model calls.
- Abstract(参考訳): 大規模な言語モデル(LLM)でソースコードを反復的に改善し、修復することが、一ショットで構築するには複雑すぎるプログラムを生成する一般的な方法として登場した。
テストケースの銀行が、候補プログラムと共に、LCMは、失敗したテストケースでトリガーすることで、そのプログラムを改善することができる。
しかし、これまでは単純な欲求や広義の戦略を駆使して、コードを反復的に洗練する方法については、未解決の疑問が残る。
ここでは、リファインメントが探索と露見のトレードオフを露呈していることを示します。ほとんどのテストケースをパスするプログラムをリファイン化したり、考慮の少ないプログラムをリファインダでリファインダすることです。
我々はこれを、トンプソン・サンプリング(Thompson Sampling)によって解決される、アーム獲得バンディット問題(arm- Acquiring bandit problem)とみなす。
ループ不変合成, 視覚的推論パズル, 競合プログラミング問題などにより, より少ない言語モデル呼び出しで, より多くの問題を解くことができることがわかった。
関連論文リスト
- Combining LLM Code Generation with Formal Specifications and Reactive Program Synthesis [0.7580487359358722]
大規模言語モデル(LLM)は精度に苦しむが、リスクの高いアプリケーションには適さない。
コード生成を LLM で処理する部分と,形式的なメソッドベースのプログラム合成で処理する部分の2つに分割する手法を提案する。
論文 参考訳(メタデータ) (2024-09-18T15:59:06Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - Learning to Reason via Program Generation, Emulation, and Search [33.11955431589091]
言語モデル(LM)によるプログラム合成は、多くの推論能力を解放した。
すべての推論タスクは、コードとして容易に表現できるわけではない。例えば、常識的推論、道徳的意思決定、皮肉な理解を含むタスクである。
我々は,プログラム合成スキルをこのようなタスクに拡張するために,コード生成とエミュレートされた実行(CoGEX)を提案する。
論文 参考訳(メタデータ) (2024-05-25T19:40:50Z) - Distilling Algorithmic Reasoning from LLMs via Explaining Solution Programs [2.3020018305241337]
大きな言語モデルの推論能力を改善する効果的な方法として、明確な推論経路を蒸留する手法が登場している。
本稿では, LLM から推論能力を抽出する手法を提案する。
提案実験は,ReasonerがCoderによるプログラム実装をより効果的にガイドできることを示す。
論文 参考訳(メタデータ) (2024-04-11T22:19:50Z) - 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) - ALGO: Synthesizing Algorithmic Programs with LLM-Generated Oracle
Verifiers [60.6418431624873]
大きな言語モデル(LLM)は、機能記述からコードを実装するのに優れているが、アルゴリズムの問題に悩まされている。
我々は,アルゴリズムプログラムを LLM 生成 Oracle で合成するフレームワーク ALGO を提案し,その生成をガイドし,その正確性を検証する。
実験の結果,ALGOを装着すると,Codexモデルよりも8倍,CodeTよりも2.6倍の1サブミッションパス率が得られることがわかった。
論文 参考訳(メタデータ) (2023-05-24T00:10:15Z) - Fully Autonomous Programming with Large Language Models [0.9558392439655015]
LLM(Large Language Models)を用いたプログラム合成への最近のアプローチは、"ニアミスシンドローム"を示す。
我々は、LLMとプログラム合成ベンチマーク2としてOpenAI Codexを使用し、問題記述と評価のためのテストのデータベースとして使用します。
結果として生じるフレームワークは、修復フェーズなしでのCodexの従来の使用法と、従来の遺伝的プログラミングアプローチの両方を上回ります。
論文 参考訳(メタデータ) (2023-04-20T16:12:05Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - Coder Reviewer Reranking for Code Generation [56.80381384717]
本稿では,コード言語モデルから多様なプログラムを抽出し,モデル確率で再ランク付けする手法として,Coder-Reviewerの再ランク付けを提案する。
実験の結果、Coder-Reviewerのリランクは、Coderモデルのみのリランクよりも一貫性と大幅な改善をもたらすことが示された。
Coder-Reviewerのリランクは、プロンプトによって実装が容易で、異なるプログラミング言語に一般化でき、既定のハイパーパラメータとうまく機能する。
論文 参考訳(メタデータ) (2022-11-29T18:56:33Z) - PAL: Program-aided Language Models [112.94785609781503]
自然言語問題を理解するために,プログラム支援言語モデル(PaL)を提案する。
PaLはソリューションステップをPythonインタプリタのようなプログラムランタイムにオフロードする。
私たちは12のベンチマークで新しい最先端の結果を設定しました。
論文 参考訳(メタデータ) (2022-11-18T18:56:13Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。