論文の概要: Learning to Reason via Program Generation, Emulation, and Search
- arxiv url: http://arxiv.org/abs/2405.16337v3
- Date: Sun, 03 Nov 2024 22:44:20 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-05 14:44:54.793575
- Title: Learning to Reason via Program Generation, Emulation, and Search
- Title(参考訳): プログラム生成・エミュレーション・検索による推論学習
- Authors: Nathaniel Weir, Muhammad Khalifa, Linlu Qiu, Orion Weller, Peter Clark,
- Abstract要約: 言語モデル(LM)によるプログラム合成は、多くの推論能力を解放した。
すべての推論タスクは、コードとして容易に表現できるわけではない。例えば、常識的推論、道徳的意思決定、皮肉な理解を含むタスクである。
我々は,プログラム合成スキルをこのようなタスクに拡張するために,コード生成とエミュレートされた実行(CoGEX)を提案する。
- 参考スコア(独自算出の注目度): 33.11955431589091
- License:
- Abstract: Program synthesis with language models (LMs) has unlocked a large set of reasoning abilities; code-tuned LMs have proven adept at generating programs that solve a wide variety of algorithmic symbolic manipulation tasks (e.g. word concatenation). However, not all reasoning tasks are easily expressible as code, e.g. tasks involving commonsense reasoning, moral decision-making, and sarcasm understanding. Our goal is to extend an LM's program synthesis skills to such tasks and evaluate the results via pseudo-programs, namely Python programs where some leaf function calls are left undefined. To that end, we propose, Code Generation and Emulated EXecution (CoGEX). CoGEX works by (1) training LMs to generate pseudo-programs, (2) teaching them to emulate their generated program's execution, including those leaf functions, allowing the LM's knowledge to fill in the execution gaps; and (3) using them to search over many programs to find an optimal one. To adapt the CoGEX model to a new task, we introduce a method for performing program search to find a single program whose pseudo-execution yields optimal performance when applied to all the instances of a given dataset. We show that our approach yields large improvements compared to standard in-context learning approaches on a battery of tasks, both algorithmic and soft reasoning. This result thus demonstrates that code synthesis can be applied to a much broader class of problems than previously considered. Our released dataset, fine-tuned models, and implementation can be found at \url{https://github.com/nweir127/CoGEX}.
- Abstract(参考訳): 言語モデル(LM)によるプログラム合成は、様々な推論能力の集合を解き放ち、コードチューニングされたLMは、様々なアルゴリズム的記号操作タスク(例えば、単語の連結)を解くプログラムを生成することに長けていることが証明されている。
しかし、すべての推論タスクは、コードとして容易に表現できるわけではない。例えば、常識的推論、道徳的意思決定、皮肉な理解を含むタスク。
我々のゴールは、LMのプログラム合成スキルをそのようなタスクに拡張し、擬似プログラム、すなわちいくつかのリーフ関数呼び出しが未定義のままであるPythonプログラムを通じて結果を評価することである。
そのために、コード生成とエミュレートされた実行(CoGEX)を提案する。
CoGEXは(1)擬似プログラムを生成するためにLMを訓練し、(2)それらの葉機能を含むプログラムの実行をエミュレートするように教え、LMの知識が実行ギャップを埋めることを可能にする。
本稿では,CoGEXモデルを新しいタスクに適応させるため,与えられたデータセットのすべてのインスタンスに適用した場合に,擬似実行が最適な性能を示すプログラムを1つ探すプログラム探索を行う手法を提案する。
提案手法は,タスクのバッテリ上での標準的なコンテキスト内学習手法と比較して,アルゴリズム的推論とソフト推論の両方において大きな改善をもたらすことを示す。
この結果は、コード合成が以前考えられていたよりもはるかに幅広い問題に応用可能であることを証明している。
リリースしたデータセット、微調整されたモデル、実装は、 \url{https://github.com/nweir127/CoGEX}で確認できます。
関連論文リスト
- Code Repair with LLMs gives an Exploration-Exploitation Tradeoff [16.80314690163063]
大きな言語モデル(LLM)でソースコードを反復的に改善し、修復することは、1ショットで構築するには複雑すぎるプログラムを生成する一般的な方法として現れている。
ここでは、リファインメントが探索と露見のトレードオフを露呈していることを示します。ほとんどのテストケースをパスするプログラムをリファイン化したり、考慮の少ないプログラムをリファインダでリファインダすることです。
論文 参考訳(メタデータ) (2024-05-26T04:00:30Z) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - Code Simulation Challenges for Large Language Models [6.970495767499435]
この研究は、LLM(Large Language Models)がいかにコーディングやアルゴリズムのタスクをシミュレートできるかを研究する。
我々は、直線プログラムのベンチマーク、クリティカルパスを含むコード、近似命令および冗長命令を導入する。
本稿では,コンパイラのパターンを行/フォローすることで,LLMにコード実行行をシミュレートするように指示する,OFFプロンプト手法であるChain of Simulation(CoSm)を提案する。
論文 参考訳(メタデータ) (2024-01-17T09:23:59Z) - Understanding Programs by Exploiting (Fuzzing) Test Cases [26.8259045248779]
プログラムのより深い意味理解を実現するために,入力と出力/振る舞いの関係を学習に取り入れることを提案する。
コードの大部分の実行をトリガーするのに十分な入力を得るために,ファズテストを採用し,ファズチューニングを提案する。
提案手法の有効性は,コードクローン検出とコード分類を含む2つのプログラム理解タスクにおいて検証され,最先端技術よりも大きなマージンで優れている。
論文 参考訳(メタデータ) (2023-05-23T01:51:46Z) - GPT is becoming a Turing machine: Here are some ways to program it [16.169056235216576]
GPT-3モデルはループを含むプログラムを実行するために起動可能であることを示す。
1つのタスクの例をカバーすることさえできないプロンプトが、アルゴリズム的な振る舞いをトリガーできることを示します。
論文 参考訳(メタデータ) (2023-03-25T00:43:41Z) - 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) - PAL: Program-aided Language Models [112.94785609781503]
自然言語問題を理解するために,プログラム支援言語モデル(PaL)を提案する。
PaLはソリューションステップをPythonインタプリタのようなプログラムランタイムにオフロードする。
私たちは12のベンチマークで新しい最先端の結果を設定しました。
論文 参考訳(メタデータ) (2022-11-18T18:56:13Z) - Language Models of Code are Few-Shot Commonsense Learners [106.1531522893209]
自然言語入力が与えられた場合、目標はイベントや推論グラフなどのグラフを生成することだ。
既存のアプローチは、出力グラフをノードとエッジのフラットリストとしてシリアライズする。
コード生成タスクとして構造化コモンセンス推論タスクをフレーム化する場合、事前学習されたコードLMは自然言語のLMよりも構造化コモンセンス推論タスクの方が優れていることを示す。
論文 参考訳(メタデータ) (2022-10-13T16:09:36Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Natural Language to Code Translation with Execution [82.52142893010563]
実行結果-プログラム選択のための最小ベイズリスク復号化。
そこで本研究では,自然言語からコードへのタスクにおいて,事前訓練されたコードモデルの性能を向上することを示す。
論文 参考訳(メタデータ) (2022-04-25T06:06:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。