Yao Fu ([email protected]) は、エディンバラ大学の博士課程の学生です。彼は北京大学で学士号を取得しました。 ChatGPTが普及した後、2023年2月24日にLLaMAが登場したことで、命令チューニングの方向性が熱くなりました。3月18日、Alpacaは成熟したモデル蒸留物を優れたChatBotに変えることができる可能性を皆に示し、Alpacaモデルのカンブリア爆発を引き起こしました。しかし、わずか 3 か月で、ChatGPT データを使用して LLaMA をトレーニングすることに関するさまざまな問題が認識され始めました。この記事では、過去 3 か月間の LLaMA モデルの開発をレビューし、命令チューニングの次の課題について説明します。 免責事項: この記事は、最近の私の共有概要を編集した簡単な調査メモで、一部削除および追加されています。現時点では、オープンソース コミュニティは LLM トレーニングについて明確な見解と不明確な見解の両方を持っています。引用や議論が噂ではなく確かな証拠に基づいていることを保証できるよう、私は最善を尽くしています。内容の多くは、対応する論文の原著者と直接議論されました。しかし、それでも私の見解が間違っている可能性もあり、議論できないことも多いので、コメント欄に直接コメントして、積極的に議論に参加してください。議論を通じて真実がより明らかになるでしょう。 目次写真 1 - 起源最初の3つ - InstructGPT: 人間のフィードバックによる指示に従うように言語モデルをトレーニングする
- FLANv1: 微調整された言語モデルはゼロショット学習者です
- T0: マルチタスクプロンプトトレーニングによりゼロショットタスクの一般化が可能に
対比 - InstructGPTの目標はアライメントであり、ゼロショット/クロスリンガルは副産物である
- この記事では、175B のポリシー モデルに対応する 7B の報酬モデルを使用しましたが、その後、DeepSpeed Chat とそれに続く一連の RL オープンソース作品が続きました。このアプローチは間違っているはずです。
- 正しいアプローチは、ポリシー モデルを縮小する代わりに報酬モデルを拡大することです ([報酬モデルの過剰最適化のスケーリング法則](https://arxiv.org/abs/2210.10760) を参照)。つまり、2 つのモデル サイズを交換し、175B の報酬を使用して 7B のポリシーを PPO します。
- 現在のモデル発売段階では、10-50B が比較的手頃なスケールです。それ以上大きいと高価すぎます。
- FLANv1とT0はゼロショットをターゲットとしているので、一致していません。
自己指導 自己指導の重要性に留意する - ベースモデルは何でもよく、アラインメントモデルである必要はありません (ChatGPT)
- 第一世代の Davinci から text-davinci-001 までのプロセスを再現しました。非常に洞察に富んでいます。
写真 それからFLANv2があります。これは非常に重要で、おそらく10回以上読んだので、全文を暗記することをお勧めします。 - スケーリング命令微調整言語モデル
- 人間の好みを除くすべての効果が追加されます。これについては後で説明します。
- 人間の好みとしては、話すことができるモデルが好まれますが、話すことができるモデルが必ずしも機能するとは限りません。フランはプログラマーと同じように働くことはできるが話すことはできない
2 - LLaMAの後- アルパカ:良い出発点だが、モデル自体はあまり強力ではない
- ビクーニャ
- オープンソースでは、対話だけが強く、フォーマットは人間の好みに合っており、より多くのコンテンツが生成され、より多くのユニークなトークンが生まれます。
- 自動評価では、コンテキスト内の学習/推論/知識が最適ではない場合があります (MMLU および BBH スコアに反映されています)。これは、それが良くないという意味ではなく、改善できる可能性があることを意味します。
- GPT-4の評価が機能するかどうかはまだ不明ですが、LMSysチームは、プロンプトエンジニアリングが十分に行われていれば機能すると述べています。MT-BenchとChatbot Arenaを使用してLLMを審査員として審査する
- さらに、LMSysチームは効率性に非常に優れています。モデルの提供については、[vllm](https://github.com/vllm-project/vllm)プロジェクトを参照してください。これはおそらく最も高速なオープンソースです。
- そして、 GPT-4を判定基準としてGPT3.5 x%のレベルに達したと主張する一連のモデルは、Evalが信頼できないため、まったく推奨されません。
- しかし、アライメント中にChatGPTに依存しない研究もいくつかあります。これらの研究は推奨されており、その中には
- LIMA: 整合には少ないほど良い — データの選択方法に注目してください。どのような SFT データがよいデータであるかを知るために、1 時間かけて [データ](https://huggingface.co/datasets/GAIR/lima) を感情を込めて読むことをお勧めします。
- Dromedary: 最小限の人間による監督でゼロから言語モデルを原理主導で自己整合 — 基本的には憲法 AI の LLaMA バージョンである、迅速なエンジニアリング アプローチに注目 - SFT
- その後、いくつかの論文が(ようやく)命令チューニングのデータ混合を分析し始めた。
- トゥルー: ラクダはどこまで行けるか? オープンリソースでの指導チューニングの現状を探る
- 結果は非常に複雑で、どの混合物がより良いかを結論付けるのは難しい
- しかし、どれが悪いのかを知る:NLPベンチマーク
3 - 評価方法まず、多数のベンチマーク、特に GPT-3 テスト タスクのスコアを平均化しないでください。平均すると誰もが同じであるためです。コアとなる差別化されたベンチマークのみを確認することをお勧めします。 区別のない例: - LM-Eval-Harness (https://github.com/EleutherAI/lm-evaluation-harness)、ベンチマークが多すぎるため、良いものを平均化している
- これには実際には MMLU と MATH が含まれますが、それらは他のデータセットによって平均化されます。
- 要約 + 赤 / 翻訳 + 黒:
- Rouge と BLEU の差はわずか 4 または 5 ポイントで、小さすぎます。モデルの強度と精度の差は 90 ポイントと 10 ポイントで、十分に大きいです。
- RougeとBLEUは人間の好みと一致していない。BLEUも完全に一致していないことに注意。
では、Pretrain は何を推奨するのでしょうか? - 差別化、モデルの強さが一目でわかる必要がある
- 方向性としては、現段階では、暫定的に
- 英語の知識 — MMLU
- 中国語知識 — C-Eval
- 推論 — GSM8k / BBH
- コード — HumanEval / MBPP
- 上記の4つのバランスを解いた後、
- 数学:高難度推論
- ダイアログ: これは人間による評価でのみ機能する可能性があり、自動評価では処理できません
次に自動評価についてお話しましょう 自動評価- 事前トレーニング済みのチェックポイントに適しています - 基本的には https://github.com/FranxYao/chain-of-thought-hub を参照してください - 知識:MMLU
- このデータセットは非常に安定しており、基本的に感度の問題はありません。
- 理由:
- GSM8k: 比較的安定していますが、回答抽出機能のレートに注意する必要があります。90% を下回る場合は、正規表現を追加する必要があります。
- BBH - アルゴリズム:
- あまり安定していないので、回答率に注意する必要があります
- BBH - 言語:
- あまり安定していません。回答率に注意する必要があります。Chain-of-thought Hubは、回答率の結果に対する感度をすぐに分析します。結論としては、BBHの方が敏感です。
- モデルのサイズを増やすこと以外に、どのような操作で BBH データセットのスコアを向上できるかは明らかではありません。
- コーディング:
- ヒト評価/MBPP: 比較的安定しているようだが、偏りのない推定には注意が必要
- まず、上記のデータセットを見てみましょう。スコアがラマに一致したら、数学を見てみましょう。
- 数学:
- 超難関、GPT-4スコア
- 素朴なプロンプト: 42
- → 複雑さに基づくプロンプト: 50 https://openreview.net/forum?id=yf1icZHC-l9
- → 漸進的ヒントプロンプト: 53 https://arxiv.org/abs/2304.09797
- → 18,000票以上の多数決: 69.6
- → 結果に基づく報酬モデリングによるベストオブn: 72.4
- → [プロセスベース報酬モデリング](https://arxiv.org/abs/2305.20050)によるnのベスト: 78.2
- → PPO + プロセスベースの報酬モデリング = ? 90%
- 一般化? — 比較的強いはずです。一般的に、一般化は基本モデルのサイズと正の相関があり、SFT データの総量と負の相関があり、SFT データの豊富さと正の相関があります。
- GPT-4がなかったら
- ミネルバ / PaLM-2: 34.3
- ギャラクティカ: 33.6 — これは良い投稿です。なぜなら、『幻覚』は批判されて棚から撤去され、その重要性が著しく過小評価されることになったからです。
- 880億の論文 + 70億のコード + 70億の百科事典、教科書、教育資料 + 20億のKB + 10億のCC + 0.4億のプロンプト/指示 * 4エポック
- LLaMA65B: 10.6
- その他: 10点未満
チャットボットとして微調整されたモデルの場合 - まず、ポイントが欠落していないことを確認するために、上記のベンチマークを数回に分けて実行します。
- ダイアログの微調整のみを行うと、既存の機能(MMLU / BBH)が損なわれる可能性があります。
- ポイントが落ちた場合は、LMミキシング/FLANv2ミキシングを検討してください
- チャットボットの数回のプロンプトでは、コンテキスト内のサンプル モデルを 1 回使用するだけでは指示に従うのに十分ではない可能性があるため、ダイアログ バージョンを使用する必要があります。CoT Hub の標準プロンプト ライブラリ (https://github.com/FranxYao/chain-of-thought-hub/blob/main/spl/gsm8k/chat/few_shot_cot.chatml) を参照してください。
- 次に、ユーザーの設定を評価する必要がありますが、これは現時点では人間のみが実行できます。
- 大規模なトレーニング済みの報酬モデルがある場合は、それを使用して小規模/中規模のモデルを評価できます。これは実際には人間が評価することとあまり変わりません。
- 大規模なポリシーモデルの場合
- オンライン反復RLHFでは初期段階で専門家の評価が必要
- その後、専門家による評価(AI支援付き)(https://arxiv.org/abs/2206.05802)が必要となる。
では、評価には少し弱いモデルを使用できますか? — 使用できますが、クエリの難易度と分布に注意し、プロンプトエンジニアリングに注意してください - プロンプトエンジニアリングを経なければ、さまざまなバイアスのせいで確実に機能しません。
- クエリの難易度が十分に高くない場合、または多様性が十分に高くない場合は、機能しない可能性があります。
- クエリが十分に難しい場合、クレイジープロンプトエンジニアリングの後、情報検索型評価が可能になる場合があります。https://arxiv.org/abs/2306.05685 を参照してください。
- しかし、推論関連、情報探索関連ではないもの(TLDRなど)では機能しない可能性があります。
- 情報検索関連のクエリは、より長い回答に偏る傾向がある
返信が長いほど、GPT-4はそれを気に入り、スコアが高くなります。 4 - FLANv2、ロングコンテキストの影響FLANv2 は非常に興味深いデータセットです。ユーザーの好みを除くすべてのものが追加されます。
- CoTプロンプトに注意
- 62B以降はDirectよりも良くなる
- 知識なし(MMLU)推論のみ(BBH)
- FLANv2の追加効果は
- 知識(MMLU)
- 推論(BBH)
- 多言語(TyDiQA / MGSM)
- FLANの作者はデータ漏洩がないことを確認していることに注意してください
- 上記は、コンテキスト内学習とゼロショット学習の両方に適用されることに注意してください。
- しかし、FLANの返信は短いので、ユーザーの好みは追加されません - Flanの性格はストレートな男性のようなもので、仕事ができ、あまり話さない
データ漏洩と分布内一般化を区別するように注意する - データセットのテスト セットを使用してモデルをトレーニングすることをデータ漏洩と呼びます。この場合、モデルのスコアは特に高くなり、信頼性が低くなります。
- データセットのトレーニング セットを使用してモデルをトレーニングする場合、それは分布内一般化と呼ばれ、モデル スコアは信頼できます。
- MMLU/C-Eval など、一部のデータセットは分布内で一般化するのが難しくありません。基本的に、データのスケーリングによってポイントを追加できます。
- 一部のデータセットでは、モデルが強力でない場合、トレーニングセットを見た後でも、モデルはGSM8Kなどのテストセットでうまく機能しません。このタイプのデータセットは高品質の評価データセットです。
- コードの難しさは、MMLU と GSM8k の中間くらいかもしれません。分布内での一般化は GSM8K ほど難しくはありませんが、簡単というわけでもありません。
さらに、Zero-Scrolls (https://www.zero.scrolls-benchmark.com/leaderboard) の最新データによると、FLAN は Long-context Reasoning も追加できるそうです。理由はわかりません。 写真 FlanT5 と T0pp の唯一の違いは命令データセットですが、T5 の相対位置エンコーディングのみを使用して 8k のコンテキスト長に単純にスケーリングすると、FlanT5 は T0pp よりも大幅に高くなります。 長い文脈データエンジニアリングはニューラルアーキテクチャエンジニアリングと同じくらい重要かもしれない 5 - コード両記事のデータエンジニアリングは優れている - WizardCoder : Evol-Instruct による大規模言語モデルのコーディングの強化
- AlpacaCoder に wizardlm メソッドに基づいて命令チューニング データセットの構築を継続的に促すことで、chatgpt を使用して複雑な命令とそれに対応する回答を生成します。
- HumanEval、DS-1000はGPT-4に次ぐ2位で、Claude/Bardを上回る
- ベースモデルには StarCoder が使用されており、The Stack V3 の品質が再度検証されたことになります。また、事前トレーニング コード データは複数のエポックに渡すことができますが、Web ページは 1 つのエポックにしか渡すことができないことにも注意してください。
- Phi-1: 教科書だけあれば十分
- 事前トレーニングデータセットはフィルタリングされたコードとプロンプトChatGPTから取得されます
- 指示チューニングデータセットはプロンプトChatGPTから取得されます
- ベースモデルのみ 1B
評価方法 - ベースモデルがどのように機能するかを必ず研究し、ベースモデルに自信を持ちましょう。MMLU/BBH/HumanEval スコアが高い限り、その可能性は想像を超えます。
- 提示されたデータセットは、HumanEval/MBPP などの比較的短いアルゴリズムの問題に対する大規模なトレーニング セットに相当します。
- しかし、その一般化空間はHumanEval / MBPPよりも大きいはずなので、テストセットに最適化されているとは考えられません。この一般化空間はモデルスケールと有意に正の相関関係にあります。
- これを踏まえると、さらに難しいのは
- リポジトリレベルのコード理解/補完 — HumanEval / MBPPはまだ少し不足しています
- 能力バランス - ファイ1に従うと、コード以外の能力はすべて洗い流されます
コードとテキストのデータの混合についても: https://arxiv.org/abs/2305.16264 写真 トレーニングを継続する際に、コードの 50% をデータ混合として使用すると、モデルの言語機能に悪影響はありませんが、コーディングと推論が向上します。 6 - まとめ: 力のバランスターゲット: - 対話/コーディングを向上させるための命令チューニングデータミックスを構築する
- 同時に、MMLU(英語知識)/ C-Eval(中国語知識)/ BBHとGSM8K(推論)はポイントを落とさない
- ポイントを失うことなく文脈に沿った学習
アイデア - FLANをベースとして使用できます。これは非常に大きく、トレーニングを継続するのにほぼ相当します。
FLANの中国語版を作ることを検討してください。Zhiyuanが最近リリースしたCOIG-PC(https://huggingface.co/datasets/BAAI/COIG-PC)は、 - コード部分は、WizardCoder と Phi-1 のメソッドに基づいています。
- 上記のデータが準備できたら、データ混合のハイパーパラメータと命令チューニングのデータカリキュラムを検索します。
- 上記の方法を使用して評価を行う
7 - 結論- この段階での命令調整の中心的な問題は、能力のバランスである。
- 基本的な機能については、評価用の Chain-of-thought Hub を参照できますが、ダイアログは依然として人間が行う必要があり、人間では十分に評価できない可能性があります。
- FLANは素晴らしいです。中国語版の作成を検討してみてはいかがでしょうか
- できるだけ早く命令のチューニングを終えて報酬モデリングの段階に進む
- PPO を実行する前に、まず報酬モデリングを適切に行い、報酬モデルに判断力があることを確認する必要があることに注意してください。
- 報酬モデルを理解する前に PPO に取り組まないでください。大きなステップを踏みすぎると、問題に巻き込まれる可能性が高くなります。
|