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
Libérer: 2025-03-08 09:55:11
original
671 Les gens l'ont consulté

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
Copier après la connexion
Copier après la connexion
  1. Bibliothèques d'importation:
import torch
from transformers import pipeline
Copier après la connexion
Copier après la connexion
  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",
)
Copier après la connexion
Copier après la connexion
  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"])
Copier après la connexion
Copier après la connexion

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"])
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
Copier après la connexion
  1. Modules d'importation:
import torch
from transformers import pipeline
Copier après la connexion
Copier après la connexion
  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",
)
Copier après la connexion
Copier après la connexion

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"])
Copier après la connexion
Copier après la connexion

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"])
Copier après la connexion
Copier après la connexion

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
Copier après la connexion
  1. Tokenizer de chargement:
# ... (Import statements as in original tutorial) ...
Copier après la connexion
  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) ...
Copier après la connexion

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"
Copier après la connexion
  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) ...
Copier après la connexion
  1. Commencer la formation:
# ... (bnb_config and model loading as in original tutorial) ...
Copier après la connexion

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) ...
Copier après la connexion
  1. Poussez pour étreindre Hub Face:
# ... (peft_config and model preparation as in original tutorial) ...
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal