For the complete documentation index, see llms.txt. This page is also available as Markdown.

Fine-tuning universel Axolotl

Fine-tuning de LLM piloté par YAML avec Axolotl sur Clore.ai — LoRA, QLoRA, DPO, multi-GPU

Axolotl enveloppe HuggingFace Transformers, PEFT, TRL et DeepSpeed dans une interface unique pilotée par YAML. Vous définissez votre modèle, votre jeu de données, votre méthode d’entraînement et vos hyperparamètres dans un seul fichier de configuration — puis vous lancez tout avec une seule commande. Aucun script Python requis pour les flux de travail standard.

Caractéristiques clés

  • Configuration uniquement en YAML — définissez tout dans un seul fichier, pas besoin de Python

  • Toutes les méthodes d’entraînement — LoRA, QLoRA, fine-tuning complet, DPO, ORPO, KTO, RLHF

  • Multi-GPU prêt à l’emploi — DeepSpeed ZeRO 1/2/3 et FSDP avec un seul drapeau

  • Empaquetage d’exemples — concaténez de courts exemples pour remplir la longueur de séquence, gain de débit de 3 à 5×

  • Flash Attention 2 — économies automatiques de VRAM sur le matériel pris en charge

  • Prise en charge étendue des modèles — Llama 3.x, Mistral, Qwen 2.5, Gemma 2, Phi-4, DeepSeek, Falcon

  • Formats de jeux de données intégrés — alpaca, sharegpt, chat_template, completion et personnalisé

Exigences

Composant
Minimum
Recommandé

GPU

RTX 3060 12 GB

RTX 4090 24 Go (×2+)

VRAM

12 Go

24+ Go

RAM

16 Go

64 Go

Disque

50 Go

100 Go

CUDA

12.8+

12.8+

Python

3.10

3.11

Tarification Clore.ai : RTX 4090 ≈ 0,14–0,42 $/h · RTX 3090 ≈ 0,07–0,21 $/h · RTX 3060 ≈ 0,03–0,07 $/h

Démarrage rapide

1. Installez Axolotl

Ou utilisez l’image Docker (recommandé pour la reproductibilité) :

2. Créez un fichier de configuration

Enregistrez ceci sous config.yml:

3. Lancez l’entraînement

La progression de l’entraînement est journalisée sur stdout et éventuellement dans Weights & Biases.

Plongée approfondie dans la configuration

Formats de jeux de données

Axolotl prend en charge nativement plusieurs formats d’entrée :

Multi-GPU avec DeepSpeed

Créez un fichier deepspeed_zero2.json:

Ajoutez à votre configuration :

Puis lancez :

Alignement DPO / ORPO

Fine-tuning complet (sans LoRA)

Exemples d'utilisation

Inférence après l’entraînement

Fusionner LoRA dans le modèle de base

Prétraiter le jeu de données (valider avant l’entraînement)

Cela tokenize et valide le jeu de données. Utile pour détecter les erreurs de format avant une longue session d’entraînement.

Référence d’utilisation de la VRAM

Modèle
Méthode
GPU
VRAM/GPU
Configuration

Llama 3.1 8B

QLoRA 4 bits

1

~12 Go

r=32, seq_len=2048

Llama 3.1 8B

LoRA 16 bits

1

~20 Go

r=16, seq_len=2048

Llama 3.1 8B

Complet

2

~22 Go

DeepSpeed ZeRO-3

Qwen 2.5 14B

QLoRA 4 bits

1

~16 GB

r=16, seq_len=2048

Llama 3.3 70B

QLoRA 4 bits

2

~22 Go

r=16, seq_len=2048

Llama 3.3 70B

Complet

4

~40 Go

DeepSpeed ZeRO-3+offload

Conseils

  • Toujours activer sample_packing: true — le plus grand gain de débit (3–5× sur les jeux de données courts)

  • Utilisez flash_attention: true sur les GPU Ampere+ pour économiser 20 à 40 % de VRAM

  • Commencez avec QLoRA pour les expérimentations, passez au fine-tuning complet uniquement lorsque la qualité de LoRA stagne

  • Définissez val_set_size: 0.02 pour surveiller le surapprentissage pendant l’entraînement

  • Prétraitez d’abord — exécutez axolotl.cli.preprocess pour valider le formatage des données avant de lancer une exécution longue

  • Utilisez l’image Docker pour des environnements reproductibles — évite les conflits de dépendances

  • lora_target_linear: true applique LoRA à toutes les couches linéaires, généralement mieux que de cibler uniquement l’attention

Dépannage

Problème
Solution

OutOfMemoryError

Réduisez micro_batch_size à 1, activez gradient_checkpointing

Erreurs de format de jeu de données

Exécutez python -m axolotl.cli.preprocess config.yml pour déboguer

sample_packing lent lors de la première époque

Normal — le calcul initial du packing est unique

L'entraînement multi-GPU se bloque

Vérifiez NCCL : export NCCL_DEBUG=INFO, assurez-vous que toutes les GPU sont visibles

flash_attention erreur d'importation

Installez : pip install flash-attn --no-build-isolation

La perte ne diminue pas

Réduisez le taux d’apprentissage à 1e-4, augmentez le warmup, vérifiez la qualité du jeu de données

Erreur de connexion à WandB

Exécutez wandb login ou définissez wandb_project: sur une chaîne vide

Ressources

Mis à jour

Ce contenu vous a-t-il été utile ?