GPT-3 信頼性を向上させる技術[翻訳]

本記事は、以下の内容を翻訳しただけの記事です。

信頼性を向上させる技術

GPT-3がタスクで失敗した場合、あなたは何をすべきでしょうか?

  • より信頼性の高い回答を引き出すより良いプロンプトを検索しますか?

  • カスタムモデルを微調整するために何千もの例に投資しますか?

  • モデルがタスクを実行できないと仮定し、先に進みますか?

単純な答えはありません。それは場合によります。ただし、論理的な推論または複雑さを必要とするタスクの場合は、この記事で説明する技術を試して、より信頼性の高い、高性能のプロンプトを構築することを検討してください。

なぜGPT-3は複雑なタスクに失敗するのか

13を17で掛け算するように求められた場合、答えがすぐに頭に浮かぶでしょうか?ほとんどの人にとっては、そうではないかもしれません。しかし、これは人間が2桁の乗算をすることができないということではありません。数秒間、ペンと紙があれば、13 x 17 = 130 + 70 + 21 = 221と計算できます。

同様に、GPT-3に次のトークンを計算する時間がかかりすぎるような複雑なタスクを与えた場合、誤った推測を混同する可能性があります。しかし、人間と同様に、理由を考える時間と空間があれば、モデルはまだ信頼性の高い回答をすることができる場合があります。

例えば、text-davinci-002にジャグリングボールに関する以下の数学問題を尋ねた場合、間違った回答が返されます。

Q: ジャグラーが16個のボールを持っています。ボールの半分はゴルフボールで、ゴルフボールの半分は青いです。青いゴルフボールは何個ありますか?
A:

青いゴルフボールは8個あります。

これは、GPT-3が簡単な数学問題を解決できないことを意味するのでしょうか?実際には、Let's think step by stepというプロンプトを使ってモデルに促すと、モデルは問題を信頼性高く解決することがわかります。

Q: ジャグラーが16個のボールを持っています。ボールの半分はゴルフボールで、ゴルフボールの半分は青いです。青いゴルフボールは何個ありますか?
A: ステップバイステップで考えてみましょう。

ボールは全部で16個あります。
そのうちの半分がゴルフボールです。
つまり、ゴルフボールは8個ある。
ゴルフボールの半分は青色です。
つまり、青いゴルフボールが4個ある。

もちろん、この「ステップバイステップで考えてみましょう」というトリックが一般的にうまくいくのか、またはこの特定の問題で偶然うまくいったのかを単一の例から判断するのは難しいです。しかし、実際にはうまくいくのです。単語の数学問題のベンチマークで、この「ステップバイステップで考えてみましょう」というトリックにより、GPT-3の解決率が18%から79%に大幅に向上しました。

モデルの能力は文脈に依存する

GPT-3を使い始める際によくある誤解の1つは、その能力がすべての文脈で固定されていると考えることです。例えば、GPT-3が単純な論理問題に間違えた場合、それは単純な論理を行うことができないと思われがちです。

しかし、「ステップバイステップで考えてみましょう」という例が示すように、GPT-3の明らかな失敗は、モデルが正しい出力に向かって自己調整するのを助けるより良いプロンプトによって、解決できる場合があります。

複雑なタスクにおける信頼性を向上させる方法

この記事の残りの部分では、大規模言語モデルの信頼性を複雑なタスクにおいて向上させるための技術を共有します。これらの技術の一部は特定の問題に特化しているものもありますが、多くは広範囲のタスクに適用できる一般的な原則に基づいて構築されています。たとえば、次のようなものがあります。

  • より明確な指示を与える

  • 複雑なタスクをより単純なサブタスクに分割する

  • モデルをタスクに向けるために指示を構造化する

  • 回答する前にモデルに説明を促す

  • 多くの可能な回答を正当化し、それから総合するように求める

  • 多数の出力を生成し、モデルを使って最良の出力を選択する

  • 性能を最大化するためにカスタムモデルを微調整する

複雑なタスクを単純なタスクに分割する

モデルにより多くの時間と空間を与える方法の1つは、タスクをより単純な部分に分割することです。

例えば、Clueというゲームに関するテキストについて、モデルに複数選択問題を直接尋ねるタスクを考えてみましょう。この場合、text-davinci-002に直接問い合わせると、クルー3と5の手がかりを結びつけることができず、間違った回答が返されます。

以下の手がかりを使用して、次の複数選択問題に回答してください。

手がかり:

1.ミス・スカーレットはラウンジにいた唯一の人物でした。
2.パイプを持っている人物はキッチンにいました。
3.コロネル・マスタードは天文台にいた唯一の人物でした。
4.プラム教授は図書室にもビリヤードルームにもいませんでした。
5.ろうそく立てを持っている人物は天文台にいました。

問題:コロネル・マスタードはろうそく立てを持って天文台にいましたか?
(a) はい、コロネル・マスタードはろうそく立てを持って天文台にいました。
(b) いいえ、コロネル・マスタードはろうそく立てを持って天文台にいませんでした。
(c) 不明、コロネル・マスタードがろうそく立てを持って天文台にいたかどうかを判断するには情報が不足しています。

解答:

(c) 不明、コロネル・マスタードがろうそく立てを持って天文台にいたかどうかを判断するには情報が不足しています。

手がかり3と5は、コロネル・マスタードが天文台にいた唯一の人物であり、天文台にいた人物がろうそく立てを持っていたことを示していますが、モデルはそれらを組み合わせて回答(a) Yesに正しく変換できません。

ただし、直接回答を求める代わりに、タスクを3つの部分に分割することができます。

  • まず、手がかりを一つずつ見て、その手がかりが潜在的に関連しているかどうかを考えます。

  • 次に、関連する手がかりを組み合わせて、問題の回答を推論します。

  • 最後に、最終的な回答を書きます:(a)、(b)、または(c)のいずれか。

以下の手順を使用して、次の複数選択問題に回答してください。
(1) まず、手がかりを一つずつ見て、その手がかりが潜在的に関連しているかどうかを考えます。
(2) 次に、関連する手がかりを組み合わせて、問題の回答を推論します。
(3) 最後に、回答を(a)、(b)、または(c)のいずれかにマッピングします。

手がかり:

1.ミス・スカーレットはラウンジにいた唯一の人物でした。
2.パイプを持っている人物はキッチンにいました。
3.コロネル・マスタードは天文台にいた唯一の人物でした。
4.プラム教授は図書室にもビリヤードルームにもいませんでした。
5.ろうそく立てを持っている人物は天文台にいました。

問題:コロネル・マスタードはろうそく立てを持って天文台にいましたか?
(a) はい、コロネル・マスタードはろうそく立てを持って天文台にいました。
(b) いいえ、コロネル・マスタードはろうそく立てを持って天文台にいませんでした。
(c) 不明、コロネル・マスタードがろうそく立てを持って天文台にいたかどうかを判断するには情報が不足しています。

解答:
(1) まず、手がかりを一つずつ見て、その手がかりが潜在的に関連しているかどうかを考えます。

手がかり1:ミス・スカーレットはラウンジにいた唯一の人物でした。この手がかりは関係ありません。
手がかり2:パイプを持っている人物はキッチンにいました。この手がかりは関係ありません。
手がかり3:コロネル・マスタードは天文台にいた唯一の人物でした。この手がかりは関連しています。
手がかり4:プラム教授は図書室にもビリヤードルームにもいませんでした。この手がかりは関係ありません。
手がかり5:ろうそく立てを持っている人物は天文台にいました。この手がかりは関連しています。

(2) 次に、関連する手がかりを組み合わせて、問題の回答を推論します。
手がかり3と5は、ろうそく立てを持っている人物が天文台にいたことを示しています。コロネル・マスタードは天文台にいた唯一の人物であり、したがってコロネル・マスタードはろうそく立てを持っていた人物でした。

(3) 最後に、最終的な回答を書きます。
(a) はい、コロネル・マスタードはろうそく立てを持って天文台にいました。

複雑な指示をより小さなサブタスクに分割し、モデルにより多くの時間と空間を与え、推論計画に沿って誘導することにより、正しい答えである(a) はいを見つけることができます。

複雑な指示を小さなサブタスクに分割することのもう1つの利点は、モデルが各サブタスクに集中するのを助けることができることです。

たとえば、text-davinci-002に元の言語でテキストを要約するように依頼すると、モデルは英語に戻ってしまうことがあります。(以下原文ママ)

Summarize the text using the original language of the text. The summary should be one sentence long.

Text:
"""
La estadística (la forma femenina del término alemán Statistik, derivado a su vez del italiano statista, "hombre de Estado")​ es una ciencia que estudia la variabilidad, colección, organización, análisis, interpretación, y presentación de los datos, así como el proceso aleatorio que los genera siguiendo las leyes de la probabilidad.​ La estadística es una ciencia formal deductiva, con un conocimiento propio, dinámico y en continuo desarrollo obtenido a través del método científico formal. En ocasiones, las ciencias fácticas necesitan utilizar técnicas estadísticas durante su proceso de investigación factual, con el fin de obtener nuevos conocimientos basados en la experimentación y en la observación. En estos casos, la aplicación de la estadística permite el análisis de datos provenientes de una muestra representativa, que busca explicar las correlaciones y dependencias de un fenómeno físico o natural, de ocurrencia en forma aleatoria o condicional.
"""

Summary:

The text explains that statistics is a science that studies the variability, collection, organization, analysis, interpretation, and presentation of data, as well as the random process that generates them following the laws of probability.

しかし、まずモデルに文章の言語を識別してもらい、その後に文章を要約してもらうと、より信頼性が高まります。

First, identify the language of the text. Second, summarize the text using the original language of the text. The summary should be one sentence long.

Text:
"""
La estadística (la forma femenina del término alemán Statistik, derivado a su vez del italiano statista, "hombre de Estado")​ es una ciencia que estudia la variabilidad, colección, organización, análisis, interpretación, y presentación de los datos, así como el proceso aleatorio que los genera siguiendo las leyes de la probabilidad.​ La estadística es una ciencia formal deductiva, con un conocimiento propio, dinámico y en continuo desarrollo obtenido a través del método científico formal. En ocasiones, las ciencias fácticas necesitan utilizar técnicas estadísticas durante su proceso de investigación factual, con el fin de obtener nuevos conocimientos basados en la experimentación y en la observación. En estos casos, la aplicación de la estadística permite el análisis de datos provenientes de una muestra representativa, que busca explicar las correlaciones y dependencias de un fenómeno físico o natural, de ocurrencia en forma aleatoria o condicional.
"""

Language:

Spanish

La estadística es una ciencia que estudia la variabilidad, colección, organización, análisis, interpretación, y presentación de los datos, así como el proceso aleatorio que los genera siguiendo las leyes de la probabilidad.

回答する前にモデルに説明を求める方法

回答の信頼性を向上させるための別の強力な技術は、モデルに直ちに最終的な回答にジャンプする代わりに、徐々に回答を推論するようにモデルに促すことです。 '思考を声に出す'ことにより、モデルが正しい答えにたどり着く可能性が高くなります。

Zero-shot

方法

小島武志らによって2022年に発表された、回答を推論するための最も簡単な方法は、回答に対して「ステップバイステップで考えてみましょう」と前置することです。図2はその例を示しています。

結果

この簡単なトリックをMultiArith数学データセットに適用すると、著者らは「ステップバイステップで考えてみましょう」を使うことで正答率が4倍になり、18%から79%に向上することがわかりました!

考察

「ステップバイステップで考えてみましょう」トリックは数学問題においてうまく機能しますが、すべてのタスクに効果的ではありません。著者らは、多段階算術問題、象徴的推論問題、戦略問題、その他の推論問題に対して最も役立つことがわかりました。単純な数学問題や常識的な問題には役に立たず、おそらく他の推論以外の多くのタスクにも役に立たないと思われます。

詳しくは、論文全文をご覧ください。

この技術を自分自身のタスクに適用する場合、指示をカスタマイズして実験することを恐れないでください。 Let's think step by stepはかなり一般的なので、あなたのユースケースに合わせてより厳密な形式の指示でより良いパフォーマンスを得ることができるかもしれません。たとえば、「最初に、Xが真実である理由についてステップバイステップで考えます。2番目に、なぜYが真実であるかについてステップバイステップで考えます。3番目に、XまたはYがより意味があるかステップバイステップで考えます。」のようなより構造化されたバリアントを試すことができます。そして、モデルが追跡できるように例の形式を与えることもできます。

「以下のIRSのガイドラインに従って、次の質問にこのフォーマットを使って答えなさい。
(1)それぞれの基準について、車の購入がその基準を満たしているかどうかを判断しなさい。

{基準} まずはステップバイステップで考えましょう。{説明} {yes または no、または、当てはまらない場合は N/A}。
(2)それぞれの基準を考慮した後、最終的な答えを「{理由} のため、答えはおそらく {yes または no} である」と表現しなさい。」

IRSのガイドライン:
「以下の条件を満たす車両を購入した場合、セクション30Dの下で連邦税額控除の対象となる可能性があります。

車両には4つ以上の車輪がありますか?
車両の重量は14,000ポンド以下ですか?
車両は、外部の電源から充電できる少なくとも4キロワット時のバッテリーからエネルギーを引き出しますか?
車両は2022年以前に購入されましたか?
もしそうなら、メーカーは200,000台以下の対象車両を販売しましたか?(TeslaとGMは200,000台以上の対象車両を販売しています。)
車両は2022年以降に購入されましたか?
もしそうなら、以下の北米組み立て車両リストに車両は含まれていますか?(北米で組み立てられた唯一の電気自動車は、Audi Q5、BMW 330e、BMW X5、Chevrolet Bolt EUV、Chevrolet Bolt EV、Chrysler Pacifica PHEV、Ford Escape PHEV、Ford F Series、Ford Mustang MACH E、Ford Transit Van、GMC Hummer Pickup、GMC Hummer SUV、Jeep Grand Cherokee PHEV、Jeep Wrangler PHEV、Lincoln Aviator PHEV、Lincoln Corsair Plug-in、Lucid Air、Nissan Leaf、Rivian EDV、Rivian R1S、Rivian R1T、Tesla Model 3、Tesla Model S、Tesla Model X、Tesla Model Y、Volvo S60、BMW 330e、Bolt EV、Cadillac Lyriq、Mercedes EQS SUV、およびNissan Leafです。)」

質問:2021年に購入した私のトヨタ・プリウスプライムで、連邦税額控除を申請できますか


解答方法:

(1) 各基準について、それが車両購入によって満たされているかどうかを判断する。
- そのクルマは、少なくとも4つの車輪を持っていますか?一歩一歩考えていきましょう。

トヨタ・プリウス・プライムは4つの車輪を持っているため、答えは「はい」となります。

- 車両の重量は14,000ポンド未満ですか?段階的に考えましょう。トヨタ・プリウス・プライムは14,000ポンド未満の重量ですので、答えは「はい」となります。
- 車両は外部の電源から充電可能な少なくとも4キロワット時のバッテリーからエネルギーを取得していますか?段階的に考えましょう。トヨタ・プリウス・プライムは外部の電源から充電可能な4キロワット時以上のバッテリーからエネルギーを取得しているため、答えは「はい」となります。
- 車両は2022年以前に購入されましたか?段階的に考えましょう。トヨタ・プリウス・プライムは2021年に購入されたため、2022年より前であるため、答えは「はい」となります。
- 車両は2022年以降に購入されましたか?N/A
- もしそうであれば、車両は北米で組み立てられた電気自動車のリストに含まれていますか?N/A

(2) 各基準を1つずつ考慮した後、「{reasons}のため、答えはおそらく{yesまたはno}である」という形で最終的な回答を述べます。

トヨタ・プリウス・プライムは連邦税額控除のすべての基準を満たしているため、答えはおそらく「はい」となります。


Few-shot examples

方法

モデルに答えを推論させるためのプロンプトは、さまざまな方法で行うことができます。その一つは、GoogleのJason WeiとDenny Zhouらが研究したように、いくつかの例を示すことです。ここに、few-shotチェーンオブソートの例を示します。

もっと多くの人間のラベラーによる推論チェーンのデモンストレーションがあります。

結果

小学校の数学問題において、著者らはチェーンオブソートプロンプトを使用することで解決率が3倍になり、18%から57%に向上したことを発見しました。


数学問題に加えて、思考連鎖の促進は、スポーツ理解に関連する問題、コイン投げの追跡、および最後の文字連結に関連する問題でもパフォーマンスを向上させました。ほとんどの場合、パフォーマンスの向上には多くの例が必要ではありませんでした(8個未満)。

詳しくは、論文全文をご覧ください。

考察

「少数の例に基づくアプローチ」の「一歩一歩考える技法」に対する利点の1つは、最終的な答えに着地する前に、モデルに実行して欲しい推論の形式、長さ、スタイルをより簡単に指定できることです。これは、モデルが最初に正しい方法や深さで推論していない場合に特に役立ちます。


Fine-tuned

方法

一般的に、タスクで最大のパフォーマンスを引き出すには、カスタムモデルを微調整する必要があります。ただし、説明を使用してモデルを微調整する場合は、書くのに多額の費用がかかる数千の例説明が必要になる場合があります。

2022年、Eric Zelikman氏、Yuhuai Wu氏らが、数少ないプロンプトを使用して説明のデータセットを生成し、モデルを微調整するための巧妙な手順を発表しました。アイデアは、数少ないプロンプトを使用して候補の説明を生成し、正しい答えを出力する説明のみを残すことです。次に、いくつかの誤った回答のために追加の説明を取得するには、正しい回答が質問の一部として与えられた数少ないプロンプトを再試行します。著者らは、この手順をSTaR(自己学習推論者)と呼びました。

この技術を使用することで、数千の例説明を書く必要がなく、微調整の利点と思考連鎖の促進の利点を組み合わせることができます。

結果

著者らがこの技術をCommon Sense Q&Aデータセットに適用したところ、STaRは思考連鎖の促進単独(73%> 37%)および微調整単独(73%> 60%)を上回ることがわかりました。

詳しくは、論文全文をご覧ください。

考察

数少ないプロンプトを使用して微調整データセットを拡張または修正するアイデアは、説明文書を書く以外にも一般化できるアイデアです。たとえば、トレーニングしたい大量の非構造化テキストがある場合、プロンプトを使用して非構造化テキストから構造化データセットを抽出し、その構造化データセットでカスタムモデルを微調整する機会を見つけることができます。

チェーンオブソートプロンプトへの拡張

思考連鎖プロンプトの拡張版も多数発表されています。

選択推論プロンプティング
(Selection-inference prompting)

手法

Antonia Creswell氏らが発表した「選択推論プロンプティング」は、説明と回答を生成するための単一のプロンプトを小さなパーツに分割する拡張版の思考連鎖技法です。まず、プロンプトはテキストから関連する事実のサブセットを選択します(「選択プロンプト」)。次に、選択された事実から結論を推論するための第二のプロンプトが行われます(「推論プロンプト」)。これらのプロンプトはループ内で交互に使用され、複数の推論ステップが生成され、最終的な答えに着地します。以下の図で、著者らがこのアイデアを説明しています。

結果

7Bパラメーターモデルに適用したところ、著者らは、長い推論ステップのシーケンスを必要とするbAbiおよびProof Writerベンチマークタスクにおいて、選択推論プロンプティングが思考連鎖プロンプティングに比べて大幅にパフォーマンスを改善することがわかりました。最高のパフォーマンスは、選択推論プロンプティングと微調整を組み合わせたものでした。

考察

これらのベンチマークでの改善は大きかったが、これらのベンチマークは推論のステップが長いことが求められたタスクであったため、ステップの多い推論が必要な問題以外では改善が小さい可能性がある。

これらの結果は、大規模言語モデルを扱うための一般的な教訓を示しています。1つ目は、複雑なタスクをより小さなタスクに分割することで信頼性とパフォーマンスを向上させることができることです。タスクがより原子的であれば、モデルが誤る余地は少なくなります。2つ目は、最大のパフォーマンスを得るためには、選択した手法に微調整を組み合わせる必要があるということです。

これらの手法についてもっと知りたい場合は、論文を読んでください。

忠実な推論アーキテクチャ
(Faithful reasoning architecture)

選択推論プロンプティング技法を発表して数か月後、著者らはフォローアップ論文で、次のアイデアを提供し、選択推論プロンプティング技法を拡張しました。

  • 選択推論サイクルが停止または継続する必要がある場合を判断する方法

  • 複数の推論パスを検索するための価値関数を追加する方法

  • 偽の事実の幻想を減らすために、文のラベル(例:sen1)についての推論を行うようにモデルを微調整する方法

方法

オリジナルの選択推論技法では、特殊な「選択」プロンプトと「推論」プロンプトを交互に使用して、事実を選択し、その事実から推論を行い、推論ステップのシーケンスを生成します。

著者らは、この技法に2つの追加コンポーネントを追加しました。

まず、各推論ステップの後に「halter(停止)」モデルを追加して、それまでの推論が質問に回答するために十分かどうかを尋ねます。その場合、モデルは最終的な回答を生成します。

停止モデルには以下の利点があります。

  • 必要に応じて、選択推論プロセスを停止または継続することができる。

  • プロセスが停止しない場合、幻想的な推測よりも回答がない方が好ましい場合がある。


次に、著者らは、推論ステップの品質を評価し、複数の推論軌跡を検索するために使用される値関数を追加します。これは信頼性を高めるための共通のテーマを反映しています。モデルから単一の回答を生成するのではなく、回答のセットを生成し、最良の回答を選択するためにある種の値関数/ディスクリミネータ/検証モデルを使用するという考え方です。

これらの2つの拡張に加えて、著者らは偽の事実の幻覚を減らすためのトリックも使用しています。事実的な文章を書くようモデルに求める代わりに、モデルを文のラベル(例:sen1)で動作するよう微調整します。これにより、プロンプトの文脈には言及されていない偽の事実を幻想することを防ぐことができます。

結果

著者らは、2つのベンチマークで技法を評価しました:ProofWriterタスク(表示されていません)とEntailmentBankQA(表示されています)。この技法により、特に困難な推論問題において、正解率が大幅に向上しました。

出典:Antonia Creswell氏らによる「Faithful Reasoning Using Large Language Models」(2022年)(https://arxiv.org/abs/2208.14271)

さらに、彼らの文のラベル操作トリックにより、幻覚が実質的に消滅しました!

出典:Antonia Creswell氏らによる「Faithful Reasoning Using Large Language Models」(2022年)(https://arxiv.org/abs/2208.14271)

この論文では、大規模言語モデルの信頼性を向上させるためのいくつかの有益なレッスンが示されています。

  • 複雑なタスクをより小さく、信頼性の高いサブタスクに分割する

  • ステップバイステップで回答を生成し、その過程で評価する

  • 多数の可能な回答を生成し、もう一つのモデルや関数を使用して最も良いものを選択する

  • モデルが言えることを制限することにより、幻想を減らす(例えば、文章ではなく文のラベルを使用する)

  • 専門的なタスクでモデルを微調整することにより、モデルのパフォーマンスを最大化する

詳しくは、論文を読んでください。

最小から最大までのプロンプティング(Least-to-most prompting)

選択推論が輝く長い推論チェーンではうまくいかないだけでなく、チェーンオブソウトプロンプティングは例が短いがタスクが長い場合にも苦労することがあります。

方法

最小から最大までのプロンプティングは、推論タスクをより小さく、信頼性の高いサブタスクに分割する別の技術です。アイデアは、モデルからサブタスクを引き出すことです。例えば、「{質問}を解決するためには、まず次の問題を解決する必要があります。」そのサブタスクを手に入れた後、モデルは解決策を生成できます。その解決策は元の質問に追加され、プロセスは最終的な回答が生成されるまで繰り返されます。

結果

コードに最適化されているがテキスト理解も可能なcode-davinci-002を使用した、長い推論チェーンを含むベンチマークに適用した場合、著者らは16%から99.7%という大きな向上を測定しました!

考察

示された最小から最大までのプロンプティングの利点は、非常に長い推論チェーンを必要とする非常に狭いタスクに対して測定されたものであるため、印象的ですが、限られた範囲のタスクに対して測定されました。

それでも、共通するテーマを示しており、複雑なタスクをより小さなサブタスクに分割し、モデルに回答を出すための時間とスペースを与えることによって信頼性を高めることができます。

詳しくは、論文を読んでください。

関連するアイデア

Maieutic prompting

手法

従来の手法が正解の可能性を最大化することを目指しているのに対し、別のアプローチとして、GPT-3を使用して可能な説明(正しいものと誤ったものを含む)のツリーを生成し、それらの関係を分析して正しいセットを推測する方法があります。この技術は、Jaehun Jungらによって2022年5月にmaieutic promptingという用語で提唱されました(maieuticは、アイデアを引き出すための問いかけのソクラテス的方法に関するものを意味します)。

手法は複雑で、以下のように機能します:

  • 最初に、真偽が可能性がある文がノードとなるmaieutic treeを構築します:

    • 複数選択問題または真偽ステートメント(たとえば、戦争には引き分けがない)で始めます。

    • 質問に対する各回答について、モデルを使用して対応する説明を生成します(War cannot have a tie?True、becauseのようなプロンプトを使用します)。

    • 次に、モデルに質問と生成された説明をプロンプトし、回答を生成するように求めます。説明を反転させた場合(It is wrong to say that {explanation}のようなプレフィックスを使用する)、回答が反転する場合は、説明は「論理的に統合的」と見なされます。

    • 説明が論理的に統合的でない場合は、再帰的に上記のプロセスを繰り返し、各説明をTrueまたはFalseの質問に変え、各新しい質問に対してさらに説明を生成します。

    • 再帰的な説明のすべてが完了すると、各葉が説明を反転させるとモデルの回答が反転するという特性を持つ説明のツリーが得られます。

  • 次に、ツリーを関係のグラフに変換します。

    • ツリー内の各ノードについて、モデルが各ノードに相対的に信じていることを計算します(Trueとして回答を得る確率から推定)。

    • ツリー内の各ペアのノードについて、モデルを使用して、それらが含意されるか否定されるかを識別します。

  • 最後に、最も一貫性のある信念のセットを見つけて、それを真とします。

    • 具体的には、各ノードの信念の強さとそれらの論理関係を使用して、問題を加重最大充足問題(MAX-SAT)として定式化します。

    • ソルバーを使用して、最も自己整合性のある信念のセットを見つけ、それらを真とします。

結果

考察

この手法の複雑さを超える限り、この手法の限界は、複数選択肢として提示できる問題にのみ適用できるように見えることです。

詳細については、論文全体を読んでください。

拡張機能(Extensions)

自己整合性(Self-consistency)

方法

答えが離散的なタスクの場合、信頼性を向上させるための一つの簡単な方法は、モデルから複数の説明と回答をサンプリングして(正の温度を使用して)、最も頻繁に表示される最終回答を選ぶことです。

結果

この技術によって、数学や推論のベンチマークで正解率が1〜24ポイント向上しました。(以下に示すのは、GoogleのLaMDAモデルの結果です。Googleのより大きなPaLMモデルを使用した場合、ベースラインは高くなりますが、得られる利益はやや小さくなります。)

考察

この手法は実装が簡単である一方、コストがかかる場合があります。10の答えを生成すると、コストが10倍になります。

また、この手法は、回答のセットが限られたタスクにのみ適用されるため、すべての回答がユニークなオープンエンドのタスク(例えば詩を書くなど)に適用することは明らかではありません。

さらに、この手法は、答えを導くための複数の方法や言い回しがある場合に最も効果的であるはずです。もし唯一の方法がある場合、この手法は全く役に立たないかもしれません。極端な例として、単一のトークン回答を生成するタスクがあった場合、100回の生成から最も一般的なトークンを取ることと、温度=0で単一の生成を行って最高のログプロブを取ることには違いがありません。

検証者 (Verifiers)

タスクの性能を向上させるためのもう1つの重要な手法は、主要な生成モデルの出力を評価するための検証者または識別モデルをトレーニングすることです。検証者が出力を拒否する場合、許容できる出力が得られるまで生成モデルを再サンプリングできます。回答を判断することは回答を生成することよりも簡単な場合が多いため、この手法の威力が説明されます。

方法

2021年、OpenAIの研究者は、以下の手順を使用して小学校の数学問題にこの手法を適用しました。

  • まず、問題と解答についてモデルを微調整しました。

  • トレーニングセットの各問題に対して、100の解答を生成しました。

  • それら100の解答の各々を、最終的な答えが正しいかどうかに基づいて自動的に正しいか誤ってラベル付けしました。

  • これらの解答を使用して、いくつかが正しく、いくつかが誤ってラベル付けされた状態で、質問と候補の解答が正しいかどうかを分類する検証モデルを微調整しました。

  • 最後にテスト時に、生成モデルが各問題に対して100個の解答を作成し、検証モデルによるスコアが最も高いものが最終的な解答として選ばれる

結果

175BのGPT-3モデルと8,000のトレーニング例を用いた場合、この技術により、小学校の数学の正答率が33%から55%に大幅に向上しました。

考察

自己整合性の技法と同様に、この手法はコストがかかる可能性があります。たとえば、タスクごとに100個の解を生成すると、コストが約100倍になります。

理論的な側面(Theories of reliability)

上記の技術はアプローチには差があるが、全て複雑なタスクで信頼性を向上させることを目的としている。主に以下のように行う:

・信頼性の低い操作をより信頼性の高い操作に分解する(例:selection-inference prompting) ・システムの信頼性を個々のコンポーネントより高くするために、複数のステップまたは複数の関係を使用する(例:maieutic prompting)

確率的グラフィカルモデル(Probabilistic graphical models)

信頼性の低いコンポーネントから信頼性の高いシステムを構築するこの手法は、確率的プログラミングを思い起こさせ、そのフィールドの多くの解析技術がこのフィールドにも適用される。

David Dohanらの論文Language Model Cascadesでは、上記の技術を確率的グラフィカルモデルのパラダイムで解釈している。

Chain of thought prompting

Fine-tuned chain of thought prompting / Self-taught reasoner

Selection-inference prompting

Verifiers

考察

これらの技術を確率グラフィカルモデルとして定式化することが、特定の問題を解決するために直接役立つわけではないかもしれませんが、このフレームワークは、技術を選択、組み合わせ、および新しい技術を発見するために役立つかもしれません。

最後に

大規模言語モデルの研究は非常に活発で、急速に発展しています。研究者はモデルの改良を続けているだけでなく、モデルの最適な使用方法についての理解も深めているのです。このような開発のペースを強調するために、上記で紹介した論文はすべて過去12ヶ月以内(2022年9月執筆時点)に発表されたものであることに留意してください。

今後、より優れたモデルや技術が発表されることが期待されます。たとえここで紹介した特定の技術が将来のベストプラクティスに取って代わられたとしても、その背景にある一般的な原理は、エキスパートユーザーのツールキットの重要な一部であり続けるだろう。

書誌情報

Break complex tasks into simpler subtasks (and consider exposing the intermediate outputs to users) AI Chains: Transparent and Controllable Human-AI Interaction by Chaining Large Language Model Prompts 2021 Oct

You can improve output by generating many candidates, and then picking the one that looks best Training Verifiers to Solve Math Word Problems 2021 Oct

On reasoning tasks, models do better when they reason step-by-step before answering Chain of Thought Prompting Elicits Reasoning in Large Language Models 2022 Jan

You can improve step-by-step reasoning by generating many explanation-answer outputs, and picking the most popular answer Self-Consistency Improves Chain of Thought Reasoning in Language Models 2022 Mar

If you want to fine-tune a step-by-step reasoner, you can do it with multiple-choice question & answer data alone STaR: Bootstrapping Reasoning With Reasoning 2022 Mar

The step-by-step reasoning method works great even with zero examples Large Language Models are Zero-Shot Reasoners 2022 May

You can do better than step-by-step reasoning by alternating a ‘selection’ prompt and an ‘inference’ prompt Selection-Inference: Exploiting Large Language Models for Interpretable Logical Reasoning 2022 May

On long reasoning problems, you can improve step-by-step reasoning by splitting the problem into pieces to solve incrementally Least-to-most Prompting Enables Complex Reasoning in Large Language Models 2022 May

You can have the model analyze both good and bogus explanations to figure out which set of explanations are most consistent Maieutic Prompting: Logically Consistent Reasoning with Recursive Explanations 2022 May

You can think about these techniques in terms of probabilistic programming, where systems comprise unreliable components Language Model Cascades 2022 Jul

You can eliminate hallucination with sentence label manipulation, and you can reduce wrong answers with a 'halter' prompt Faithful Reasoning Using Large Language Models 2022 Aug

この記事が気に入ったらサポートをしてみませんか?