大規模言語モデルを用いた累積推論とは?

大規模言語モデルを用いた累積推論とは?

はじめに

大規模言語モデル(LLM)を用いた累積推論(Cumulative Reasoning)とは何か?なぜLLMに累積推論が必要なのか?LLMによる累積推論は実際どのようなものか?LLMは累積推論をうまくこなせるのか?このブログでは、Yifan Zhang、Jingqin Yang、Yang Yuan、Andrew Chi-Chih Yaoによる論文 “Cumulative Reasoning with Large Language Models” を参考に、これらの疑問をわかりやすく解説していきます。

累積推論とは?

累積推論フレームワークの核となる考え方は、複雑な推論問題を小さなステップに分解し、各中間ステップを蓄積・検証しながら最終解を反復的に構築していくというものです。

人間の認知プロセスから着想を得て、累積推論は「提案者(proposer)」が推論ステップを提案し、「検証者(verifier)」が提案を文脈に照らして検証し、「報告者(reporter)」が蓄積されたポイントを最終解にまとめるという、専門化された役割を導入します。

累積推論により、検証済みの中間命題を動的に保存・構成し、有向非巡回グラフ(DAG)を形成することが可能になります。

具体的には、累積推論フレームワークにおいて:

  1. 提案者は現在の文脈に基づいて潜在的な推論ステップを提案します。これらはDAGの新しいノードとして表現されます。
  2. 検証者は提案者の提案が正しいかどうかを評価し、有効なステップを進化する解の文脈に組み込みます。これはDAGに新しい有向エッジを追加することに相当します。
  3. 報告者は、蓄積された文脈が現在の状態に基づいて最終解に到達したかどうかを判断します。到達した場合、結果を出力します。

したがって、推論プロセス全体は動的に構築されるDAGとして表現できます。ノードは中間推論ステップ、有向エッジは新しい推論ステップがどのように以前のものから導出されるかを捉えます。DAGは推論プロセスが分岐・再収束することを可能にし、以前の推論結果を再訪・再利用できるようにします。これにより、人間が複雑な問題を解決する際の柔軟な多経路思考プロセスをよりよく反映します。

なぜLLMに累積推論が必要なのか?

大規模言語モデル(LLM)は様々なアプリケーションで近年進歩を見せていますが、複雑で多段階の推論問題を解決する能力は依然として限られています。Chain-of-Thought(CoT)やTree-of-Thought(ToT)プロンプティングのような既存の手法は、LLMをより構造化されたステップバイステップの推論プロセスに導こうと試みていますが、推論中に生成された中間結果を保存・活用する動的なメカニズムが欠けています。以前の命題を効果的に構築・構成できないため、多段階にわたる繊細な推論を必要とする複雑で多面的な問題では性能が制限されます。

人間の認知プロセスから着想を得て、累積推論は「提案者」が推論ステップを提案し、「検証者」が提案を文脈に照らして検証し、「報告者」が蓄積されたポイントを最終解にまとめるという専門化された役割を導入します。この提案・検証・報告の反復サイクルへの分解により、LLMは複雑なタスクを管理可能なコンポーネントに分解できます。

重要なのは、累積推論により検証済みの中間命題を動的に保存・構成し、線形な連鎖や木構造だけでなく、有向非巡回グラフ(DAG)を形成できることです。この構造的な柔軟性により、以前の検証結果からより広範な文脈を活用でき、人間が複雑な多段階問題に取り組む際の微妙で非線形な推論を反映します。そのため、累積推論は大規模言語モデルのより堅牢で多用途な推論能力を引き出します。

LLMによる累積推論の実際とは?

言語モデルの役割の構築

累積推論フレームワークに従い、著者らは3つの言語モデル役割を構築しました:

  • 提案者:現在の文脈に基づいて潜在的な推論ステップを提案する
  • 検証者:提案者の提案の正しさを評価し、有効なステップを文脈に組み込む
  • 報告者:蓄積された文脈が決定的な解に導くかどうかを判断する

これら3つの役割は同じ大規模言語モデルを使用でき、特定のプロンプトで異なる役割を割り当てます。

ベースラインの設定

累積推論の効果を評価するため、著者らは以下のベースラインを設定しました:

  • 直接入出力プロンプティング(Direct)
  • Chain-of-Thought プロンプティング(CoT)
  • 自己検証付きChain-of-Thought プロンプティング(CoT-SC)
  • Tree-of-Thought プロンプティング(ToT)

実験手順の実施

著者らはGPT-3.5、GPT-4、LLaMAモデルなど、さまざまな大規模言語モデルをテストしました。実験手順は以下の通りです:

  • データセット内の問題ごとに、問題を提案者に入力する
  • 提案者が一連の推論提案を中間ステップとして生成する
  • 中間ステップを検証者に渡し、各ステップを評価する
  • 有効なステップは文脈に組み込まれ、無効なものは破棄される
  • 報告者が最終解を出力できると判断するまで上記プロセスを繰り返す
  • 一部の実験では、多数決やその他の戦略を使用して堅牢性を向上させる

評価データセットの選定

著者らは、複雑な推論タスクの種類が異なる複数のデータセットを評価に選びました。例えば:

  • 論理推論タスク:FOLIO wikiデータセット、AutoTNLIデータセット
  • 算数パズル「Game of 24」
  • 数学問題解決:MATHデータセット

LLMは累積推論をうまくこなせるのか?

簡単に答えると「はい」です!実験結果は、CRフレームワークが評価されたすべてのタスクでベースライン手法を大幅に上回ることを示しています。

全体性能

FOLIO wikiデータセットでは、正解率が85.02%から98.04%に向上しました。AutoTNLIデータセットでは、Chain-of-Thoughtと比較して最大9.3%の相対改善を示しました。Game of 24では98%の正解率を達成し、従来の最良手法から24%向上しました。MATHデータセットでは、CRは絶対値で4.2%の改善、最も難しいレベル5の問題では相対的に43%の向上を示しました。特に、CRをコード環境と統合することで、MATHデータセットで72.2%の正解率を達成し、従来の最良手法を相対的に38.8%上回りました。

Chain of Thought(CoT)およびTree of Thought(ToT)に対する優位性

累積推論(CR)は、様々なタスクにわたる一連の実験結果を通じて、Chain of Thought(CoT)およびTree of Thought(ToT)に対する優位性を示しました。FOLIO wikiやAutoTNLIなどのデータセットを用いた論理推論タスクでは、CRはキュレートされたFOLIOデータセットで98.04%の正解率を達成し、CoT-SCの96.09%から顕著な飛躍を遂げました。この進歩は、CRが中間結果を動的に保存・活用し、検証済み命題のより広い文脈を可能にする有向非巡回グラフ(DAG)を形成できることに起因します。

算数パズル「Game of 24」では、CRは98%の正解率を達成し、ToTを24%上回り、さらに訪問状態数はわずか4分の1でした。これはその効率性と問題解決能力を示しています。

さらに、MATHデータセットでは、CRは従来手法を4.2%上回る新たなベンチマークを設定しただけでなく、最も難しい問題で43%の相対改善を示しました。CRをPythonコード環境と統合することで、驚異的な72.2%の正解率を達成し、PoTやPALなどの手法を38.8%上回りました。これらの結果は、CoTやToTと比較したCRの適応性、堅牢性、および強化された推論能力を総合的に示しています。

LLMによる累積推論の今後の方向性とは?

シンボリックシステムとの統合

論文では、CRをPythonコード環境と組み合わせてLLMの計算・論理推論能力を活用する可能性について議論されています。今後の研究では、シンボリックシステム、ナレッジグラフ、形式証明器とのより深い統合を探求し、推論の正確性と複雑性をさらに向上させることが考えられます。

汎化能力の強化

CRは特定の領域で成功を示していますが、より広範なタスクや領域への汎化能力を拡張することが重要です。これには、さまざまな分野の異なる種類の推論や問題解決に対応するためにCRを適応させることが含まれます。

堅牢性とエラー耐性の向上

論文ではCRのエラー耐性の性質が強調されています。今後の研究では、特に曖昧なデータやノイズの多いデータを扱う際にCRをさらに堅牢にし、誤った中間ステップから回復する能力を向上させることに焦点を当てることができます。

ベンチマークと標準化

累積推論タスクに特化した標準ベンチマークと評価指標を開発することで、進捗を体系的に評価し、さまざまなアプローチを比較するのに役立ちます。

LLMを用いた累積推論を実装するには?

著者らが提供するコードのほとんどは、GPT 3.5および4モデルのためにOpenAI APIへの接続を必要とします。これが最初のステップとなるでしょう。

次に、数学問題を解きたい場合、Game 24をプレイしたい場合、または累積推論実験を再現したい場合は、このGithubページで提供されている特定のPythonファイルを実行するだけです:https://github.com/iiis-ai/cumulative-reasoning

さらに、論文で著者らが行ったようにLLaMAモデルや他のLLMで累積推論をテストしたい場合は、Novita AI LLM APIを使用して複数のLLMにアクセスできます。

結論

このブログ記事では、LLMの複雑な問題解決能力を大幅に向上させる新しいアプローチである、LLMを用いた累積推論について包括的に概説しました。複雑な問題を小さなステップに分解し、提案、検証、報告のプロセスを通じて反復的に解を構築することで、累積推論は人間の認知戦略を反映しています。

さまざまなデータセットからの結果は印象的で、特に累積推論をコード環境と統合した場合に精度が大幅に向上しました。さらに、その結果はChain-of-ThoughtやTree-of-Thoughtといった既存手法に対する累積推論の優位性を示しました。

全体として、LLMによる累積推論の今後の方向性は、LLMをAI推論の新たな高みへと押し上げ、より洗練された人間らしい問題解決能力をもたらす可能性を秘めています。

参考文献

Zhang, Y., Yang, J., Yuan, Y., & Yao, A. C.-C. (2024). Cumulative Reasoning with Large Language Models. IIIS, Tsinghua University. https://arxiv.org/pdf/2308.04371

Novita AI は、無限のクリエイティビティのためのワンストッププラットフォームで、100以上のAPIにアクセスできます。画像生成、言語処理、音声強調、動画編集まで、従量課金で安価にご利用いただけます。GPUメンテナンスの手間から解放され、自社製品の構築に集中できます。無料でお試しください。