Ajustement précis avec TorchTune

Ajustement fin avec Llama 3

Francesca Donadoni

Curriculum Manager, DataCamp

Les composantes de l'ajustement précis avec TorchTune

  • Modèle

    • Définit l'architecture et les poids préentraînés à ajuster
    • Différentes versions et tailles (nombre de paramètres)
  • Ensemble de données

    • Précise les données utilisées pour l'entraînement
  • Recette

    • Fichier de configuration central qui combine modèle, données et paramètres d'entraînement
    • Assure la constance et la reproductibilité

Modèle

Ensemble de données

Recette

Ajustement fin avec Llama 3

Les composantes de l'ajustement précis avec TorchTune

  • Modèle

    • !tune ls
      llama3/8B_full
      llama3_1/8B_full
      llama3_2/1B_full ...
      
  • Ensemble de données

    • ds.save_to_disk("new_dataset")
  • Recette

    • custom_recipe.yaml

Modèle

Ensemble de données

Recette

Ajustement fin avec Llama 3

Les composantes d'une recette TorchTune

  • Paramètres généraux et répertoire de sortie
    • Taille de lot, appareil et époques

 

  • Modèle
    • Précise l'architecture et la configuration du modèle

 

  • Optimiseur

    • Inclut le taux d'apprentissage
  • Ensemble de données

    • Définit le prétraitement et le chemin des données
batch_size: 4
device: cuda
epochs: 20
output_dir: /tmp/full-llama3.2-finetune

model:
  _component_: 
      torchtune.models.llama3_2.llama3_2_1b

optimizer:
  _component_: bitsandbytes.optim.PagedAdamW8bit
  lr: 2.0e-05

dataset:
  _component_: torchtune.datasets.alpaca_dataset
Ajustement fin avec Llama 3

Configurer des recettes TorchTune

  • Plus de paramètres disponibles
  • Configurable en Python avec yaml
import yaml

config_dict = {"batch_size": 4, "device": "cuda", "model": { "_component_": "torchtune.models.llama3_2.llama3_2_1b" }, ... }
yaml_file_path = "custom_recipe.yaml" with open(yaml_file_path, "w") as yaml_file: yaml.dump(config_dict, yaml_file)
Ajustement fin avec Llama 3

Exécuter un ajustement précis personnalisé

tune run --config custom_recipe.yaml
INFO:torchtune.utils.logging:Running 
Writing logs to /tmp/full-llama3.2-finetune/log_1732815689.txt
INFO:torchtune.utils.logging:Model is initialized with precision torch.bfloat16.
INFO:torchtune.utils.logging:Tokenizer is initialized from file.
1|52|Loss: 2.3697006702423096:   0%|▏                     | 52/25880
  • Journaux enregistrés
  • Initialisation réussie
  • Progression des époques et des étapes
  • Mesures de perte (loss)
Ajustement fin avec Llama 3

Passons à la pratique !

Ajustement fin avec Llama 3

Preparing Video For Download...