Skip to main content
QUICK REVIEW

[論文レビュー] Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks

Wenhu Chen, Xueguang Ma|arXiv (Cornell University)|Nov 22, 2022
Topic Modeling被引用数 110
ひとこと要約

PoT は LLM に Python のようなプログラムを生成させ、それを外部で実行して計算を行わせ、計算と推論を切り離す。これにより数値推論ベンチマークにおける Chain-of-Thought より大きな改善をもたらす。

ABSTRACT

Recently, there has been significant progress in teaching language models to perform step-by-step reasoning to solve complex numerical reasoning tasks. Chain-of-thoughts prompting (CoT) is by far the state-of-art method for these tasks. CoT uses language models to perform both reasoning and computation in the multi-step `thought' process. To disentangle computation from reasoning, we propose `Program of Thoughts' (PoT), which uses language models (mainly Codex) to express the reasoning process as a program. The computation is relegated to an external computer, which executes the generated programs to derive the answer. We evaluate PoT on five math word problem datasets (GSM, AQuA, SVAMP, TabMWP, MultiArith) and three financial-QA datasets (FinQA, ConvFinQA, TATQA) for both few-shot and zero-shot setups. Under both few-shot and zero-shot settings, PoT can show an average performance gain over CoT by around 12\% across all the evaluated datasets. By combining PoT with self-consistency decoding, we can achieve SoTA performance on all math problem datasets and near-SoTA performance on financial datasets. All of our data and code are released in Github https://github.com/wenhuchen/Program-of-Thoughts

研究の動機と目的

  • 数値推論タスクにおいて計算と推論を切り離す必要性を動機づける。
  • 外部の解釈系に計算を委任しつつ、コード内で推論を行うPoT(Program of Thoughts)を提案する。
  • PoT を数学の文章題と金融QAデータセットの広範なセットで評価し、Chain-of-Thought prompting に対する利得を検討する。
  • ゼロショットおよび Few-shot PoT、並びに self-consistency decoding を調査し、構成要素を理解するためのアブレーション研究を実施する。

提案手法

  • 思考過程を自然言語の推論ではなくPythonコードとして表現するPoTを導入する。
  • 生成されたプログラムを外部のPythonインタープリタ(SymPy)で実行して解答を得る。
  • LLMs(主に Codex)を few-shot の例題またはゼロショットモードでプロンプトして、プログラムを生成させる。
  • ロバスト性を高めるために PoT+SC(self-consistency decoding を組み合わせる)を任意で採用する。
  • ゼロショット PoT では、コードコメント中の推論を抑制するためにハッシュ付きコメントを抑制する。
  • 異種の入力(テキスト、表、会話)をLLM用のプロンプトへ線形化する。
  • Math Word Problems および金融QAを横断する9つのデータセットで評価する(GSM8K, AQuA, SVAMP, TabMWP, MultiArith, FinQA, ConvFinQA, TATQA)。

実験結果

リサーチクエスチョン

  • RQ1PoT は多様なデータセットにおいて CoT prompting より数値推論の正確性を改善するか。
  • RQ2Few-shot と zero-shot PoT の効果はどうか、そして self-consistency decoding は PoT とどう相互作用するか?
  • RQ3バックエンドモデルとプロンプト設計が PoT の性能と安定性にどう影響するか?
  • RQ4意味結合(semantic binding)と多段推論が、直接方程式生成と比較して PoT に与える影響は?
  • RQ5PoT を多段階推論タスクで CoT と効果的に統合できるか?

主な発見

  • PoT は評価済みデータセット全体で、ゼロショットおよび few-shot 設定において CoT より平均約12%の利益をもたらす。
  • PoT+SC(self-consistency を用いた PoT)は数学データセットで最先端に近い結果を達成し、金融データセットでは最高結果に近づく(GPT-4を除く)。
  • ゼロショット PoT は数学データセットで平均してゼロショット CoT を12%上回る;TabMWP では few-shot CoT を凌ぐことがある。
  • PoT はいくつかのベンチマーク(例:SVAMP、ASDIV)で PaL を顕著な差で上回る。
  • 意味結合と多段推論は PoT の優位性にとって重要である。結合を削除したり、直接方程式生成を試みると、特に複雑な問題で性能が低下する。
  • 誤り分析によれば、値の根拠付けエラーが失敗のかなりの割合を占め、論理生成エラーも存在する。PoT は一般に、正確なインタプリタへ委任することで計算の誤差を減らす。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。