Maison >Périphériques technologiques >IA >Affineur lama 3.2 et l'utiliser localement: un guide étape par étape

Affineur lama 3.2 et l'utiliser localement: un guide étape par étape

William Shakespeare
William Shakespeareoriginal
2025-03-03 10:30:12820parcourir

Déverrouiller la puissance de Llama 3.2: un guide complet pour le réglage fin et le déploiement local

Le paysage des modèles de grands langues (LLMS) évolue rapidement, en mettant l'accent sur des modèles plus petits et plus efficaces. LLAMA 3.2, avec ses variations de modèle léger et de vision, illustre cette tendance. Ce tutoriel détaille comment tirer parti des capacités de Llama 3.2, en particulier le modèle léger 3B, pour un réglage fin sur un ensemble de données d'assistance client et un déploiement local ultérieur à l'aide de l'application Jan.

Avant de plonger, les débutants sont fortement encouragés à terminer un cours fondamental de l'IA pour saisir les bases des LLM et de l'IA générative

Fine-tuning Llama 3.2 and Using It Locally: A Step-by-Step Guide

Image par auteur

Explorer les modèles LLAMA 3.2

LLAMA 3.2 propose deux familles de modèles: légers et vision. Les modèles légers excellent dans la génération multilingue de texte et l'utilisation des outils, idéal pour les environnements liés aux ressources. Les modèles de vision, en revanche, se spécialisent dans le raisonnement d'image et les tâches multimodales.

modèles légers

La famille légère comprend des variantes de paramètres 1B et 3B. Leur taille compacte permet le traitement sur les appareils, assurant la confidentialité des données et la génération de texte rapide et rentable. Ces modèles utilisent l'élagage et la distillation des connaissances pour l'efficacité et les performances. Le modèle 3B dépasse les concurrents comme GEMMA 2 et PHI 3,5 min dans des tâches telles que l'instruction suivante et le résumé.

Fine-tuning Llama 3.2 and Using It Locally: A Step-by-Step Guide

Source: Llama 3.2: Revolutioning Edge AI et Vision avec des modèles ouverts et personnalisables

Modèles de vision

Les modèles de vision (paramètres 11b et 90b) sont conçus pour le raisonnement d'image, capable d'interpréter des documents et des graphiques. Leurs capacités multimodales découlent de l'intégration d'encodeurs d'images pré-formés avec des modèles de langage. Ils surpassent Claude 3 Haiku et GPT-4O Mini dans les tâches de compréhension visuelle.

Fine-tuning Llama 3.2 and Using It Locally: A Step-by-Step Guide

Source: Llama 3.2: Revolutioning Edge AI et Vision avec des modèles ouverts et personnalisables

Pour plus de renseignements sur l'architecture, les repères et les fonctionnalités de sécurité de Llama 3.2 (Llama Guard 3), reportez-vous au Guide officiel de LLAMA 3.2.

Accès à Llama 3.2 sur Kaggle

Bien que Llama 3.2 soit open-source, l'accès nécessite d'accepter les termes et conditions. Voici comment y accéder via Kaggle:

  1. Visitez lama.com, remplissez le formulaire d'accès, en sélectionnant à la fois des modèles légers et de vision.
  2. Accédez à la méta | Page de modèle LLAMA 3.2 sur Kaggle et soumettez le formulaire.
  3. Acceptez les termes et conditions.
  4. attendre l'option de création du cahier. Sélectionnez l'onglet Transformers, choisissez votre variante de modèle et créez un nouveau ordinateur portable.
  5. Configurez l'accélérateur en "GPU T4 X2".
  6. Mettez à jour les packages transformers et accelerate en utilisant %pip install -U transformers accelerate.

Les étapes suivantes impliquent le chargement du tokenizer et du modèle à l'aide de la bibliothèque transformers, spécifiant le répertoire de modèle local, définissant pad_token_id, créant un pipeline de génération de texte et exécutant l'inférence avec les invites personnalisées. Des exemples de code détaillés sont fournis dans le cahier Kaggle qui l'accompagne. Des étapes similaires s'appliquent à l'accès aux modèles de vision LLAMA 3.2, bien que les exigences du GPU soient nettement plus élevées.

LALAME DE TUN FINE 3.2 3B Instruct

Cette section vous guide à travers le réglage fin du modèle d'instruct de LLAMA 3.2 3B sur un ensemble de données de support client à l'aide de la bibliothèque transformers et du Qlora pour une formation efficace.

Configuration

  1. Lancez un nouvel ordinateur portable Kaggle et définissez des variables d'environnement pour étreindre l'accès à la face et aux poids et biais (WANDB).
  2. Installez les packages nécessaires: transformers, datasets, accelerate, peft, trl, bitsandbytes, et wandb.
  3. Connectez-vous au visage étreint et WandB en utilisant vos clés API.
  4. Définir les variables pour le modèle de base, le nouveau nom du modèle et le nom de l'ensemble de données.

Chargement du modèle et du tokenizer

  1. Déterminez les torch_dtype et attn_implementation appropriés en fonction de vos capacités de GPU.
  2. Chargez le modèle en utilisant BitsAndBytesConfig pour la quantification 4 bits pour minimiser l'utilisation de la mémoire.
  3. Chargez le tokenzer.

Chargement et traitement de l'ensemble de données

  1. Chargez le bitext/Bitext-customer-support-llm-chatbot-training-dataset.
  2. Mélanger et sélectionner un sous-ensemble des données (par exemple, 1000 échantillons pour une formation plus rapide).
  3. Créez une colonne "texte" en combinant les instructions système, les requêtes utilisateur et les réponses assistantes dans un format de chat à l'aide de la méthode apply_chat_template du tokenizer.

Configuration du modèle

  1. Identifier tous les noms de modules linéaires à l'aide d'une fonction d'assistance.
  2. Configurer LORA en utilisant LoraConfig pour affiner uniquement les modules spécifiques.
  3. Configurez le TrainingArguments avec des hyperparamètres appropriés pour une formation efficace sur Kaggle.
  4. Créez une instance SFTTrainer, fournissant le modèle, l'ensemble de données, la configuration LORA, les arguments de formation et le tokenizer.

Formation du modèle

former le modèle en utilisant trainer.train(). Surveiller la formation et la perte de validation à l'aide de Wandb.

Inférence du modèle

Testez le modèle affiné avec des échantillons d'invites à partir de l'ensemble de données.

Sauver le modèle

Enregistrez localement le modèle affiné et poussez-le vers le moyeu de face étreint.

fusion et exportation du modèle affiné

Cette section détaille la fusion de l'adaptateur LORA affiné avec le modèle de base et l'exportant vers le centre de visage étreint. Il s'agit de charger le modèle de base et l'adaptateur LORA, en les fusionnant en utilisant PeftModel.from_pretrained et model.merge_and_unload(), puis en économisant et en poussant le modèle fusionné vers le hub.

Conversion en GGUF et déploiement local

Enfin, le didacticiel explique la conversion du modèle fusionné au format GGUF à l'aide de l'outil GGUF mon référentiel sur la face étreinte et le déploiement localement à l'aide de l'application Jan. Cela consiste à télécharger le fichier GGUF, à l'importer en janvier et à configurer l'invite système et à arrêter les jetons pour des performances optimales.

Conclusion

Fonction des LLMS plus petits offre une approche rentable et efficace pour personnaliser des modèles pour des tâches spécifiques. Ce tutoriel fournit un guide pratique pour exploiter les capacités de Llama 3.2, de l'accès et du réglage fin au déploiement local, permettant aux utilisateurs de créer et de déployer des solutions d'IA personnalisées. N'oubliez pas de consulter les ordinateurs portables Kaggle qui l'accompagnent pour des exemples de code détaillés.

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