Les bibliothèques d'affinage de Llama

Ajustement fin avec Llama 3

Francesca Donadoni

Curriculum Manager, DataCamp

Quand utiliser l'affinage

  • Modèle préentraîné
  • Utilise des données spécialisées

Un ou une ingénieur(e) en IA observant une représentation des paramètres d'un modèle.

  • Améliorer la précision
  • Réduire les biais
  • Enrichir la base de connaissances
Ajustement fin avec Llama 3

Comment utiliser l'affinage

  • Qualité des données
  • Capacité du modèle
  • Définition de la tâche

 

  • Processus d'affinage

La boucle d'entraînement. L'entraînement produit un modèle affiné. L'évaluation se fait avec le modèle affiné et un ensemble de données d'évaluation.

Ajustement fin avec Llama 3

Comment utiliser l'affinage

  • Qualité des données
  • Capacité du modèle
  • Définition de la tâche

 

  • Processus d'affinage

La boucle d'entraînement. Un ensemble d'entraînement lance l'entraînement, qui produit un modèle affiné. L'évaluation se fait avec le modèle affiné et un ensemble d'évaluation.

Ajustement fin avec Llama 3

Comment utiliser l'affinage

  • Qualité des données
  • Capacité du modèle
  • Définition de la tâche

 

  • Processus d'affinage

La boucle d'entraînement. Un ensemble d'entraînement, un modèle et un tokenizeur amorcent l'entraînement, qui produit un modèle affiné. L'évaluation se fait avec le modèle affiné et un ensemble d'évaluation.

Ajustement fin avec Llama 3

Comment utiliser l'affinage

  • Qualité des données
  • Capacité du modèle
  • Définition de la tâche

 

  • Processus d'affinage

La boucle d'entraînement. Un ensemble d'entraînement, des paramètres, un modèle et un tokenizeur amorcent l'entraînement, qui produit un modèle affiné. L'évaluation se fait avec le modèle affiné et un ensemble d'évaluation.

Ajustement fin avec Llama 3

Comment utiliser l'affinage

  • Qualité des données
  • Capacité du modèle
  • Définition de la tâche

 

  • Processus d'affinage
  • Nouveau modèle
  • Évaluation

La boucle d'entraînement. Un ensemble d'entraînement, des paramètres, un modèle, un tokenizeur et une classe d'affinage amorcent l'entraînement, qui produit un modèle affiné. L'évaluation se fait avec le modèle affiné et un ensemble d'évaluation.

Ajustement fin avec Llama 3

Les bibliothèques d'affinage de Llama

 

  • 📚 Plusieurs bibliothèques pour l'affinage

 

  • 🦙 TorchTune pour affiner Llama

 

  • 🚀 Lancer une tâche d'affinage avec TorchTune
Ajustement fin avec Llama 3

Options pour l'affinage de Llama

  • TorchTune
    • Fondé sur des gabarits configurables
    • Idéal pour : monter en échelle rapidement

Une icône d'horloge représentant l'expérimentation rapide.

  • SFTTrainer de Hugging Face
    • Accès à d'autres LLM
    • Idéal pour : affiner plusieurs modèles

Une icône représentant plusieurs modèles.

  • Unsloth
    • Utilisation efficace de la mémoire
    • Idéal pour : matériel limité

Une icône représentant du matériel CPU.

  • Axolotl
    • Approche modulaire
    • Idéal pour : sans reconfiguration majeure

Une icône d'un engrenage et d'une main représentant une configuration.

Ajustement fin avec Llama 3

TorchTune et les recettes d'affinage

 

 

  • Recettes TorchTune :

    • Gabarits modulaires
    • Configurables pour s'adapter à divers projets
    • Gardent le code organisé
    • Assurent la reproductibilité

Une illustration d'une soupe en préparation pour illustrer la notion de recette.

Ajustement fin avec Llama 3

Liste TorchTune

 

  • Exécuter depuis un terminal
  • Environnement avec Python
  • Installer TorchTune
    pip3 install torchtune
    
  • Lister les recettes disponibles

    tune ls
    
  • ! si vous utilisez IPython

    !tune ls
    
Ajustement fin avec Llama 3

Liste TorchTune

!tune ls
  • Résultat :
RECIPE                                   CONFIG                                  
full_finetune_single_device              llama3/8B_full_single_device            
                                         llama3_1/8B_full_single_device          
                                         llama3_2/1B_full_single_device          
                                         llama3_2/3B_full_single_device       
full_finetune_distributed                llama3/8B_full                          
                                         llama3_1/8B_full                        
                                         llama3_2/1B_full                          
                                         ...
Ajustement fin avec Llama 3

Exécution TorchTune

 

  • Utiliser recette + --config + configuration
  • Lancer l'affinage

    tune run full_finetune_single_device --config \
    llama3_1/8B_lora_single_device
    
  • Paramètres device=cpu ou device=cuda

  • epochs=<int> (<int> est 0 ou un entier positif)
Ajustement fin avec Llama 3

Passons à la pratique !

Ajustement fin avec Llama 3

Preparing Video For Download...