論文
- タイトル:STaR: Self-Taught Reasoner Bootstrapping Reasoning With Reasoning
- 原文:arXiv:2203.14465
- 著者:Eric Zelikman, Yuhuai Wu, Jesse Mu, Noah D. Goodman
この論文を読んだきっかけ
業務の実プロジェクトで、LLMを利用する機会があり、今後の技術の進化の方向性を把握するための調査。OpenAIは、Reasoning(論理的思考)に注力し、モデルの性能向上を目指しているとされている。
免責事項
この投稿は、個人的なメモです。内容理解や翻訳には、生成AIを利用しています。より詳細な内容や正確な内容を知りたい方は、論文の原文を参照してください。
Abstract
この論文は、STaR (Self-Taught Reasoner) という、大規模言語モデル (LLM) が自身で生成した推論過程 (rationale) から学習し、推論能力を向上させる手法を提案しています。
1. Introduction
人間の意思決定は、多くの場合、思考の連鎖によって行われます。最近の研究では、LLMにおいても、明示的な中間推論 (rationale) を用いることで、その性能が向上することが示されています。
しかし、従来のrationale生成手法には、以下の2つの課題がありました。
- 大規模なrationaleデータセットの構築: 手動で作成するのはコストがかかり、自動生成は汎用性に欠ける。
- Few-shot推論による精度の低下: 少数のrationale例を用いたFew-shot学習は、大規模データセットを用いた学習に比べて精度が低い。
そこで、本論文では、LLMが持つ推論能力を活用し、高品質なrationaleを反復的に生成する手法を提案しています。
2. Background and Related Work
STaRの背景となる研究分野と関連する先行研究について解説します。
In-context Learning
近年、大規模言語モデル (LLM) がIn-context Learning を行う能力に関する研究が盛んに行われています。In-context Learningとは、Few-shot学習を言語モデリング問題として扱う手法です。
具体的には、コンテキスト (プロンプト) に少数の例を示すことで、モデルが新しい例に適用すべきパターンを学習し、識別できるようにします。
In-context Learningに関する研究は、大きく分けて以下の2つのアプローチがあります。
- ベイズ推論: 言語モデリングの目的をベイズ推論の観点から分析する研究 [13]。
- メカニズム: "induction heads" などの概念を用いて、In-context Learningのプロセスをより詳細に説明しようとする研究 [14]。
また、プロンプトの設定方法がFew-shot性能に大きな影響を与えることも知られています。例えば、Few-shotプロンプトを埋め込み空間で最適化できる "soft prompt" に置き換えることで、顕著な性能向上が得られるという報告もあります [15]。
本論文では、質問の表現方法ではなく、モデルの出力、特に結論に至るまでの推論過程に着目しています。
Rationales
LLMの性能に及ぼすRationales (推論過程) の影響に関する初期の研究として、[3] が挙げられます。この研究では、解答の前に明示的な推論過程を含むデータセットでLLMを学習させることで、最終的な解答を生成する能力が向上することを示しました。
しかし、この手法では、数千もの学習例を手動でアノテーションする必要があり、実用上の課題となっていました。
近年では、ステップバイステップの "scratchpads" を用いることで、Fine-tuningされたLLMの性能と汎化能力が向上することが示されています [5]。また、[6] は、Fine-tuningを行わずに、単一のFew-shot "chain-of-thought" 推論プロンプトを用いることで、モデルの性能を向上させることに成功しました。
さらに、[16] は、カリキュラム学習のアプローチによって、形式的な数学問題を解くことができることを示しました。ただし、この手法は、問題を定理証明言語Lean [17] に変換し、証明の妥当性を直接評価できること、問題ごとに多数の潜在的な解をサンプリングできること、別の価値関数モデルを学習済みであること、そして、大規模な数学データセットでFine-tuningされたGPT-f [18] を使用することなど、多くの前提条件を必要とします。
これらの条件がすべて満たされない状況は多く存在します。
また、Rationalesがなぜこのような効果をもたらすのかを説明しようとする研究もあります。例えば、潜在変数モデルの観点からRationalesの影響を分析した研究 [19] や、中間タスクの教師あり学習の利点に関する形式的な証明を提供した研究 [20] などがあります。
Iterated Learning
Iterated Learning とは、発見された解や成功した手法を、さらなる解の発見に利用するアルゴリズムです。様々なIterated Learningアルゴリズムが提案されています [21, 22, 16]。
[21] は、本論文のアプローチの着想源となったExpert Iteration (ExIt) という強化学習手法を提案しました。ExItは、"apprentice" による自己対戦、"expert" からのフィードバックを用いた模倣学習、そして、改善されたapprenticeによるexpertの置き換えというループから構成されます。
[16] は、ExItを形式的推論に応用し、[22] は、モジュール化されたネットワークを用いて、Iterated Learningを視覚質問応答に適用しました。
STaRとExpert Iteration [21] には、類似点があります。例えば、生成された例を最終的な解答が目標と一致するかどうかでフィルタリングすることは、expertからのフィードバックと見なすことができます。
しかし、STaRでは、"expert" は固定されており、別の価値関数を学習しません。
Natural Language Explanations
Natural Language Explanations (自然言語による説明) は、説明可能な機械学習の観点からも議論されており、推論よりも正当化に焦点が当てられています [23, 24]。
この研究分野の動機は、主に説明可能な意思決定にあります。[3] と同様に、事後的な説明を要求することがモデルの性能向上に繋がることは、一般的には見出されていません。
まとめると、この章では、STaRの背景となる研究分野と関連する先行研究について概観しました。STaRは、これらの先行研究の知見を踏まえ、LLMが自身で生成した推論過程から学習することで、推論能力を向上させることを目指した新しい手法です。
3. Method
3.1 Rationale Generation Bootstrapping (STaR Without Rationalization)
- 少数のrationale例を含むプロンプトセットPと、問題と解答のデータセットDを用意する。
- Pを各問題xiに連結し、モデルにrationale riと解答ŷiを生成させる。
- 正解した問題 (ŷi = yi) のrationaleのみをフィルタリングする。
- フィルタリングされたデータセットでベースモデルMをFine-tuningする。
- Fine-tuningされたモデルで新たなrationaleを生成し、手順2に戻る。
- 性能が飽和するまで繰り返す。
3.2 Rationalization
Rationale生成によるBootstrappingには、モデルが正解できない問題からは学習できないという限界があります。これを克服するために、Rationalization を提案しています。
- モデルが正解できなかった問題xiに対して、正解yiをヒントとして与える。
- ヒントに基づいて、モデルにrationaleを生成させる。
- 生成されたrationaleをデータセットに追加し、Fine-tuningする。
Rationalizationにより、モデルは正解できなかった問題からも学習できるようになり、より困難な問題にも対応できるようになります。
4. Experiments
算術、常識推論、小学校レベルの数学問題を用いて、STaRの有効性を検証しています。
4.1 Experimental Protocol
- ベースモデル: GPT-J (6Bパラメータ)
- データセット: 算術問題、CommonsenseQA (CQA)、GSM8K
- Fine-tuning: GPT-Jのリポジトリのスクリプトを使用
4.2 Datasets
- 算術: n桁の整数の和を計算するタスク。
- CommonsenseQA: ConceptNetに基づく多肢選択式の常識推論タスク。
- Grade School Math (GSM8K): 小学校レベルの文章題データセット。
4.3 Symbolic Reasoning: Results on Arithmetic
STaRは、算術問題において高い精度を達成しました。Rationalizationを用いることで、特に学習初期における精度向上が顕著でした。
4.4 Natural Language Reasoning: Commonsense Question Answering
CQAにおいても、STaRはFew-shotベースラインとFine-tuningベースラインの両方を上回る性能を示しました。Rationalizationを用いることで、さらに精度が向上しました。
4.5 Mathematical Reasoning in Language: Grade School Math
GSM8Kにおいても、STaRはFew-shotベースラインとFine-tuningベースラインの両方を上回る性能を示しました。
5. Discussion and Challenges
Rationalizationの影響
Rationalizationは、STaRにおいて重要な役割を果たします。具体的には、以下の2つの効果があります。
- 逆推論による学習: Rationalizationによって、LLMは正解を前提として推論過程を生成することを学習します。これは、現実世界の問題において、結果が分かっているが、その理由を説明するのが難しい場合に役立ちます。
-
探索空間の改善: 通常の推論過程生成では、LLMは
p(r|x)
(問題xが与えられたときの推論過程rの確率分布) から推論過程をサンプリングします。一方、Rationalizationでは、正解yが与えられた条件付き確率分布p(r|x, y)
からサンプリングします。これによって、より適切な推論過程を探索できるようになります。
Rationalizationは、強化学習におけるオフポリシー評価と関連付けることもできます。Rationalizationでは、ヒント付きのモデルからサンプリングされた推論過程を用いて、ヒントなしのモデルの評価を行います。
温度パラメータ
温度パラメータは、LLMの出力のランダム性を制御するパラメータです。高い温度パラメータを用いると、推論過程の多様性を高めることができますが、不適切な推論過程が生成される可能性も高くなります。
特に、算術問題のような構造化されたタスクでは、高い温度パラメータを用いると、モデルが学習する推論過程が意味のないものになり、性能が低下する可能性があります。これは、高い温度では、正解にたどり着く推論過程だけでなく、不正解にたどり着く推論過程も生成されるためです。
実験では、Rationalizationの代わりに高い温度パラメータ (0.5や0.7など) を用いると、常に推論のみを用いる場合よりも性能が低下することが確認されました。
few-shotプロンプト
few-shotプロンプトは、サンプリング時に推論過程の例をLLMに与えることで、推論過程の生成を促進する手法です。
few-shotプロンプトをサンプリング時に含めるかどうかは、トレードオフがあります。
few-shotプロンプトを含めるメリット:
- 推論過程のスタイルが初期の例に近くなり、説明可能性が向上する可能性があります。
- 推論過程の「ドリフト」を抑制することができます。ドリフトとは、学習が進むにつれて、生成される推論過程が初期の例から徐々に離れていく現象です。
few-shotプロンプトを含めないメリット:
- 学習が速くなる可能性があります。
- モデルが初期の例の質や難易度にとらわれすぎるのを防ぐことができます。
実験では、few-shotプロンプトを含めない場合、学習が進むにつれてRationalizationの性能が低下する傾向が見られました。これは、モデルが初期の例から学習した推論過程のスタイルを忘れてしまうためと考えられます。
まとめ
Rationalization、温度パラメータ、few-shotプロンプトは、STaRの性能に大きな影響を与える重要な要素です。これらの要素を適切に調整することで、STaRの性能を最大限に引き出すことができます。
補足
- オフポリシー評価: ある方策で収集したデータを用いて、別の方策の評価を行うこと。
- 探索空間: 問題の解を探索する範囲。
- ドリフト: 学習が進むにつれて、モデルの挙動が初期状態から徐々に変化していく現象。
6. Conclusion
STaRは、LLMが自身で生成した推論過程から学習し、推論能力を向上させる手法です。STaRは、記号推論と自然言語推論の両方において、従来の手法を上回る性能を示しました。
Appendix
付録には、失敗例、エラー分析、Few-shotプロンプトなどが記載されています。
まとめ
全体として、この論文は、LLMが自身で生成した推論過程から学習することで、推論能力を向上させることができることを示した重要な研究です。STaRは、様々な分野におけるLLMの応用可能性を広げる可能性を秘めています。