ホームページ >テクノロジー周辺機器 >AI >Zephyr-7Bの包括的なガイド:機能、使用、微調整

Zephyr-7Bの包括的なガイド:機能、使用、微調整

Jennifer Aniston
Jennifer Anistonオリジナル
2025-03-08 09:55:11674ブラウズ

Zephyr-7Bを探索:強力なオープンソースLLM

Openai LLMリーダーボードは、GPT-4のライバルを目指した新しいオープンソースモデルで賑わっており、Zephyr-7Bは傑出した候補です。このチュートリアルでは、WebPilot.aiのこの最先端の言語モデルを調査し、トランスフォーマーパイプラインでの使用とエージェントインストラクションデータセットでの微調整を示しています。 AIは初めてですか? AIの基礎スキルトラックは素晴らしい出発点です。

Zephyr-7b

を理解しています Zephyrシリーズの一部である

Zephyr-7Bは、役立つアシスタントとして機能するように訓練されています。その強みは、コヒーレントテキストの生成、言語の翻訳、情報の要約、センチメント分析、およびコンテキスト認識の質問にあります。

Zephyr-7B-β:微調整されたマーベル

シリーズの2番目のモデルであるZephyr-7B-βは、微調整されたMistral-7Bモデルです。 公共および合成データセットのブレンドで直接優先最適化(DPO)を使用してトレーニングされ、複雑なクエリの解釈と長いテキストの要約に優れています。 そのリリースでは、MTベンチとアルパカエバルのベンチマークの7Bチャットモデルの中でトップの地位を保持しました。 Zephyr Chatで無料のデモでその機能をテストします。

Zephyr Chatの画像

フェイストランスを抱きしめてZephyr-7Bにアクセス

このチュートリアルでは、簡単にアクセスできるようにフェイストランスを抱き締めます。 (読み込みの問題に遭遇した場合は、推論Kaggleノートブックを参照してください。)

ライブラリをインストール:

最新のバージョンがあることを確認してください:

  1. インポートライブラリ:
!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes
  1. パイプラインの作成:
は、より高速な生成のために複数のGPUを使用します。
import torch
from transformers import pipeline
は、計算の速度とメモリの使用量の減少を提供します(ただし、精度がわずかに低く)。
  1. device_map="auto"テキストの生成:torch.bfloat16以下の例は、Pythonコードの生成を示しています
model_name = "HuggingFaceH4/zephyr-7b-beta"

pipe = pipeline(
    "text-generation",
    model=model_name,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
  1. システムのプロンプト:
Zephyr-7Bスタイルのシステムプロンプトを使用して応答をカスタマイズします:
prompt = "Write a Python function that can clean the HTML tags from the file:"

outputs = pipe(
    prompt,
    max_new_tokens=300,
    do_sample=True,
    temperature=0.7,
    top_k=50,
    top_p=0.95,
)
print(outputs[0]["generated_text"])

Comprehensive Guide to Zephyr-7B: Features, Usage, and Fine-tuning

  1. カスタムデータセットで微調整するZephyr-7B このセクションでは、Kaggleの無料GPU(約2時間)を使用して、カスタムデータセットで微調整するZephyr-7B-betaをガイドします。 (トラブルシューティングについては、微調整されたKaggleノートブックを参照してください。)

    環境のセットアップと準備

    1. ライブラリをインストール:
    !pip install -q -U transformers
    !pip install -q -U accelerate
    !pip install -q -U bitsandbytes
    1. インポートモジュール:
    import torch
    from transformers import pipeline
    1. Kaggle Secrets(Kaggle Notebooksの場合):ハグの顔と重量とバイアスAPIキーを取得します。

    2. 顔と重量とバイアスの抱きしめログイン:

    model_name = "HuggingFaceH4/zephyr-7b-beta"
    
    pipe = pipeline(
        "text-generation",
        model=model_name,
        torch_dtype=torch.bfloat16,
        device_map="auto",
    )

    Comprehensive Guide to Zephyr-7B: Features, Usage, and Fine-tuning

    1. モデル名とデータセット名を定義します:
    prompt = "Write a Python function that can clean the HTML tags from the file:"
    
    outputs = pipe(
        prompt,
        max_new_tokens=300,
        do_sample=True,
        temperature=0.7,
        top_k=50,
        top_p=0.95,
    )
    print(outputs[0]["generated_text"])
    AgentInStruct DataSet Processing

    関数は、データセットをZephyr-7Bのプロンプトスタイルに適応させます。 format_prompt

    messages = [
        {
            "role": "system",
            "content": "You are a skilled software engineer who consistently produces high-quality Python code.",
        },
        {
            "role": "user",
            "content": "Write a Python code to display text in a star pattern.",
        },
    ]
    
    prompt = pipe.tokenizer.apply_chat_template(
        messages, tokenize=False, add_generation_prompt=True
    )
    
    outputs = pipe(
        prompt,
        max_new_tokens=300,
        do_sample=True,
        temperature=0.7,
        top_k=50,
        top_p=0.95,
    )
    print(outputs[0]["generated_text"])

    Comprehensive Guide to Zephyr-7B: Features, Usage, and Fine-tuning モデルの読み込みと準備

    4ビット精度のロードモデル:

    これは、vRAMが限られているGPUでの効率的なトレーニングに不可欠です。
    1. ロードトークイザー:
    %%capture
    %pip install -U bitsandbytes
    %pip install -U transformers
    %pip install -U peft
    %pip install -U accelerate
    %pip install -U trl
    1. アダプターレイヤーの追加(PEFT):
    これにより、アダプターレイヤーのパラメーターのみを更新することで効率的な微調整が可能になります。
    # ... (Import statements as in original tutorial) ...
    1. モデルのトレーニング
    トレーニングの議論:
    !huggingface-cli login --token $secret_hf
    # ... (wandb login as in original tutorial) ...
    HyperParametersを構成します(詳細については、微調整Llama 2チュートリアルを参照してください)。

    1. sftトレーナー:hugging hugging faceのTRLライブラリを使用してトレーナーを作成します。
    base_model = "HuggingFaceH4/zephyr-7b-beta"
    dataset_name = "THUDM/AgentInstruct"
    new_model = "zephyr-7b-beta-Agent-Instruct"
    1. トレーニングを開始:
    # ... (format_prompt function and dataset loading as in original tutorial) ...
    1. 微調整されたモデルの保存と展開
    # ... (bnb_config and model loading as in original tutorial) ...

    モデルを保存:Comprehensive Guide to Zephyr-7B: Features, Usage, and Fine-tuning Comprehensive Guide to Zephyr-7B: Features, Usage, and Fine-tuning

    1. 顔のハブを抱き締めるへのプッシュ:
    # ... (tokenizer loading and configuration as in original tutorial) ...
    1. 微調整されたモデルのテスト
    さまざまなプロンプトでモデルのパフォーマンスをテストします。例は、元のチュートリアルで提供されています。
    # ... (peft_config and model preparation as in original tutorial) ...

    Comprehensive Guide to Zephyr-7B: Features, Usage, and Fine-tuning Comprehensive Guide to Zephyr-7B: Features, Usage, and Fine-tuning

    結論

    Zephyr-7b-betaは印象的な能力を示しています。このチュートリアルは、リソースに制約のあるGPUでさえ、この強力なLLMを利用および微調整するための包括的なガイドを提供します。 より深いLLM知識のためのマスターラージランゲージモデル(LLMS)コンセプトコースを検討してください。

以上がZephyr-7Bの包括的なガイド:機能、使用、微調整の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。