Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイド - KDnuggets

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイド – KDnuggets

ソースノード: 3084992

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイド
による写真 Google DeepMind
 

2023 年は大規模言語モデルとオープンソースの年でした。多くのスタートアップや企業は、ChatGPT や Claude などの独自の LLM に対抗するためにモデルと重みをオープンソース化しました。 2023 年の重要な企業とモデル (オープンソース) には次のようなものがあります。

  • メタ (LLama、LLamav2)
  • TII (ファルコン 7B、40B、180B)
  • ミストラル (ミストラル 7B、ミストラル8x7B)

ただし、導入が比較的簡単で安価な 7B モデルは、70B などのより大きなモデルと同等ではありません。最も強力なオープンソースの候補は Mistral 7B で、多くのより大きなモデルよりも優れたパフォーマンスを発揮します。

 

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイド
ミストラル-7Bとの比較 ミストラル.ai
 

ただし、これらの小型モデルは依然として自然なプロンプトに十分に応答せず、適切なプロンプトエンジニアリングが必要です。 

Zephyr 7B は、HuggingFace H4 (役立つ、正直、無害、抱擁) チームによって作成されたモデルです。その主な目標は、ユーザーの意図に沿って、さらに大きなモデルよりも優れた、より小さな言語モデルを作成することでした。

Zephyr は、主に蒸留の力を利用して作成された Mistral-7B の調整バージョンであり、学術的および会話的なベンチマークにおいて 70B モデルに匹敵します。

 

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイドZephyr-7Bの性能比較 |ソース: ゼファー紙

主な機能

Zephyr の優れたパフォーマンスの背後にある理由は、H4 チームが使用したこれら 4 つの重要なテクニックです。

  1. Self-Instruct データ作成と DSFT (Distilled Supervised Fine-Tunning)
  2. フィードバック収集
  3. DSFT モデルの DDPO (Distilled Direct Preference Optimization)

自己指導によるデータ作成と DSFT

伝統的に 教師あり微調整 (SFT) 高品質の命令完了ペアを介して大規模言語モデル上で実行されます。このデータの構築には費用がかかり、人間の監督が必要です (Chung et al., 2022; Sanh et al., 2021)。 

ここでの興味深いアプローチの 2023 つは、教師モデル (すでにトレーニング済みの LLM) を使用して指示と応答を生成することです。この蒸留技術は、Alpaca で最初に使用されました (Taori et al., XNUMX)。これにより、小型モデルが大型モデルよりも優れた性能を発揮できることが証明されました。 蒸留された監視付き微調整.

 

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイド
自己指示パイプライン |ソース: 自己指導用紙
 

H4 チームは、DSFT の実行に使用される高品質の教師あり (命令、完了) データセットを構築するために Zephyr を使用しました。 (生成された命令/完了に基づいてモデルをトレーニングすることは、DSFT: Distilled Supervised Fine-Tuning として知られる蒸留の一形式です)。

フィードバックコレクション

大規模な言語モデルは通常、次の助けを借りて調整されます。 人間のフィードバックからの強化学習 (RLHF)。 Zephyr は代わりに、ウルトラ フィードバックのアプローチに従って、より優れた教師モデル (GPT-4 など) からのフィードバックを使用してモデルの関心を調整します。 

 

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイド
UltraFeedback 構築プロセス |ソース: ウルトラフィードバック用紙
 

その仕組みは、SFT からの監視された各プロンプトが 4 つのモデル (Claude、LLama、Falcon など) に渡され、単一のプロンプトに対する 4 つの応答のそれぞれが GPT-4 を使用してスコア付けされることです。これで、入力 (x)、最高スコアの完了 (yw)、および低スコアの完了 (yl) として示されるランダム プロンプトのデータセットができました。つまり、(x, yw, yl) のトリプレットがあります。

好みの最適化

この最後のステップの目標は、yl (スコアの低い完了) よりも yw (スコアの最も高い完了) のモデルの優先順位を最大化することです。これは次を使用して行われます DPO (直接的なプリファレンスの最適化)。 DPO の使用は、単純な RLHF を使用するよりも簡単で、直感的には RLHF よりも優れたパフォーマンスを発揮します。この場合のアプローチは次のように知られています dDPO 教師モデルの助けを借りて生成された抽出されたデータセットを使用するためです。

 

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイドDPO 対 RLHF |ソース: ゼファー紙
 

全体的なアルゴリズムは次のようになります。

 

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイド
 

そして、次のステップに変換できます。

  1. dSFT モデルから (x, yw) と (x, yl) の確率を計算します (順方向のみ)。
  2. dDPO モデルから (x, yw) と (x, yl) の確率を計算します。
  3. 式 1 を計算し、逆伝播して更新します。繰り返す

Zephyr が使用したベース モデルは、リリース当時最先端のオープンソースであった Mistral-7B です。彼らが使用したのは、 TRL 微調整と調整のためのライブラリ。 Deep-Speed Zero 3 と Flash-Attendance 2 は、トレーニングを最適化して高速化し、GPU を最大限に活用するために使用されました。モデルは AdamW オプティマイザーを使用してトレーニングされ、重み減衰は使用されませんでした。すべての実験は、bfloat16 精度を使用して 100 台の A16 で実行され、完了までに通常 2 ~ 4 時間かかりました。を参照できます。 原紙 Zephyr のトレーニング手順の詳細については、「Zephyr のトレーニング手順」をご覧ください。

Zephyr チームは、大規模言語モデルをトレーニングするための最良の技術を組み合わせ、わずか 40B パラメータで 7B モデルのパフォーマンスに匹敵し、チャット モデルでは 70B に匹敵しました。

 

Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイドZephyr と他の LLM の比較 |ソース: ゼファー紙
Zephyr 7B の探索: 最新の大規模言語モデルの包括的なガイドZephyr と他の LLM の比較 |ソース: ゼファー紙

Zephyr モデルは Hugging Face で公開されており、他の言語モデルと同様に使用できます。

import torch
from transformers import pipeline

pipe = pipeline("text-generation",
                model="HuggingFaceH4/zephyr-7b-alpha",  # can also use the beta model
                torch_dtype=torch.bfloat16,
                device_map="auto")

# We use the tokenizer's chat template to format each message - see https://huggingface.co/docs/transformers/main/en/chat_templating
messages = [
   {
       "role": "system",
       "content": "You are a friendly chatbot who always responds in the style of a pirate",
   },
   {"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs[0]["generated_text"])

出力:

|system|>
You are a friendly chatbot who always responds in the style of a pirate.
|user|>
How many helicopters can a human eat in one sitting?
|assistant|>
Ah, me hearty matey! But yer question be a puzzler! A human cannot eat a helicopter in one sitting, as helicopters are not edible. They be made of metal, plastic, and other materials, not food!

Zephyr-7Bは、LLMからさらに小型のモデルまで蒸留の威力を発揮した小型モデルです。結果として得られたモデル ZEPHYR-7B は、MISTRAL-7B に基づいており、7B パラメータ チャット モデルの新しい最先端を確立し、MT-Bench では LLAMA2-CHAT-70B よりも優れたパフォーマンスを発揮します。

参考文献

  1. Zephyr:LM配向の直接蒸留(https://arxiv.org/abs/2310.16944)
  2. ハグフェイスゼファーブログ (https://huggingface.co/blog/Isamu136/understanding-zephyr)  
  3. 自己指導: https://arxiv.org/abs/2212.10560
  4. ウルトラフィードバック: https://arxiv.org/abs/2310.01377

 
 

アフマド・アニス 現在、情熱的な機械学習エンジニア兼研究者として働いています。 redbuffer.ai。アーマドは本業以外にも、機械学習コミュニティに積極的に参加しています。彼は、オープンサイエンスを専門とする非営利団体である Cohere for AI の地域責任者を務めており、AWS コミュニティの構築者でもあります。 Ahmad は Stackoverflow に積極的に貢献しており、2300 以上のポイントを獲得しています。彼は、OpenAI の Shap-E など、多くの有名なオープンソース プロジェクトに貢献してきました。

タイムスタンプ:

より多くの KDナゲット