Open11
Orca 2: Teaching Small Language Models How to Reason
- より小さな LM に論理的思考をどのように教えられるかという問題を追求
- ステップバイステップの処理、想起してから生成、想起して理由を生成、抽出して生成、直接回答する方法など、一連の推論手法の使用方法を教える
- 私たちはこれらのモデルが目の前のタスクに対して最も効果的な推論戦略をいつ使用するかを決定できるように支援
- Instruction Tuning
- 大きなモデルの出力を使用して生徒モデルをトレーニング
- スタイルの模倣のみで出力の正しさが判断されない
- 知識が追加されるわけではない
- 大きなモデルの出力を使用して生徒モデルをトレーニング
- Explanation Tuning
- データ
- システム命令、ユーザープロンプト、LLM 回答
- システム命令の例
- step by step
- データ
GPT-4
-
応答品質はシステム命令に記述されている戦略に基づいて大幅に変化する
-
戦略はタスクに依存する
- 最も効果的な解決戦略を選択するよう教えるべき
-
大きなモデルでは直接的に回答できても、小さなモデルではこれができない可能性がある。大きなモデルの模倣を小さなモデルに行わせても、表面的なものとなってしまう
- Cautious Reasoningの必要性
- さまざまなタスクの集合から始める
- Orca のパフォーマンスに基づいて、どのタスクにどの解決戦略が必要かを決定します (例: 直接回答、ステップバイステップ、説明してから回答など)。
- 各タスクに対する教師の応答を得るために、選択した戦略に対応するタスク固有のシステム指示を作成します。
- 即時消去: トレーニング時に、生徒のシステム指示を、タスクへの取り組み方の詳細を除いた一般的な指示に置き換えます。
- Cautious Reasoningの必要性
タスクへの取り組み方を詳しく説明した元のシステム指示がない場合、学生モデルはその基礎となる戦略と、それに伴う推論能力を学ぶよう促されるということです。教師が推論を組み立てた構造を削除するため、このテクニックを「プロンプト消去」と呼びます。
データ数: 817,000
- FLANがデータソース?
- 1448タスクを選択
- 23のカテゴリにグループ化(テキスト分類等)
- さらにサブカテゴリ126を作成
- サブカテゴリのないのすべてのタスクでシステム命令を共有
- すべてのシステム命令を以下で置き換える
- あなたは、Microsoft によって作成された AI 言語モデルである Orca です。あなたは慎重なアシスタントです。指示には注意深く従ってください。あなたは有益で無害であり、倫理的なガイドラインに従い、前向きな行動を促進します。
- few shot データセットもタスクごとに作成?
- 1 エポックの FLAN-v2 データで学習
- Orca 1 からの 500 万の ChatGPT データを 3 エポックにわたってトレーニング
- Orca 1 の 100 万 GPT-4 データと Orca 2 の 817K データの組み合わせでトレーニング 4
エポック
損失: Orca 2 をトレーニングする目的で、教師モデルによって生成されたトークンのみで損失を計算します。つまり、システム命令とタスク命令を条件とした応答を生成することを学習します。このアプローチにより、モデルは最も関連性が高く有益なトークンからの学習に重点を置くことが保証され、トレーニング プロセスの全体的な効率と有効性が向上します。
→ 何を言っているのかわからない
system_prompt - question - response なデータセットをOrcaスタイルという
以下は、 Cautious Reasoning LLMをトレーニングするプロセスを示しています。
- さまざまなタスクの集合から始める
- Orca のパフォーマンスに基づいて、どのタスクにどの解決戦略が必要かを決定します (例: 直接回答、ステップバイステップ、説明してから回答など)。
- 各タスクに対する教師の応答を得るために、選択した戦略に対応するタスク固有のシステム指示を作成します。
- 即時消去: トレーニング時に、生徒のシステム指示を、タスクへの取り組み方の詳細を除いた一般的な指示に置き換えます。
つまり、以下?
system_prompt:一般的な
question:ユーザー入力
response:ステップバイステップ等のテクニックが反映された応答