LLMの思考の性能をモンテカルロ木探索で引き上げる
導入
こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しております。
今回は、推論ステップをモンテカルロ木探索を用いて導き出し、複雑なタスク(例えば、数学の問題を解くなど)での性能を大幅に引き上げる手法、「HiAR-ICL」について解説します。
サマリー
LLMに複雑なタスクを任せるための手法は、これまで様々なものが提案されてきました。有名なところで「ステップバイステップで考えて」とLLMに伝える手法や、Chain of Thoughtなどが挙げられます。
今回紹介するHiAR-ICLもそんな手法の一つですが、推論ステップの抽象化、推論ステップの探索と個別のタスクへの適応によって同じLLMモデルを使用した他の手法と比べて、高い精度を実現しました。
複雑な推論を得意とするモデルとしてすでにo1モデルが存在していますが、以下の観点で独自性があります。
- 小規模なLLMモデルであっても高い性能を引き出せるようになる
- プロンプトベースなので、外部のデータを使用するなどの拡張性に優れている
以上のような特徴を有しています。
問題意識
複雑なタスクへの事前の指示の限界
複雑なタスクをLLMに解いてもらう際には、どれだけ具体的にその問題の解き方をLLMに伝えられるかが重要になってきます。しかし、タスクに対して汎用的な対応を行おうとすると、その対応の幅に含まれないタスクが解けなくなってしまう問題を抱えてしまいます。
たとえ事前にタスクの解き方を例示しておいたとしても、与えたタスクがその解き方では解けない問題の場合、LLMが正解を導き出すことが困難になってしまいます。
入力プロンプト例
問題
Aさんは2週間ごとに3枚の手紙を二人の友人にそれぞれ送っています。
Aさんは1年(52週間)の間に何枚の手紙を書きますか?
問題を解くにあたって以下の例を参考にしてください。
例1
問題
Aさんは外周が1000メートルの湖の周りを移動しています。
Aさんは走りと歩きをちょうど4回繰り返して湖の周りを三周しました。
走る時間と歩く時間が同じで、走りは歩きの四倍の速度とするとAさんは何メートル走ったと言えそうですか?
解答
Aさんが湖の周りを3周し、合計3000メートルを移動したことから考えていきます。
走る時間と歩く時間が同じなため、移動距離は4:1となります。
よってAさんが走った距離は3000×4÷5=2400
Aさんは2400メートル走ったといえます。
手法
複雑なタスクを解くにあたりHiAR-ICLでは、問題をより抽象的な問題として捉えて、その抽象的な問題を解くための手法を実際の問題と照らし合わせて評価し、その手順に則って回答を導き出します。
ステップがやや複雑なので順をおって説明していきます。
1. 抽象アクションの定義
タスクを解くにあたって、解答を導き出すまでのステップを抽象アクションとして定義します。この定義はこの手法の中で一貫しており、HiAR-ICL内ではすべてのステップをこの抽象アクションに落とし込みます。
HiAR-ICLで定義される抽象アクションは以下のようになります。
- システム分析: 問題の構造から、条件を特定する
- 単一思考: 現在の状態から問題解決のために、一度思考を行う
- 連鎖思考: 同じ方法で思考を繰り返し行う
- 分割統治: 現在の問題を複数に分割しそれらを個別に解決する
- 自己改善: 推論の過程を振り返り、過程を改善する
これらの抽象アクションを繰り返していくことで、問題を解いていきます。
2. モンテカルロ木探索を用いて、思考カードの作成
タスクを解くにあたり、先ほど定義した抽象アクションをどのように辿っていくことで、タスクを解くことができるかを考えます。論文内では、タスクの解決に必要な手順を思考カードと呼んでおり、複数の思考カードを作成することがこの手順における目的となります。
なお詳細は省きますが、大まかな手順として、まず、LLMを使用することで抽象アクションの分岐を作っていきます。次に、それぞれの手順ごとに出力された結果を評価します。そして評価を元に複数の思考カードを選択します。
3. 推論方法の決定
2の手法で得られた思考カードを問題文と比較して、より推論方法として適したものを選択します。
具体的には以下の指標で、推論に適した思考カードを選択します。
- サブ問題数: タスクを構成するサブタスクをLLMが算出し、思考カードのステップと比較
- 条件の複雑性: タスクに与えられている条件の複雑さと、思考カードのステップを比較
- 意味的類似性: タスクと思考カードの意味的な類似性を比較
以上の観点で比較を行い、一つないしは複数の思考カードが選択されます。
4. 推論と検証
思考カードの手順に従い実際にタスクを解決していきます。出力された結果を以下の手法、もしくはモデルを使用して比較し、最終的な結論を決定します。
- 出力報酬モデル: 生成された解答の正確性を問題文と比較して評価
- プロセス報酬モデル: ステップごとの出力を評価
- 一貫性確認: 他の思考カードの結果と比較して一致度を評価
以上の観点で比較を行い、解答に適していると判断された結果を出力します。
成果
はじめに、タスクを解くうえで既存のLLMをそのまま使用したケースと、HiAR-ICLの手法を使用したケースとで比較を行っています。比較的軽いモデルでgpt-4oと同等ないしはそれ以上の性能を引き出しています。
各言語モデルごとに、CoT関連の手法とHiAR-ICLの手法の結果の比較を行っています。すべてのタスクにおいてCoT以上の性能があることが示されています。
こちらはCoTとHiAR-ICLとの数学タスクにおける性能比較を行ったものとなっています。すべてのレベルにおいてHiAR-ICLのほうが性能が高いことが示されています。
他の手法と同一のタスクに対する性能の比較を行ったものです。ここでの結果は基本的に各論文で示されている記録であり、それらと比べて高い性能が示されています。
まとめ
タスクに対して抽象的なアクションに則る形で解き方を定義し、それに従ってタスクを解いて行くことで性能を向上させる手法「HiAR-ICL」について紹介しました。この手法の肝は、タスクの分解を抽象的なレベルに落とし込む点にありこれによって、モデルの性能を引き出しやすくなっていると考えています。
注意点としては、使用しているモデルが小さいものに限定されているため、gpt-4oを利用した場合にどの程度性能を引き出せるかは不明な点です。また、最近では複雑なタスクに強いOpenAIのo1モデルが有名で、このモデルはMATHベンチマークで94.8%の精度を実現しています。ベースが小さいモデルとはいえ性能では及んでいないようです。
とはいえ、軽いモデルであっても高い推論性能を引き出せるのは大きな優位性です。加えて、HiAR-ICLに用いられる抽象化と評価のプロセスはRAGの機能に埋め込む形で応用しやすい側面もあるので、RAGで複雑なタスクを解くうえでは非常に役立つ手法になるのではと考えています。
Discussion