1.言語モデルに思考の連鎖を促し推論能力を向上(1/2)まとめ
・大規模言語モデルは数学の文章問題など段階的に思考していく事が必要なタスクで苦戦する
・思考連鎖プロンプトはモデルに問題を中間ステップに分割して段階的に考える事を促す新手法
・思考連鎖プロンプトで1千億パラメータ程度のモデルが複雑な推論問題を解法可能になる
2.思考の連鎖プロンプトとは?
以下、ai.googleblog.comより「Language Models Perform Reasoning via Chain of Thought」の意訳です。元記事は2022年5月11日、Jason WeiさんとDenny Zhouさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Andisheh A on Unsplash
近年、言語モデルの規模を拡大することが、さまざまな自然言語処理(NLP:Natural Language Processing)タスクのパフォーマンスを向上させる確実な方法であることが示されています。
現在、1千億以上のパラメータを持つ言語モデルは、学習用サンプルがほとんどない場合でも、感情分析や機械翻訳などのタスクで高い性能を達成しています。
しかし、どんなに大規模な言語モデルでも、数学の文章問題や常識的に考えていけば解ける推論問題など、特定の複数ステップ推論タスク(multi-step reasoning tasks)では苦戦を強いられることがあります。このような推論タスクを言語モデルが実行できるようにするには、どうすればよいでしょうか?
論文「Chain of Thought Prompting Elicits Reasoning in Large Language Models」では、言語モデルの推論能力を向上させるためのプロンプト手法を検討しています。
思考連鎖プロンプト(CoT:Chain of Thought prompting)と呼ばれるこの方法は、モデルが複数ステップ問題を中間ステップに分解することを可能にします。思考連鎖プロンプトを用いることで、十分な規模(~1千億パラメータ)の言語モデルが、標準的なプロンプト手法では解けない複雑な推論問題を解くことができるようになります。
標準的なプロンプトとの比較
標準プロンプト(GPT-3を契機に普及)では、モデルにまず例となる入出力ペア(質問と回答の形式)を与え、次にテスト入力として与えた例に対する回答を予測させます(下図左側)。
思考の連鎖プロンプトでは(下図右)、複数ステップ問題に対する最終的な答えを与える前に、中間的な推論ステップを生成するようにモデルを促します。
このアイデアは、モデルが生成した思考の連鎖が、複数ステップの推論問題を処理する際の直感的な思考プロセスを模倣することです。
従来、思考プロセスの生成は微調整によって達成されてきましたが、私達は、プロンプティングのみによって思考の連鎖のいくつかの例を含めることによって、そのような思考プロセスが引き出されることを示します。これは、大規模な学習データセットや言語モデルの重みの修正を必要としません。
標準的なプロンプトがモデルに複数ステップの推論問題に対する答えを直接求めるのに対し、思考連鎖プロンプトは問題を中間推論ステップに分解するように誘導します。この例では、正しい答えを最終的に導きだせています。
思考の連鎖によって、モデルは複雑な問題を一つずつ解決する中間ステップに分解することができます。さらに、思考連鎖の言語ベースの性質は、人が言語を介して解くことができるあらゆるタスクに適用可能です。私達は実証実験により、思考連鎖プロンプトが様々な推論タスクのパフォーマンスを向上させること、また、思考連鎖推論の成功はモデル規模の創発特性であること、つまり、十分な数のモデルパラメータ(約1000億)で初めて思考連鎖プロンプトのメリットが実現されることを明らかにしました。
3.言語モデルに思考の連鎖を促し推論能力を向上(1/2)関連リンク
1)ai.googleblog.com
Language Models Perform Reasoning via Chain of Thought
2)arxiv.org
Chain of Thought Prompting Elicits Reasoning in Large Language Models