AIモデルとプラットフォーム

ゼファー-7B: 言語モデルにおける直接蒸留の紹介

mm
Unite.AI を Google の優先ソースに追加

小規模なオープン言語モデルは、GPT-2から、より小さく正確で効率的なモデルへ進歩しました。学習に使うトークン数は、Chinchillaのスケーリング則で計算量最適とされた量を大きく上回っています。さらにdSFT(蒸留による教師あり微調整)では、強力な教師モデルの出力を生徒の教師データにして精度を高めます。

Zephyr-7Bは、人手による注釈を必要とせず、70億パラメーターのモデルの会話評価で高い性能を目指す取り組みです。目的は、小さなモデルを利用者の意図により近づけることです。dSFTに加えて選好学習を調べ、会話の整合性を改善します。本稿では構造、手法、結果を説明します。

Zephyr-7B:言語モデルのアラインメントを直接蒸留する

GPT-2からGPT-4やMiniGPT-5まで、モデルは大量の学習トークンを使い、より正確で効率的になりました。小規模モデルも、独自モデルを含む教師の出力を使ったdSFTで追加学習できます。蒸留は多様なタスクでオープンモデルの力を引き出しますが、教師の性能を完全には再現できません。利用者の要求と動作が合わず、不適切な回答を返す問題も残ります。

AlpacaEvalとMT-Benchはこうした意図の不一致を評価します。ZephyrはAIフィードバック(AIF)で複数モデルの回答に対する選好を集め、dDPO(distilled direct preference optimization、蒸留による直接選好最適化)を行います。人手の注釈を使わず、選好最適化中にPPOのような強化学習によるサンプリングを必要としません。

用語に関する注記:英語原文には、dDPOを拡散に関係する別の用語で展開し、ノイズ除去の手順を説明する箇所があります。Zephyr論文(arXiv:2310.16944)の名称はdistilled direct preference optimizationであり、そのノイズ除去の説明はこのアラインメント手法に該当しません。

Zephyr-7BはMistral-7Bをアラインメントしたモデルです。UltraChatでdSFTを行い、フィードバックデータでdDPOを適用します。実験では70億パラメーターながら、人のフィードバックで調整された700億超の会話モデルに匹敵する結果を示しました。選好学習は会話評価と学術評価の改善に重要でした。

上図はMT-Benchで、GPT-3.5-TurboやLlama-2-70Bなど、追加の強化学習と大量の人のフィードバックを使った、より大きな独自・公開モデルと比較しています。Zephyr-7Bは規模の差にもかかわらず多くに匹敵し、一部の領域では上回ります。

方法、動作、アーキテクチャ

目標は、オープンな大規模言語モデルを利用者の意図に近づけることです。プロンプトで問い合わせられる大きな教師モデルを前提とし、InstructGPTに似た流れで効果的な生徒モデルを作ります。

  1. 自己指示型の方法で大規模データを作り、dSFTを実施します。
  2. 複数の会話モデルから回答を集め、GPT-4で採点し、選好を二値の組に変換します。
  3. フィードバックを使い、dSFT済みモデルにdDPOを適用します。

dSFT:蒸留による教師あり微調整

未調整の基盤モデルは、利用者の指示への応答を学ぶ必要があります。通常のSFTは高品質な指示と回答の組を使います。教師があれば両方を生成して直接学べます。図ではxが幅広い主題を代表する種プロンプト、yが回答例、x1が改善用の新しい指示、Cが最終データ中の終点を表します。

選好によるAIフィードバック

人のフィードバックは通常、回答の質への選好として与えられます。ZephyrはUltraFeedbackに倣い、他モデルの出力を教師に評価させます。各プロンプトxをLlama、Falcon、Claudeなど四つのモデルに渡し、各回答をGPT-3やGPT-4のような教師が採点します。最高得点の回答を保存します。

dDPO:蒸留による直接選好最適化

最終段階は、dSFT済みの生徒が不採用の回答より選好された回答を高い確率で出すよう改善します。PPO(Proximal Policy Optimization)は報酬モデルを学習し、現行方策からサンプルを得て更新します。一方、DPOは静的な選好データから直接最適化します。選好モデルに報酬関数を代入した目的関数は次のとおりです。

実験、評価、結果

実験は、多くのNLPタスクで大きなモデルに匹敵するMistral-7Bを微調整して行います。

データセット

独自・オープンモデルの組み合わせから蒸留した二つの会話データを使います。

UltraChat

GPT-3.5-Turboが生成した、30主題と20種類のテキスト素材にまたがる約150万の複数ターン対話です。大文字・小文字の誤りを修正するヒューリスティックを適用します。

UltraFeedback

6万4000超のプロンプトそれぞれに四つのLLM回答があります。平均得点が最高の回答を採用し、残る三つから一つを無作為に不採用回答として選び、二値の選好を作ります。

評価

単一ターンと複数ターンの二つの会話ベンチマークで指示への追従を評価します。

MT-Bench

八つの知識領域の160問で、最初の質問と追加質問に答えます。

AlpacaEval

さまざまな主題の800問超に単一ターンで答え、有用性を中心に評価します。

Open LLM LeaderboardのARC、HellaSwag、MMLUなどの多クラス分類タスクでも評価します。アラインメント手順の異なる独自・オープンモデルが比較対象です。

結果

dDPOによる会話能力の向上

次表はAlpacaEvalとMT-Benchの結果です。

オープン7Bモデルの中で、Zephyr-7BはdSFTのみのモデルを大きく上回り、比較時点の高い水準を示しました。蒸留PPOを使うXWIN-LM-7Bも上回り、700億超のLlama2-Chatに匹敵します。

学術タスクの向上

次図はさまざまな独自・オープンモデルとの比較です。

70億パラメーターのモデルや優れたdSFTモデルを上回ります。相手の規模が大きくなると劣るものの、400億パラメーターのモデルに匹敵する結果を示します。

選好最適化

dSFTとdDPOの組み合わせはMT-BenchとAlpacaEvalの両方を大きく改善します。

最後の図はDPO中の学習・テスト精度です。原文の分析では、DPOは下流タスクの性能を損ないません。

結論

Mistral-7Bに基づくZephyr-7Bは、大きなモデルから小さな事前学習モデルへアラインメントを蒸留する課題に取り組みます。dSFTに加えた選好学習で、利用者の意図により沿った会話モデルを目指します。

限界もあります。MT-BenchとAlpacaEvalを採点するGPT-4は、自身から蒸留されたモデルを好む可能性があります。それでも、小さなオープンモデルの対話能力を探る有望な方向です。

Kunal Kejriwal は、Python、PostgreSQL、Redis、そして GCP と AWS のクラウドインフラストラクチャを専門とするバックエンドエンジニアです。3 年間にわたり本番システムの構築とスケーリングを経験しており、AI インフラストラクチャ、分散システム、機械学習ワークロードのデプロイに関するアーキテクチャについて執筆しています。