Maison >Périphériques technologiques >IA >Guide complet de Zephyr-7b: fonctionnalités, utilisation et réglage fin

Guide complet de Zephyr-7b: fonctionnalités, utilisation et réglage fin

Jennifer Aniston
Jennifer Anistonoriginal
2025-03-08 09:55:11674parcourir

Explorez Zephyr-7b: un puissant LLM open-source

Le classement Openai LLM bourdonne de nouveaux modèles open source visant à rivaliser avec GPT-4, et Zephyr-7b est un concurrent hors concours. Ce didacticiel explore ce modèle de langue de pointe à partir de WebPilot.ai, démontrant son utilisation avec le pipeline Transformers et affinage sur un ensemble de données d'agent-instructeur. Nouveau sur l'IA? La piste de compétences fondamentales de l'IA est un excellent point de départ.

Comprendre Zephyr-7b

Zephyr-7b, qui fait partie de la série Zephyr, est formé pour fonctionner comme un assistant utile. Ses forces résident dans la génération de texte cohérent, la traduction des langues, le résumé des informations, l'analyse des sentiments et la réponse aux questions contextuelles.

Zephyr-7b-β: une Marvel affinée

Zephyr-7b-β, le deuxième modèle de la série, est un modèle Mistral-7B affiné. Formé en utilisant l'optimisation des préférences directes (DPO) sur un mélange d'ensembles de données publics et synthétiques, il excelle dans l'interprétation de requêtes complexes et la résumé de textes longs. À sa sortie, il a tenu la première place parmi les modèles de chat 7B sur MT-Bench et les repères alpacaval. Testez ses capacités avec la démo gratuite sur Zephyr Chat.

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

Image de Zephyr Chat

Accès à Zephyr-7b avec des transformateurs de face étreintes

Ce tutoriel utilise des transformateurs de visage étreintes pour un accès facile. (Si vous rencontrez des problèmes de chargement, consultez le carnet de Kaggle inférence.)

  1. Installez les bibliothèques: Assurez-vous d'avoir les dernières versions:
!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes
  1. Bibliothèques d'importation:
import torch
from transformers import pipeline
  1. Créer un pipeline: Le device_map="auto" utilise plusieurs GPU pour une génération plus rapide. torch.bfloat16 offre un calcul plus rapide et une utilisation réduite de la mémoire (mais avec une précision légèrement inférieure).
model_name = "HuggingFaceH4/zephyr-7b-beta"

pipe = pipeline(
    "text-generation",
    model=model_name,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
  1. Générer du texte: L'exemple ci-dessous montre la génération de code python.
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. Invites système: Personnaliser les réponses avec les invites du système de style Zephyr-7b:
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

Fonction de Zephyr-7b sur un ensemble de données personnalisé

Cette section vous guide à travers le réglage fin Zephyr-7B-Beta sur un ensemble de données personnalisé à l'aide des GPU gratuits de Kaggle (environ 2 heures). (Voir le cahier Kaggle à réglage fin pour le dépannage.)

Configuration et préparation de l'environnement

  1. Installez les bibliothèques:
!pip install -q -U transformers
!pip install -q -U accelerate
!pip install -q -U bitsandbytes
  1. Modules d'importation:
import torch
from transformers import pipeline
  1. Secrets de Kaggle (pour les ordinateurs portables de Kaggle): Récupérer les touches API face et poids et biais.

  2. étreindre le visage et les poids et les biais Connexion:

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. Définir les noms du modèle et de l'ensemble de données:
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"])

Traitement de l'ensemble de données d'agentInstruct

La fonction format_prompt adapte l'ensemble de données au style invite de Zephyr-7b.

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

Chargement et préparation du modèle

  1. Modèle de charge avec précision 4 bits: Ceci est crucial pour une formation efficace sur les GPU avec VRAM limité.
%%capture
%pip install -U bitsandbytes
%pip install -U transformers
%pip install -U peft
%pip install -U accelerate
%pip install -U trl
  1. Tokenizer de chargement:
# ... (Import statements as in original tutorial) ...
  1. Ajouter une couche d'adaptateur (PEFT): Cela permet un réglage fin efficace en mettant uniquement à la mise à jour les paramètres dans la couche d'adaptateur.
!huggingface-cli login --token $secret_hf
# ... (wandb login as in original tutorial) ...

Formation du modèle

  1. Arguments de formation: Configurer des hyperparamètres (reportez-vous au tutoriel Fine-Tuning Llama 2 pour plus de détails).
base_model = "HuggingFaceH4/zephyr-7b-beta"
dataset_name = "THUDM/AgentInstruct"
new_model = "zephyr-7b-beta-Agent-Instruct"
  1. Sft Trainer: Utilisez la bibliothèque TRL de l'étreinte pour créer l'entraîneur.
# ... (format_prompt function and dataset loading as in original tutorial) ...
  1. Commencer la formation:
# ... (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

Économie et déploiement du modèle affiné

  1. Enregistrez le modèle:
# ... (tokenizer loading and configuration as in original tutorial) ...
  1. Poussez pour étreindre Hub Face:
# ... (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

Tester le modèle affiné

Testez les performances du modèle avec diverses invites. Des exemples sont fournis dans le tutoriel d'origine.

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

Conclusion

Zephyr-7B-Beta présente des capacités impressionnantes. Ce tutoriel fournit un guide complet pour utiliser et affiner ce puissant LLM, même sur des GPU à base de ressources. Considérez le cours des concepts des modèles de grande langue maître (LLMS) pour les connaissances LLM plus profondes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn