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.
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-β, 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.
Image de Zephyr Chat
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.)
!pip install -q -U transformers !pip install -q -U accelerate !pip install -q -U bitsandbytes
import torch from transformers import pipeline
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", )
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"])
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"])
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.)
!pip install -q -U transformers !pip install -q -U accelerate !pip install -q -U bitsandbytes
import torch from transformers import pipeline
Secrets de Kaggle (pour les ordinateurs portables de Kaggle): Récupérer les touches API face et poids et biais.
é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", )
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"])
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"])
%%capture %pip install -U bitsandbytes %pip install -U transformers %pip install -U peft %pip install -U accelerate %pip install -U trl
# ... (Import statements as in original tutorial) ...
!huggingface-cli login --token $secret_hf # ... (wandb login as in original tutorial) ...
base_model = "HuggingFaceH4/zephyr-7b-beta" dataset_name = "THUDM/AgentInstruct" new_model = "zephyr-7b-beta-Agent-Instruct"
# ... (format_prompt function and dataset loading as in original tutorial) ...
# ... (bnb_config and model loading as in original tutorial) ...
# ... (tokenizer loading and configuration as in original tutorial) ...
# ... (peft_config and model preparation as in original tutorial) ...
Testez les performances du modèle avec diverses invites. Des exemples sont fournis dans le tutoriel d'origine.
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!