【最先端プロンプトエンジニアリング】LLM推論精度を爆上げするStrategic Chain-of-Thought とは?【CoTを超えろ】
はじめに
近年、大規模言語モデル(LLM)は飛躍的な進化を遂げており、複雑なタスクに対する推論能力の向上が求められています。しかし、従来のChain-of-Thought(CoT)手法には、推論の一貫性や精度に課題が残っていました。そこで登場したのが、Strategic Chain-of-Thought (SCoT) という新たな手法です。SCoTは、CoTを拡張し、問題解決前に最適な戦略を生成することで、LLMの推論能力を飛躍的に向上させます。(※私の主観&タイトル含め若干誇張している部分はあるかもしれません)
この記事では、2024年9月5日に発表された以下の論文「Strategic Chain-of-Thought: Guiding Accurate Reasoning in LLMs through Strategy Elicitation」を基に、SCoTの仕組みや効果、そしてプロンプトエンジニアリングとしての可能性について紹介しつつ、手元でも実験してみたいと思います。
CoTとは?:Chain-of-Thoughtの基本
おさらいですが、Chain-of-Thought (CoT) は、複雑な問題を解決する際に、LLMが問題を複数のステップに分解して逐次的に推論を行う手法です。数学的な問題や論理的な推論が必要な場合に特に有効であり、途中の推論ステップを明示することで、LLMの理解を促進します。最も簡単な例ですと、「ステップバイステップで考えて」などはとても有名ですよね。
CoTの課題
しかし、CoTには弱点もあります。LLMが中間推論の段階で誤った判断を下すと、その後のステップも誤りを引き継いでしまうことがあり、結果として不正確な答えが導かれることがあります。また、推論ステップが増えるほど、誤差が蓄積されやすく、CoTの一貫性が問題となることがあります。
SCoT:戦略的思考でLLMの推論を強化
そこで、これらの課題を解決するために提案されたのがStrategic Chain-of-Thought (SCoT) です。SCoTは、推論を始める前に、まずLLMが戦略的知識を生成し、それに基づいて推論を進めるという2段階のアプローチを採用しています。この手法により、LLMはより効果的で安定した推論を行えるようになります。
SCoTの2段階アプローチ
- 戦略的知識の獲得(Elicitation of Strategic Knowledge): LLMは、問題を解決するための最適な戦略を特定します。例えば、数学の問題では、公式を見つけてそれを使う戦略が立てられます。
- 戦略的知識に基づく推論(Application of Strategic Knowledge): 戦略的知識に基づいて、段階的に推論を行い、最終的な答えを導き出します。
SCoTプロンプトの具体例
論文中の以下の図を参考に、SCoTを使用した数学推論タスクのプロンプト例を示します。
# 役割
あなたは、高度な数学者およびアルゴリズムの専門家です。
# ワークフロー
1. 問題を分析し、関連する数学的公式やアプローチを特定し、問題を解決できるアプローチを選択します。問題を解く際には、最初に問題の本質を理解し、それに関連する数学的な公式や手法を探し出すことが重要です。適切な公式やアプローチを選ぶことで、問題解決への道筋が明確になります。
2. 最も効率的で実用的なアプローチを選択する。例として、-25から23までのすべての整数の合計を求める場合、1つずつ足すのではなく、等差数列の和の公式を使用することを考えてください。等差数列の和の公式はエレガントかつ実践的な解決策であり、1つずつ足すのは非効率的な方法です。ここでは、数学の問題解決において効率を重視するべきことが強調されています。複雑な計算を手動で行うのではなく、適切な公式やツールを使うことで時間と労力を節約することができます。
3. 選択したアプローチに従って、問題を注意深く段階的に解きます。解決方法を選んだ後は、その手順に従ってステップバイステップで慎重に問題を解きます。焦らず、ミスを避けるように進めることが大切です。
# ルール
1. 力任せの方法は避け、プロフェッショナリズムを反映させる。
2. 回答は[Answer]オプション[Answer]の形式で示す。例:[Answer]C[Answer]
# Initialization
<#役割>として、ルールに厳密に従ってください。あなたの課題は<#ワークフロー>に従って数学の問題を解くことです。問題と5つの選択肢を提供します。提供された5つの選択肢から正しい選択肢を選んでください。
問題:[この中に問題を入れてください]
選択肢:[この中に選択肢を入れてください]
回答:ステップバイステップで考えていきましょう。
このプロンプトでは、LLMに対して戦略的な思考を促し、具体的な問題解決のアプローチを選択させています。
SCoTの効果:大幅な精度向上
SCoTを用いた実験では、従来のCoTと比較して大幅な精度向上が確認されました。例えば、GSM8Kの数学的推論タスクにおいて、Llama3-8b モデルにSCoTを適用すると、正答率が21.05%向上しました。また、Tracking Objectsデータセットでも24.13%の精度向上が報告されています。
データセット | 正答率(CoT) | 正答率(SCoT) | 向上率 |
---|---|---|---|
GSM8K(数学) | 52.11% | 73.16% | +21.05% |
Tracking_Objects(空間推論) | 44.27% | 68.40% | +24.13% |
SCoTを使った実験
ここで実際に、各種生成AIにSCoTプロンプトを使って問題を解かせて手元でも実験してみました。
お題としては、論文中の問題からほんの少しだけ変えてみました。
お題:『-26から24までの整数を全て足し合わせた結果は?』
ちなみに、この答えは『-51』です。(-24から24まで相殺することが直観的にわかれば瞬殺ですよね。はたしてLLMはどう解くのか?は気になるところです・・・。)
Azure OpenAI(GPT-3.5 turbo 0613)の場合
では、早速 Let's try!
筆者環境の都合上、Azure OpenAIのプレイグラウンドにて、GPT-3.5 turbo 0613で実験してみました。
SCoTなしの回答
思いっきり間違っています。
SCoTプロンプトを使用した場合の回答
おお、間違うかなと思ったらちゃんと正解しています。
Claude 3 Haikuの場合
それでは、次にClaude 3 Haikuで試してみましょう。
SCoTなしの回答
残念ながら間違っていますね。
SCoTプロンプトを使用した場合の回答
正解です!
以上の結果から、SCoTを使用することで、より論理的で一貫性のある推論が可能になることが確認され、SCoTなしの回答に比べて、SCoTを使用した場合はより高度な推論を行うことができる傾向が見られました。
議論:SCoTの可能性と課題
SCoTは非常に有効な手法ですが、いくつかの課題や議論も存在します。
1. モデルサイズの影響
SCoTの効果は、モデルサイズが大きくなると若干減少する傾向があります。例えば、以下の通り、Llama2シリーズで7B、13B、70Bモデルを比較した際、サイズが大きくなるほど改善幅が小さくなることが確認されました。上記の実験でも同様の傾向が見られました。これは、より大規模なモデルでは、既存の知識が豊富であるため、戦略の効果が相対的に小さくなるためと考えられます。
2. プロンプト設計の重要性
SCoTのパフォーマンスは、プロンプトの設計に大きく依存します。役割設定やワークフロー、ルールの設定などが精緻に設計されているほど、性能が向上します。例えば、マークダウン形式の使用やワークフローの詳細な記述が性能向上に寄与することが確認されています。
3. 計算効率の問題
SCoTは、CoTと比較して平均1.5倍程度の出力長を生成しますが、これは許容範囲内とされています。SCoTが追加の戦略生成ステップを挟むため、計算リソースを多少多く消費しますが、得られる精度向上を考えれば、このコストは許容される範囲です。
4. 自動化の可能性
SCoTの概念に基づいて自動生成されたプロンプトでも、手動で作成されたプロンプトには及ばないものの、AQuAデータセットで31.89%の正確性を達成するなど、一定の性能向上が確認されています。今後、プロンプトの自動生成技術が進化すれば、SCoTのさらなる応用が期待されます。
まとめ
SCoTは、LLMの推論能力を飛躍的に向上させる新しいアプローチです。CoT手法を拡張し、戦略的知識を生成してから推論を行うことで、安定した一貫性のある推論が可能となります。特に、少量のデータでも高精度な推論が期待できるFew-shot学習において、その効果が顕著です。
また、本手法は、Phi-3などといった小規模言語モデル=SLMでの適用に効果が大きい可能性が示唆されます。
今後の研究では、SCoTのさらなる改良や、より複雑な問題への適用、他の技術との組み合わせによる応用が期待されており、LLMおよびSLMの未来を大きく切り開く技術の一つとなるでしょう。
元論文はこちら: Strategic Chain-of-Thought: Guiding Accurate Reasoning in LLMs through Strategy Elicitation
【免責事項】
本記事の情報は執筆時点(2024年9月9日)のものです。本記事は、公開されている情報に基づいて作成されていますが、誤りが含まれている可能性もあります。内容の正確性については、読者ご自身の責任で判断をお願いいたします。AI技術は急速に進化しており、製品の仕様、価格、可用性などが予告なく変更される可能性があります。また、本記事の内容は一般的な情報提供を目的としており、専門的なアドバイスとしては意図していません。適切な専門家にご相談ください。
Discussion