「Zephyr-7Bの内部:HuggingFaceの超最適化LLM、より大きなモデルを上回り続けている」

「ゼファー7Bの内部:HuggingFaceの超最適化LLMが、より大きなモデルを上回り続ける」

モデルはMistral-7bの微調整版を表しています。

Created Using DALL-E 3

私は最近、既に16万人以上の購読者を持つAIに焦点を当てた教育ニュースレターを始めました。TheSequenceは、5分で読めるハイプやニュースのない、ML志向のニュースレターです。目標は、機械学習のプロジェクト、研究論文、概念について最新情報を提供することです。下記のリンクから購読してみてください:

TheSequence | Jesus Rodriguez | Substack

最新の機械学習、人工知能、データの進展について最も最新情報を提供するソース…

thesequence.substack.com

ZEPHYR-7Bは、AIコミュニティで非常に好評を得ている新世代の大規模言語モデル(LLM)の1つです。モデルはHugging Faceによって作成され、公開データセットでトレーニングされたMistral-7Bの微調整版であり、知識蒸留の技術で最適化されています。このモデルは、さまざまなタスクで非常に優れた結果を達成しています。

最近の研究では、蒸留はさまざまなタスクにおいてオープンAIモデルの強化に有用な技術として浮上しています。しかし、これらのモデルはしばしば「意図の整合性」を欠いているため、元の教師モデルと同じレベルのパフォーマンスを達成することはできません。このため、これらのモデルは一貫してユーザーのクエリを正確に対応することができない応答を生成する傾向があります。

意図の整合性を定量化することは難しい課題でしたが、最近の取り組みにより、MT-BenchやAlpacaEvalなどのベンチマークが開発されました。これらのベンチマークは、モデルの出力の人間の評価と密接に相関するスコアを生成し、プロプライエタリモデルが人間のフィードバックでトレーニングされたオープンモデルよりも優れていることを確認しています。これは、LLAMA2-CHATなどのプロジェクトで大規模な人間のフィードバックの収集の重要性を強調しています。

このアプローチを検証することがZEPHYR-7Bの主な目標であり、Mistral-7Bの整合されたバージョンです。このプロセスは、次の3つの主要なステップで行われます:

1. UltraChatデータセットを使用した大規模なデータセット構築、self-instructスタイル、および知識蒸留を使用した上位監視付き微調整(dSFT)。

2. チャットモデル補完のアンサンブルを介したAIフィードバック(AIF)の収集と、それに続くGPT-4(UltraFeedback)による評価に基づいた選好データへの変換。

3. 収集されたフィードバックデータを使用したdSFTモデルへの蒸留直接選好最適化(dDPO)の適用。

ZEPHYR-7Bの背後にある微調整プロセスは、次の3つの基本技術に基づいています:

1. 蒸留付き上位監視微調整(dSFT):生の言語モデルから始まり、ユーザーのプロンプトに対して応答を生成するためのトレーニングが必要です。この一般的なステップは通常、高品質な指示と応答を含むデータセットでの監視付き微調整(SFT)によって行われます。ただし、教師言語モデルが利用可能な場合、モデルは直接指示と応答を生成できるため、このプロセスは蒸留されたSFT(dSFT)と呼ばれます。

2. 選好を通じたAIフィードバック(AIF):言語モデルを向上させるために人間のフィードバックを活用します。従来、人間のフィードバックはモデルの応答の品質を評価する選好を介して収集されます。蒸留の文脈では、教師モデルのAI選好を使用して、他のモデルが生成した出力を評価します。

3. 蒸留直接選好最適化(dDPO):dSFTモデルを最適化するために、優先される応答を優先されないものよりも順位付けする確率を最大化することを目指します。これは、報酬関数によって定義された選好モデルを使用することで実現されます。従来のAIフィードバックを使用したアプローチでは、プロキシマルポリシーオプティマイゼーション(PPO)などの強化学習手法を主に使用してモデルパラメータをこの報酬関数に対して最適化します。これらの手法では、報酬関数を最初にトレーニングし、現在のポリシーからサンプリングして更新を生成することが一般的です。

ZEPHYR-7Bの使用方法

ZEPHYR-7BはHuggingFaceのtransformersライブラリを使って非常にシンプルなインターフェースで利用することができます。ZEPHYR-7Bを実行するためには、ライブラリのpipeline()関数を呼び出すだけです。

# Install transformers from source - only needed for versions <= v4.34# pip install git+https://github.com/huggingface/transformers.git# pip install accelerateimport torchfrom transformers import pipelinepipe = pipeline("text-generation", model="HuggingFaceH4/zephyr-7b-alpha", 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_templatingmessages = [    {        "role": "system",        "content": "あなたはいつも海賊のスタイルで応答するフレンドリーなチャットボットです",    },    {"role": "user", "content": "一度に人間はヘリコプターを何機食べることができるのでしょうか?"},]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|># あなたはいつも海賊のスタイルで応答するフレンドリーなチャットボットです。</s># <|user|># 一度に人間はヘリコプターを何機食べることができるのでしょうか?</s># <|assistant|># あぁ、めの仲間よ!だがお前の質問は難問だな!人間はヘリコプターを一度に食べることはできないよ、なぜならヘリコプターは食べられないものだ。それは金属やプラスチックなどの材料でできていて、食べ物ではないのだ!

結果

Hugging FaceのZEPHYR-7Bの主な評価は、モデルが指示に従い、異なるドメインで複雑なプロンプトに応答する能力を計測するシングルターンとマルチターンのチャットベンチマークに焦点を当てています。

1. MT-Bench:このマルチターンのベンチマークは、8つの異なる知識領域を含む160の質問からなります。MT-Benchでは、モデルは最初の質問に回答し、その後に事前に定義された質問に対して追加の応答を提供するという課題に直面します。各モデルの応答の品質は、GPT-4によって1から10のスケールで評価されます。最終的なスコアは、2つのターン上の平均評価から導き出されます。

2. AlpacaEval:一方、AlpacaEvalはシングルターンのベンチマークであり、モデルにはさまざまなトピックを含む805の質問に対して回答を生成することが求められます。GPT-4もこれらモデルの応答を評価します。ただし、最終的なメトリックは基準モデルとの対戦勝率です。

これらのベンチマークに加えて、Hugging FaceはZEPHYR-7Bの性能をOpen LLM Leaderboardで評価しています。このリーダーボードは、ARC、HellaSwag、MMLU、およびTruthful QAを含む4つのマルチクラス分類タスクにおける言語モデルを評価するために設計されています。各タスクは独自の課題を提示し、モデルが分類性能に優れる必要があります。

結果は非常に印象的でした:

ZEPHYR-7Bは、高度に特化したタスクに向けた小型で高性能なLLMには場所があることを大きな妥当性を示しています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「人工知能対応IoTシステムのための継続的インテグレーションと継続的デプロイメント(CI/CD)」

CI/CDは、IoTにおけるAIにとって重要ですバージョン管理、テスト、コンテナ、モニタリング、セキュリティは、信頼性のある展...

データサイエンス

Generating AI(AIを生成する) vs マシンラーニング(機械学習):区別の解読

「ジェネラティブAIと機械学習を使ってデータ駆動型の意思決定の世界を探検しましょうデータ変換におけるそれぞれの違いと役...

機械学習

AIパワードテックカンパニーが、食品小売業者に供給チェーン管理での新たなスタートを支援します

低く垂れ下がっている果物について話しましょう。Afreshは、食品ロスを減らすために供給チェーンを効率化するAIスタートアッ...

人工知能

「先延ばしハック:ChatGPTを使ってプロジェクトをビデオゲームに変える」

「あなたのやるべきことリストを、ドーパミンが絶えず放出されるワクワクするビデオゲームに変えましょう」

人工知能

AIが置き換えることができない仕事

はじめに サイバーノートであろうとそうでなかろうと、おそらく「AIが置き換えることのできない仕事」の議論を聞いたことがあ...

データサイエンス

コンテンツモデレーションからゼロショット分類へ

もし、追加情報や文脈がない小さなテキストを分析し、自分自身のデータを定義するために最も妥当なラベルを取得したい場合、...