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

ゼファー-7B:Hugging FaceのハイパーオプティマイズドLLM

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

はじめに

オープンな大規模言語モデル(LLM)の進化は、AI研究コミュニティに大きな影響を与え、チャットボットや同様のアプリケーションの開発に特に影響を与えています。LLaMAのようなモデルがリリースされた後、効率的なファインチューニング、拡張されたプロンプトハンドリング、リトリーバーオーギュメンテーション生成(RAG)、量子化に関する研究が増えています。

LLaMAモデルは、ファインチューニングとプロンプトコンテキスト化の新しい時代を切り開き、モザイクMLのMPT、トゥギャザーAIのRedPajama-INCITE、TIIのファルコン、メタのLLaMA 2などの後のモデルへの道を切り開きました。各モデルは、LLMの機能と範囲を高める独自の機能を提供しています。

パリを拠点とするスタートアップであるMistral AIは、元Google DeepMindとMetaの従業員によって設立され、最初の製品であるMistral 7Bで注目されています。

Mistral 7Bの強みは、効率性にあり、Llama 2などの同等のモデルと比較して、同等または向上した機能を実現しながら、計算要求を低減しています。

特に、指示タスクに特化したMistral 7B Instructは、Hugging Faceなどのプラットフォームで同サイズの他のモデルを上回り、ほぼ2倍のパラメータを持つモデルと競合しています。

これを基にして、Hugging FaceはZephyr 7B Alphaを導入し、ファインチューニングされたMistral 7Bが実際に大規模なチャットモデルを上回り、特定のタスクではGPT-4と競合することを実証しました。「Alpha」は最初のステップでした。次にZephyr 7Bベータが続きました。

この記事では、Zephyr 7Bが人間の指示と一致する能力を磨くために、より大きなモデルの力に頼る方法を探ります。これは、知識の蒸留という技術を通じて可能になります。この方法では、より小さいモデルをより大きなモデルの複雑なパターンで訓練し、言語モデリングの能力を犠牲にすることなく、訓練の要求を削減します。Hugging Faceの知識の蒸留アプローチの詳細に焦点を当ててみましょう。

知識の蒸留

Zephyr-7Bのようなモデルの開発における重要な革新は、蒸留された教師ありファインチューニング(dSFT)です。この方法では、より大きな、より能力の高い「教師」モデルの出力を使用して、より小さな「生徒」モデルを訓練し、その精度を高めます。蒸留は、さまざまなタスクでオープンモデルを改善しますが、教師モデルとのパフォーマンスのギャップは依然として存在します。

知識の蒸留は、機械学習で使用される方法で、コンパクトなモデル(「生徒」)を、より大きな、より複雑な「教師」モデルのパフォーマンスを再現するように訓練するものです。この技術により、生徒モデルは、教師が学習した複雑なパターンを転送することで、以前は不可能だったタスクを実行できるようになります。

知識の蒸留、教師-生徒モデル

知識の蒸留 | 教師-生徒モデル

生徒モデルは、教師モデルの出力確率または特徴に基づいて訓練され、最終的な予測のみではなく、これらの出力を一致させることに焦点を当てています。これにより、生徒モデルは教師の繊細な意思決定プロセスを学習し、多くの場合、地面真実データのみで訓練した場合よりもパフォーマンスが向上します。

歴史的に、知識の蒸留は、Hintonの元の蒸留ネットワークや、より最近のNLPにおけるDistilBERTなどのモデルで使用されてきました。DistilBERTは、BERTモデルをより小さく、より速いバージョンに蒸留し、元の言語理解能力のほとんどを保持しました。TinyBERTは、モバイルまたはエッジデバイス向けにサイズと速度をさらに最適化しました。

Zephyr-7Bの場合、知識の蒸留は、7Bパラメータモデルの小さなモデルに、大きなモデルの機能を与えるために使用されます。そうすることで、Zephyr-7Bはパフォーマンスと効率のバランスを実現し、計算リソースが限られている環境でも、インタラクションと理解の質を犠牲にすることなく使用できます。

Zephyr-7Bを開発する際、研究者は、蒸留のみで小さなオープンLLMを完全に整列させるという課題に取り組みました。蒸留された直接好み最適化(dDPO)というアプローチを導入しました。これは、教師モデルのアンサンブルからのAIフィードバックを好みデータとして使用します。この方法では、人間の注釈が不要であり、モデルの訓練に必要な時間とリソースを大幅に削減します。

ZEPHYR-7Bの構築

dDPOの妥当性を検証するために、研究者は、Mistral-7Bモデルの整列バージョンであるZEPHYR-7Bを構築しました。プロセスには、3つのステップが含まれます:

  1. UltraChatデータセットを使用したdSFT:蒸留された教師ありファインチューニング(dSFT)は、大規模言語モデル(LLM)を訓練するための高度な方法です。より大きな、より能力の高い「教師」モデルの出力を利用して、より小さな「生徒」モデルを訓練します。dSFTは、従来の教師ありファインチューニング(SFT)とは異なり、動的なアプローチを採用し、モデル自体が指示と応答を生成します。この方法は、自己指示と呼ばれ、教師モデルが指示と応答の両方を生成し、応答に基づいて指示を改良するものです。プロセスは、多様なトピックを表すシードプロンプト(x₀₁、x₀₂、…、x₀_J)から始まります。各プロンプトは反復的に改良され、与えられたプロンプトx₀に対して、教師モデルによって応答y₀が生成され、x₀とy₀に基づいて新しい指示x₁がサンプリングされます。最終的なデータセットC = {(x₁、y₁)、…、(x_J、y_J)}は、モデルをファインチューニングするために使用されます。
  2. UltraFeedbackからのAIフィードバックデータの統合:このデータは、モデルの応答を改良するために不可欠でした。このステップでは、モデルはさまざまなプロンプト(例:チョコレートブラウニーの作り方の説明)に対する応答を生成し、GPT-4などのより高度なモデルによってランク付けされます。最高スコアの応答(yw)とランダムに選択された低スコアの応答(yl)によってフィードバックデータセットDが形成されます。
  3. dDPOの適用:最後のステージでは、dSFTモデルを、好ましい応答をより高いランクでランク付けする確率を最大化することで、dDPOを使用して改良します。これは、報酬関数rθ(x、y)を好みモデルに使用することで実現され、最適なLLMポリシーπ*とdSFTポリシーπdSFTに基づいています。最適化目標は、πθ = max π E(x、yw、yl)∼ D log σ(β log π(yw|x)/πdSFT(yw|x)- β log π(yl|x)/πdSFT(yl|x))として形式化され、dSFTバージョンのモデルから開始し、各AIFトリプルを反復処理することで訓練プロセスを簡素化します。
Zephyr-7Bで使用される方法は、InstructGPTで使用されるプロセスと同じです。

Zephyr-7Bで使用される方法は、InstructGPTで使用されるプロセスと同じです。

注目すべきは、Zephyr-7Bが人間のフィードバックと整列された70Bパラメータモデルのパフォーマンスと比較できることを実証しています。Zephyr-7Bは、学術的なベンチマークと会話能力の両方で優れており、好み学習をモデル開発に取り入れることの有効性を強調しています。さらに詳しく調査するために、モデル、コード、指示は、Hugging FaceのGitHubリポジトリで利用できます。

意図の整列の課題への対処

LLMには、人間の意図と一致するという懸念がありました。以前のモデルは、ユーザーの好みと一致しない応答を生成することが多く、不正確または無関係な回答につながりました。しかし、MT-BenchやAlpacaEvalなどの最近のベンチマークは、この側面を量化して改善するためのツールを提供し、人間のフィードバックで訓練された独自のモデルが蒸留のみで訓練されたモデルを上回ることを強調しています。

評価方法

Zephyr 7Bの評価には、モデルが単一のターンと複数のターンの両方の会話能力を評価するベンチマークを使用しました:

  • MT-Bench:このマルチターンベンチマークでは、モデルが8つのドメインにわたる160の質問に回答する必要があります。各回答はGPT-4によって評価され、モデルの最終スコアは2回の質問の平均となります。
  • AlpacaEval:このシングルターンベンチマークでは、モデルはさまざまな主題の805の質問に回答する必要があります。ここでの焦点は、モデルの有用性にあり、GPT-4が回答を評価して比較勝率を決定します。

さらに、Zephyr 7Bは、会話スキルの直接的な評価ではないものの、モデルの推論と真実性に関する洞察を提供する、オープンLLMリーダーボードでテストされました。

Zephyr 7Bは、サイズ、整列方法(dSFTやdDPOなど)、パフォーマンススコアに基づいて、さまざまなオープンおよび独自のモデルと比較されました。Zephyr 7Bは、MT-BenchとAlpacaEvalの両方で新しいベンチマークを樹立し、大きなモデルと競合するパフォーマンスを示し、dDPOを訓練する際の有効性を実証しました。

SFTとDPOの訓練段階は、エポック、ファインチューニングの学習率、バッチサイズを最適化するために慎重に設定され、最終的なZephyrモデルは、実用的タスクと学術的なベンチマークで優れており、過剰適合にも耐性がありました。

データセットと結果

使用されたデータセット

Zephyr-7Bの開発では、2つの重要なデータセットが使用され、ダイアログ生成のさまざまな側面を扱いました。

UltraChatデータセット

  • 出典:GPT-3.5-TURBOによって生成されたダイアログから開発されました。
  • 内容:30のトピックと20のテキスト資料にわたる147万のマルチターンダイアログを含みます。
  • 改良:データセットは、文法の問題を修正するための真のケース化ヒューリスティックを経て、応答の有用性を高めるためにフィルタが適用され、役に立たない前置きフレーズを除去しました。

UltraFeedbackデータセット

  • 出典:GPT-4によって評価されたプロンプトで構成され、応答は指示の従順性、誠実性、有用性に基づいて評価されました。
  • 内容:各応答がGPT-4によって評価された64,000のプロンプトを含みます。
  • 二項好み:最も高い平均スコアを持つ応答を「選択」、残りのうちランダムに選択したものを「拒否」として、多様性を高め、DPOプロセスに課題を与えるために生成されました。

両方のデータセットは、Zephyr-7Bを指示に従い、正直で、役に立つ人間のようなダイアログを理解して生成するように訓練するために不可欠です。これらのデータセットは、Hugging Face Hubで利用できます。

パフォーマンスと成果

以下のチャートは、Zephyr 7Bのパフォーマンスを、GPT-3.5-turbo、Claude 1、GPT-4、Llama-2-70b-chatなどの他のモデルと比較したものです。カテゴリには、ライティング、人文科学、ロールプレイ、推論、STEM、抽出、コーディング、数学などが含まれます。

チャートから、Zephyr 7Bがどのドメインで優れており、どのドメインで改善が必要かが推測できます。たとえば、Zephyrのラインがライティング軸に沿って他のモデルよりも長く伸びている場合、Zephyrはライティングコンテンツの生成に特に優れていることを示します。一方、Zephyrのラインが数学軸に近い場合、数学の問題の解決に弱いことを示します。

レーダーチャートは、Zephyr 7Bの強みと弱点を特定するのに役立ち、GPT-4やLlama-2-70b-chatなどの大きなモデルや専用モデルと比較したZephyr 7Bの位置を視覚的に表現します。

 

モデルパフォーマンス レーダーチャート

モデルパフォーマンス レーダーチャート

MT-BenchとAlpacaEvalの2つのベンチマークで、さまざまな言語モデルを比較します。モデルはサイズ、整列方法(dSFTまたはdDPOなど)、パフォーマンススコアに基づいて評価されます。Zephyrは両方のベンチマークで高いスコアを示し、整列された応答を生成する能力の有効性を示しています。

MT-BenchとAlpacaEval

MT-BenchとAlpacaEval

結論

結論として、Zephyr-7Bの開発は、大規模言語モデル(LLM)からの会話能力を小さなモデルに整列させることが、サンプリングベースの方法に頼ることなく実現可能であることを示しています。AIフィードバックを使用した直接好み最適化(DPO)を採用することで、Zephyr-7BはMistral-7Bの強い基盤を活かし、7Bパラメータのチャットモデルに新しいベンチマークを設定し、小さなオープンソースモデルがユーザーの意図を効果的に理解して応答できることを実証しています。

しかし、この研究には限界があります。ベンチマークの評価にGPT-4を使用することで、GPT-4から蒸留されたモデルを偏って評価する可能性があり、正確な応答よりも高いスコアが与えられる可能性があります。さらに、大きなモデル(LLAMA2-70Bなど)へのこの方法のスケーラビリティとパフォーマンスの向上への影響は、将来の研究のための課題です。これらの限界は、AIコミュニティで偏りのない評価方法の開発と継続的な革新の必要性を強調しています。

研究の範囲を超えて見ると、小さなモデルが大きなモデルのレベルでパフォーマンスを発揮できる可能性は、AIのよりアクセスしやすく効率的な使用を実現し、さまざまなアプリケーションで民主化する可能性があります。Zephyr-7Bの成功は、オープンソースモデルへのさらなる探索を奨励し、AIの進歩を促進するための共同研究と開発を促進します。

私は過去5年間、機械学習とディープラーニングの魅力的世界に没頭してきました。私の情熱と専門知識は、AI/MLに特に焦点を当てた50以上の多様なソフトウェアエンジニアリングプロジェクトに貢献することになりました。私の継続的な好奇心は、自然言語処理という分野にも私を引き付け、さらに探求したいと思っています。