Auto-CoT論文
https://scrapbox.io/files/65891192b2b63600237ce0a7.png
論文情報
タイトル:Automatic Chain of Thought Prompting in Large Language Models
著者:Zhuosheng Zhang, Aston Zhang, Mu Li, Alex Smola
所属:Shanghai Jiao Tong University, AWS
論文の内容
抄録
LLMは、中間の推論ステップを生成することで複雑な推論を行うことができます。これらのステップをプロンプトのデモンストレーションで提供することを、CoT (Chain-of-Thought)プロンプティングと呼びます。CoTプロンプティングには2つの主要なパラダイムがあります。一つは「一歩ずつ考えよう」といった単純なプロンプトを使って、質問に答える前にステップバイステップの思考を促進するものです。もう一つは、質問とそれに至る推論チェーンから成る数回の手動デモンストレーションを一つずつ使用するものです。二番目のパラダイムの優れたパフォーマンスは、タスク固有のデモンストレーションを一つずつ手作りすることに依存しています。 私たちは、LLMを使って「一歩ずつ考えよう」というプロンプトで推論チェーンを生成し、一つずつデモンストレーションを構築することで、このような手作業を排除できることを示しています。つまり、「一歩ずつ」だけでなく、「一つずつ」考えるのです。しかし、これら生成されたチェーンにはしばしば間違いが含まれます。このような間違いの影響を軽減するために、自動的にデモンストレーションを構築する際には多様性が重要であることがわかりました。そこで、私たちは自動CoTプロンプティング方法、Auto-CoTを提案します。これは、多様性を持つ質問をサンプリングし、推論チェーンを生成してデモンストレーションを構築します。GPT-3を使用した10の公開ベンチマーク推論タスクにおいて、Auto-CoTは手動でデザインされたデモンストレーションが必要なCoTパラダイムのパフォーマンスに一貫して匹敵するか、それを超えています。
はじめに
CoTプロンプティングは大きく2つのパラダイムに分類されます。一つは、テスト質問の後に「一歩ずつ考えよう」という単一のプロンプトを追加することで、LLMに推論チェーンを促進させるものです。このプロンプティングパラダイムはタスクに依存しないため、入出力デモンストレーションが不要であり、Zero-Shot CoTと呼ばれます(Figure1の左)。ゼロショットCoTを用いると、LLMはゼロショット推論者としてまずまずの性能を示します。もう一つのパラダイムは、一つずつの手動推論デモンストレーションを使ったFew-Shotプロンプティングです。各デモンストレーションには質問と推論チェーンが含まれます。推論チェーンは、一連の中間推論ステップ(根拠)と予想される答えで構成されます。これらのデモンストレーションがすべて手動で設計されているため、このパラダイムはマニュアルCoTと呼ばれます(図1の右)。 https://scrapbox.io/files/658914392387fd0023132d43.png
実際には、マニュアルCoTはゼロショットCoTよりも強力なパフォーマンスを得ています。しかし、この優れたパフォーマンスは効果的なデモンストレーションの手作業に依存しています。具体的には、手作業によるデザインには、質問とその推論チェーンの両方における非自明な努力が含まれます。さらに、算数や常識推論など、異なるタスクには異なるデモンストレーションの方法が求められるため、タスク固有のデモンストレーションを設計するための人間の努力はさらに大きくなります。
これらの手作業によるデザインを排除するために、私たちは質問と推論チェーンを自動的に構築するAuto-CoTパラダイムを提唱しています。具体的には、Auto-CoTは「一歩ずつ考えよう」というプロンプトを使ってLLMを活用し、一つずつ推論チェーンを生成してデモンストレーションを構築します。つまり、ただ「一歩ずつ」考えるだけでなく、「一つずつ」考えるのです。
しかし、私たちはこの課題が単純な解決策では効果的に対処できないことを発見しました。例えば、データセットのテスト質問に対して、意味的に類似した質問を検索し、Zero-Shot CoTを呼び出して推論チェーンを生成する方法は失敗します。LLMはまずまずのゼロショット推論者であっても、完璧ではありません:ゼロショットCoTは依然として推論チェーンで間違いを犯すことがあります。 ゼロショットCoTの推論チェーンの間違いの影響を軽減するため、私たちの分析はデモンストレーション質問の多様性が鍵であることを示しています。この洞察に基づき、自動的にデモンストレーションを構築するAuto-CoT方法を提案します。Auto-CoTは2つの主要なステップで構成されます。まず、与えられたデータセットの質問をいくつかのクラスターに分割します。次に、各クラスターから代表的な質問を選択し、簡単なヒューリスティックを使ってゼロショットCoTでその推論チェーンを生成します。
Auto-CoTを、以下の10種類のベンチマーク推論タスクで評価しました:
実験結果は、GPT-3を用いたAuto-CoTが一貫して、手作業によるデザインが必要なManual-CoTのパフォーマンスに匹敵するか、それを超えることを示しています。これは、LLMが自動的にデモンストレーションを構築することでCoT推論を行うことができることを示しています。
Auto-CoTの挑戦
上記の議論にあるように、ICL(コンテキスト内学習: In Context Learning)のパフォーマンスは手作りのデモンストレーションに依存しています。Manual-CoTで報告されたように、異なるアノテーターによって書かれたデモンストレーションを使用すると、記号的推論タスクで最大28.2%の正確性の差が生じますが、デモンストレーションの順序を変更すると、ほとんどのタスクで2%未満の変化しかありません。これは、Auto-CoTの主要な課題は、良い質問とそれらの推論チェーンを自動的に構築することにあることを示唆しています。 Manual-CoTでは、デモンストレーションに数(例えば8)の質問を手作りしています。LLMのプロンプティングに類似性ベースの検索方法が広く採用されていることを踏まえると、類似性ベースの検索を使用してデモンストレーション質問をサンプリングする解決策が有望です。CoT研究でより困難な仮定に従い、トレーニングデータセットがない(テスト質問のセットのみが与えられる)状況を想定します。Sentence-BERTを使用して質問をエンコードします。テストデータセット内の各質問\( q_{\text{test}} \)に対して、残りの質問からデモンストレーション質問\( q_{\text{demo}_i} \)(\( i = 1, \ldots, k \))をサンプリングします。
私たちは、コサイン類似性に基づいて上位k(例えばk = 8)の類似質問を取得するRetrieval-Q-CoT方法を設計しました。この類似性に基づく方法と比較するために、より多様性に基づいた方法であるRandom-Q-CoTもテストしました。これは、各テスト質問に対して他のテスト質問をランダムにk個サンプリングする方法です。
Retrieval-Q-CoTとRandom-Q-CoTの両方は、ゼロショットCoTを呼び出して、サンプリングされた各質問\( q_{\text{demo}_i} \)の推論チェーン\( c_{\text{demo}_i} \)(根拠と答え)を生成します。これは、LLMがまずまずのゼロショット推論者であるためです。特に記載がない限り、LLMにはGPT-3の175Bパラメータ(text-davinci-002)を使用します。 高いレベルで、Retrieval-Q-CoTとRandom-Q-CoTの両方は、\( q_{\text{demo}_i} \)と\( c_{\text{demo}_i} \)のペアの連結(\( i = 1, \ldots, k \))と\( q_{\text{test}} \)を入力として取り、\( q_{\text{test}} \)のための推論チェーンを予測します。これには最終的に答えが含まれます(Figure1の右のように)。
驚くべきことに、Retrieval-Q-CoTは、算数データセットMultiArith(Table1)でRandom-Q-CoTよりも性能が低いことが分かりました。類似性ベースの検索方法は元々、注釈付きラベルがあるタスクで提案されたものですが、ゼロショットCoTを呼び出しても完全に正しい推論チェーンが保証されるわけではありません。したがって、Retrieval-Q-CoTの劣るパフォーマンスは、ゼロショットCoTによる不正確な推論チェーンによるものと仮定します。この仮説を検証するために、注釈付き推論チェーンがあるトレーニングセットを持つ他の2つのデータセットGSM8KとAQuAでRetrieval-Q-CoTを実験しました。結果は表1の†で示されています。注釈付き推論チェーンがある設定では、Retrieval-Q-CoTはManual-CoTをさえ上回ります。この結果は、人間の注釈が利用可能な場合には、Retrieval-Q-CoTが効果的であることを示しています。
https://scrapbox.io/files/658919c385bab70024ebe8f6.png
人間の注釈は有用ですが、そのような手作業は簡単ではありません。しかし、ゼロショットCoTによる推論チェーンの自動生成は、特に質問サンプリングの課題が解決されていない場合、Manual-CoTよりも劣っています。より効果的なAuto-CoTを設計するためには、その課題をよりよく理解する必要があります。
Retrieval-Q-CoTは類似性による誤解により失敗する
Retrieval-Q-CoTは、Manual-CoTのようにいくつかのプロンプトデモンストレーションを使用しているため、競争力のあるパフォーマンスが期待されます。しかし、Retrieval-Q-CoTの推論チェーン(根拠と答えの両方)はゼロショットCoTによって生成されます。これらには間違いが含まれており、誤った答えにつながることがあります。誤った答えを含むデモンストレーションを単に「間違ったデモンストレーション」と呼びましょう。直感的に、テスト質問に類似した質問が取得された後、ゼロショットCoTによる間違ったデモンストレーションが、同じLLMに同様の間違った答え(例えば、間違いの複製)でテスト質問を推論するように誤解させる可能性があります。この現象を「類似性による誤解」と呼びます。私たちは、類似性による誤解がRetrieval-Q-CoTの劣ったパフォーマンスに寄与しているかどうかを調査します。
まず、MultiArithデータセットの全600質問に対してゼロショットCoTを実行します。その中で、ゼロショットCoTが誤った答えを生成する128質問(Qとして表される)を収集します(エラー率:21.3% = 128/600)。前述したように、追加のデモンストレーションがある場合、Retrieval-Q-CoTとRandom-Q-CoTはゼロショットCoTよりも競争力を持つと期待されます。ゼロショットCoTが失敗するQの中で、Retrieval-Q-CoTまたはRandom-Q-CoTが依然として失敗するものを、解決されていない質問と呼びます。128(Qの質問数)で未解決の質問数を割って、未解決率を計算します。未解決率が高いほど、ある方法がゼロショットCoTのような間違いを犯す可能性が高いことを意味します。 Figure2は、Retrieval-Q-CoT(46.9%)の未解決率がRandom-Q-CoT(25.8%)よりもはるかに高いことを示しています。これは、テスト質問に類似した質問がサンプリングされると、Retrieval-Q-CoTが類似性による誤解の影響を受ける可能性があることを示しています。
https://scrapbox.io/files/65891f78d8df6f0023e1beaa.png
Retrieval-Q-CoTの未解決の質問が類似していることを示すために、Table2で事例研究を提示します。左側では、取得されたデモンストレーション質問がテスト質問に類似しており、「残りを料理するのにどれくらいかかりますか?」と尋ねています。ゼロショットCoTによって生成された推論チェーンは、「残り」ではなく「合計」に関する答えを生成します。これらのデモンストレーションに従って、Retrieval-Q-CoTも「残り」の意味を誤解して失敗します。一方で、Random-Q-CoTは、より多様性のある(ランダムな)デモンストレーションのおかげで、デモンストレーションで同様の間違いをせずに「残り」を正しく理解します。
https://scrapbox.io/files/65891fb585bab70024ec9693.png
同じクラスター内でのエラーが頻繁に発生
Table2での観察に動機づけられて、私たちはk-meansを使用して600のテスト質問すべてをk = 8のクラスターに分割しました。ここで、各クラスターには類似した質問が含まれます。これらのクラスターと、ゼロショットCoTによって生成された推論チェーンを使用して、特定のクラスターがゼロショットCoTの頻繁な失敗を含む質問を含んでいるかどうかが気になります。したがって、各クラスターのエラー率(ゼロショットCoTの誤答を含む質問数/総質問数)を計算します。Figure.3に示されるように、ゼロショットCoTのエラーが頻繁に発生するクラスター(クラスター2)が存在します(52.3%)。この現象は一般的なものである可能性があり、ゼロショットCoTは対象タスクの一般的な問題のいくつかを解決するためのスキルが不足しているかもしれません。便宜上、最も高いエラー率を持つクラスターを頻繁エラークラスターと呼びましょう(例えば、Figure.3のクラスター2)。したがって、ゼロショット方式で生成された推論チェーンの不完全な性質は、類似性ベースの方法を使用して頻繁エラークラスター内の複数の類似質問を取得する際のリスクをもたらします。頻繁エラークラスター内のテスト質問に対して、Retrieval-Q-CoTは複数の類似した間違いを含むデモンストレーションをより簡単に構築します。その結果、Retrieval-Q-CoTはゼロショットCoTと同様の間違いを頻繁に繰り返し、Figure2で示されるようにより高い未解決率が生じます。
https://scrapbox.io/files/6589234c21fa0000241874c3.png
多様性は類似性による誤解を軽減する可能性がある
これまでの分析から、LLMはまだ完璧なゼロショット推論者ではないことが強く示されています。したがって、特にAuto-CoTの設計において、類似性による誤解の影響を軽減することを目指しています。
後で示すように、間違いの小さな部分(例えば、8つ中1つまたは2つの間違ったデモンストレーション)がテスト質問の全体的な推論パフォーマンスに悪影響を与えないことがわかります。すべての間違ったデモンストレーションの質問が同じ頻繁エラークラスターに属している場合、異なるクラスターから1つずつ質問をサンプリングすることで、8つの正しいデモンストレーションをすべて構築する確率が7/8 = 87.5%を超えることになります。異なるクラスターが質問の多様な意味を反映しているため、このクラスターベースのサンプリング方法は多様性ベースと考えることができ、類似性ベースのRetrieval-Q-CoTとは対照的です。一方で、質問を多様性を持ってサンプリングすることは、類似性による誤解の影響を軽減するかもしれません。他方で、各デモンストレーションを一種のスキルと見なすならば、多様なデモンストレーションは対象質問を解決するためのより多様な代替スキルをカバーするように見えます:デモンストレーションに小さな部分(例えば、1/8)の間違いが存在しても、パフォーマンスに否定的な影響はありません。それにもかかわらず、クラスターベースのサンプリング方法は、頻繁エラークラスター内の質問などから間違ったデモンストレーションの小さな部分を構築する可能性があります。後で示すように、これらの間違ったデモンストレーションの一部はヒューリスティックを使用して排除できるかもしれません。例えば、間違ったデモンストレーションはしばしば長い質問と長い根拠を伴います。簡単で一般的なヒューリスティック、例えば短い質問と短い根拠のみを考慮することで、ゼロショットCoTの不完全な能力の影響をさらに軽減するのに役立ちます(付録C.2)。
Auto-CoT:自動チェーン・オブ・ソートプロンプティング
セクション3での観察と考慮に基づいて、質問と推論チェーンを自動的に構築するAuto-CoT方法を提案します。Auto-CoTは2つの主要な段階で構成されています:
(i) 質問のクラスタリング:与えられたデータセットの質問をいくつかのクラスターに分割する;
(ii) デモンストレーションのサンプリング:各クラスターから代表的な質問を選択し、ゼロショットCoTを使用してその推論チェーンを簡単なヒューリスティックと共に生成する。全体の手順はFigure4に示されています。
https://scrapbox.io/files/658925961dd5a5002419ead3.png
質問のクラスタリング
多様性に基づくクラスタリングが類似性による誤解を軽減する可能性があるため(セクション3.3)、与えられた質問セットQに対してクラスター分析を行います。まず、Sentence-BERTを使用してQ内の各質問のベクトル表現を計算します。文脈化されたベクトルは平均化されて、固定サイズの質問表現を形成します。次に、質問表現はk-meansクラスタリングアルゴリズムによって処理され、質問のk個のクラスターが生成されます。各クラスターi内の質問は、クラスターiの中心までの距離の昇順でリストq_(i) = (q_(i)_1, q_(i)_2, ...)に並べられます。この質問クラスタリングの段階はアルゴリズム1で要約されています。
デモンストレーションのサンプリング
2番目の段階では、サンプリングされた質問のための推論チェーンを生成し、選択基準を満たすデモンストレーションをサンプリングする必要があります。具体的には、各クラスターi(i = 1, ..., k)に対してデモンストレーションd_(i)(質問、根拠、答えの連結)を構築します。クラスターiの場合、ソートされたリストq_(i) = (q_(i)_1, q_(i)_2, ...)(アルゴリズム1で取得)の質問を反復して、選択基準を満たすまで処理します。言い換えれば、クラスターiの中心に近い質問が先に考慮されます。j番目に近い質問q_(i)_jが検討されるとします。プロンプト入力は次のように形成されます:(Q: q_(i)_j. A: (P))、ここでPは単一のプロンプト「一歩ずつ考えよう」です。この形成された入力はゼロショットCoTを使用してLLMに供給され、根拠r_(i)_jと抽出された答えa_(i)_jからなる推論チェーンが出力されます。その後、i番目のクラスターの候補デモンストレーションd_(i)_jは、質問、根拠、答えを連結して構築されます:(Q: q_(i)_j, A: r_(i)_j ◦ a_(i)_j)。
私たちの選択基準は単純なヒューリスティックに従い、より単純な質問と根拠のサンプリングを促進します:60トークン以下の質問q_(i)_jと5つ以下の推論ステップを持つ根拠r_(i)_jがある場合、選択されたデモンストレーションd_(i)をd_(i)_jとします。アルゴリズム2で要約されているように、k個のクラスターすべてのデモンストレーションサンプリングの後、k個の構築されたデモンストレーション(d_(1), ..., d(k))があります。構築されたデモンストレーションは、コンテキスト内学習のためにテスト質問q_testを拡張するために使用されます。具体的には、入力はすべてのデモンストレーション(d_(1), ..., d(k))の連結に続いて(Q: q_test. A: (P))です。この入力はLLMに供給され、q_testのための答えを含む推論チェーンが得られます(Figure.4の右)。
https://scrapbox.io/files/65892b5a449b0e002531c255.png
実験
私たちは実験のセットアップを簡単に説明し、主要な実験結果を提示します。より詳細な実験の詳細と結果は付録に記載されています。
実験セットアップ
タスクとデータセット。
私たちの方法は、3つのカテゴリーの推論タスクからの10個のベンチマークデータセットで評価されます:
実装。
GPT-のtext-davinci-002バージョンで175Bのパラメータを使用しています。このLLMは公開されているLLMの中で最も強力なCoT推論パフォーマンスを持っているため選択しました。また、Codexモデル(code-davinci-002)もLLMとして評価します。デモンストレーションの数kは、AQuAとLetter(4)、CSQA(7)、StrategyQA(6)を除いて8です。
ベースライン。
私たちは4つのベースライン方法と比較します:ゼロショット、ゼロショットCoT、フューショット、およびマニュアルCoT。ゼロショットCoTとマニュアルCoTはFigure1で示されています。ゼロショットのベースラインは、テスト質問をプロンプト「答えは」と連結してLLMの入力とします。フューショットのベースラインは、すべてのデモンストレーションから根拠が削除されている以外は、マニュアルCoTと同じLLM入力を持ちます。
Auto-CoTの10個のデータセットでの競争力のあるパフォーマンス
Table3では、3つのカテゴリーの推論タスクからの10個のデータセットにおける精度を比較しています。ゼロショットとゼロショットCoTの結果はKojima et al.(2022)から、フューショットとマニュアルCoTの結果はWei et al. (2022a)から取られており、Auto-CoTの結果は3回のランダムな実行に平均化されています。全体的に、Auto-CoTは一貫して、デモンストレーションの手動デザインを必要とするCoTパラダイムのパフォーマンスに匹敵するか、それを超えています。手動デザインのコストのために、マニュアルCoTは複数のデータセット(例えば、算数データセットの5/6)に同じデモンストレーションを設計する場合があります。対照的に、Auto-CoTはより柔軟でタスク適応性があります:各データセットに対して、自動的に構築された独自のデモンストレーションが提供されます。
https://scrapbox.io/files/65892d6d5a003c0023af68ea.png
質問クラスタリングの視覚化
Figure5は、PCAプロジェクションを用いた10のデータセットの質問クラスタリングを視覚化しています。この図は、異なるクラスターからの質問によって特徴づけられる可能性のある一般的なパターンが存在することを示しています。Auto-CoTの構築されたデモンストレーションを付録Dで紹介しています。
https://scrapbox.io/files/65892e0f1c147200248111ac.png
Codex LLMを使用した一般的な効果
異なるLLMを使用したAuto-CoTの一般的な有効性を評価するために、ここではLLMをCodexモデルに変更します。Table4に示されているように、Codex LLMは、GPT-3(text-davinci-002)LLMを使用するTable3と比較して、マニュアルCoTのパフォーマンスを向上させます。それにもかかわらず、Codex LLMを使用しても、Auto-CoTの全体的なパフォーマンスはマニュアルCoTと比較して依然として競争力があり、Auto-CoTの効果に対する追加的な経験的証拠を提供しています。
https://scrapbox.io/files/65892d239c8c1c0023881310.png
間違ったデモンストレーションの影響
セクション3.3での議論を思い出すと、間違った答えを持つ間違ったデモンストレーションが存在する可能性があります。多様性がこの効果を軽減するかどうかを見るために、テスト質問を含む同じクラスターから質問をランダムにサンプリングしてデモンストレーションを構築するIn-Cluster Samplingベースラインを設計しました。Figure 6は、MultiArith上で間違ったデモンストレーションの量が異なるときの精度を比較しています。In-Cluster Samplingと比較して、Auto-CoT(多様性ベースのクラスタリングを使用)は間違ったデモンストレーションの影響を受けにくく、50%の間違ったデモンストレーションが提示されてもパフォーマンスが著しく低下することはありません。
https://scrapbox.io/files/65892e97f67b660023cea9af.png
より挑戦的なストリーミング設定
CoT研究では通常、テスト質問を含む完全なデータセットが与えられると仮定されています。与えられたデータセットに基づいて、Auto-CoTはデモンストレーションを構築するための質問をサンプリングします。しかしながら、ここでは、データストリームのように、小さなバッチのテスト質問(例えばm個の質問)が一度に到着するというより挑戦的なストリーミング設定を考慮します。
この課題に対処するため、Auto-CoTをブートストラッピングバージョンのAuto-CoT*に拡張します:(i) 空のセットM0を初期化する;(ii) バッチ1の質問 q_(1)_1, ..., q_(1)_m が到着したとき、各 q_(1)_i に対してゼロショットCoTを呼び出し(小さいmのためクラスタリングなし)、その推論チェーン c_(1)_i を取得する。質問-チェーンペア (q_(1)_1, c_(1)_1), ..., (q_(1)_m, c_(1)_m) をM0に追加し、新しいセットをM1と呼ぶ;(iii) バッチb(b > 1)の質問 q_(b)_1, ..., q_(b)_m が到着したとき、Mb-1内の既存の質問と推論チェーンを使用してデモンストレーションを構築し(Auto-CoTのように)、各 q_(b)_i のコンテキスト内推論にデモンストレーションを使用する。質問-チェーンペア (q_(b)_1, c_(b)_1), ..., (q_(b)_m, c_(b)_m) をMb-1に追加し、新しいセットをMbと呼ぶ。
Figure7は、このストリーミング設定(拡張バージョン:付録の図11)で各バッチ(m = 30)でのMultiArith上の精度を比較しています。予想されるように、バッチ1では、Auto-CoT*とゼロショットCoTは同等の精度を得ます。バッチ2から、Auto-CoT*はマニュアルCoTと同等のパフォーマンスを示します。この結果は、私たちの方法がより挑戦的なストリーミング設定でも効果的であることを示しています。
https://scrapbox.io/files/65892f68f45492002349539f.png
結論
LLMはCoTプロンプティングを用いて推論能力を示しています。マニュアルCoTの優れたパフォーマンスは、デモンストレーションの手作りに依存しています。このような手作業によるデザインを排除するために、私たちはAuto-CoTを提案しました。これは、多様性を持つ質問をサンプリングし、推論チェーンを生成してデモンストレーションを構築します。10個の公開ベンチマーク推論データセットでの実験結果は、GPT-3を使用したAuto-CoTが一貫して、デモンストレーションの手動デザインを必要とするCoTパラダイムのパフォーマンスに匹敵するか、それを超えることを示しています。