Fine-tuning 2x plus rapide Unsloth

Fine-tunez les LLM 2x plus rapidement avec 70% de VRAM en moins en utilisant Unsloth sur Clore.ai

Unsloth réécrit les parties critiques pour la performance de HuggingFace Transformers avec des noyaux Triton optimisés à la main, offrant 2x la vitesse d'entraînement et réduction de 70 % de la VRAM sans perte d'exactitude. C'est un remplacement plug-and-play — vos scripts TRL/PEFT existants fonctionnent sans modification après avoir changé l'importation.

circle-check

Principales caractéristiques

  • Entraînement 2x plus rapide — noyaux Triton personnalisés pour l'attention, RoPE, l'entropie croisée et la normalisation RMS

  • 70 % de VRAM en moins — checkpointing de gradient intelligent et poids mappés en mémoire

  • Remplacement HuggingFace plug-and-play — un seul changement d'importation, rien d'autre

  • QLoRA / LoRA / entraînement complet — tous les modes pris en charge dès la sortie de la boîte

  • Export natif — sauvegardez directement en GGUF (tous types de quantification), adaptateurs LoRA, ou fusionné en 16 bits

  • Large couverture de modèles — Llama 3.x, Mistral, Qwen 2.5, Gemma 2, DeepSeek-R1, Phi-4, et plus

  • Gratuit et open source (Apache 2.0)

Exigences

Composant
Minimum
Recommandé

GPU

RTX 3060 12 Go

RTX 4090 24 Go

VRAM

10 Go

24 Go

RAM

16 Go

32 Go

Disque

40 Go

80 Go

CUDA

11.8

12.1+

Python

3.10

3.11

Tarifs Clore.ai : RTX 4090 ≈ 0,5–2 $/jour · RTX 3090 ≈ 0,3–1 $/jour · RTX 3060 ≈ 0,15–0,3 $/jour

Un modèle 7B avec QLoRA 4 bits tient dans ~10 Go de VRAM, rendant même une RTX 3060 viable.

Démarrage rapide

1. Installer Unsloth

2. Charger un modèle avec quantification 4 bits

3. Appliquer les adaptateurs LoRA

4. Préparer les données et entraîner

Exportation du modèle

Sauvegarder uniquement l'adaptateur LoRA

Fusionner et sauvegarder le modèle complet (float16)

Exporter en GGUF pour Ollama / llama.cpp

Après l'exportation, servez avec Ollama :

Exemples d'utilisation

Fine-tuning sur un jeu de données de chat personnalisé

Entraînement d'alignement DPO / ORPO

Référence d'utilisation de la VRAM

Modèle
Quant
Méthode
VRAM
GPU

Llama 3.1 8B

4 bits

QLoRA

~10 Go

RTX 3060

Llama 3.1 8B

16 bits

LoRA

~18 Go

RTX 3090

Qwen 2.5 14B

4 bits

QLoRA

~14 Go

RTX 3090

Mistral 7B

4 bits

QLoRA

~9 Go

RTX 3060

DeepSeek-R1 7B

4 bits

QLoRA

~10 Go

RTX 3060

Llama 3.3 70B

4 bits

QLoRA

~44 Go

2× RTX 3090

Conseils

  • Toujours utiliser use_gradient_checkpointing="unsloth" — c'est le plus grand économiseur de VRAM unique à Unsloth

  • Définir lora_dropout=0 — les noyaux Triton d'Unsloth sont optimisés pour une absence de dropout et s'exécutent plus rapidement

  • Utilisez packing=True dans SFTTrainer pour éviter le gaspillage dû au padding sur les exemples courts

  • Commencez avec r=16 pour le rang LoRA — augmentez à 32 ou 64 seulement si la perte de validation stagne

  • Surveillez avec wandb — ajoutez report_to="wandb" dans TrainingArguments pour le suivi de la perte

  • Ajustement de la taille de lot — augmentez per_device_train_batch_size jusqu'à approcher la limite de VRAM, puis compensez avec gradient_accumulation_steps

Dépannage

Problème
Solution

OutOfMemoryError pendant l'entraînement

Réduisez la taille de lot à 1, diminuez max_seq_length, ou utilisez la quantification 4 bits

Erreurs de compilation des noyaux Triton

Exécutez pip install triton --upgrade et assurez-vous que le toolkit CUDA correspond

Première étape lente (compilation)

Normal — Triton compile les noyaux au premier lancement, mis en cache ensuite

bitsandbytes Erreur de version CUDA

Installez la version correspondante : pip install bitsandbytes --upgrade

Pics de perte pendant l'entraînement

Diminuez le taux d'apprentissage à 1e-4, ajoutez des étapes de warmup

Les exportations GGUF plantent

Assurez-vous d'avoir suffisamment de RAM (2× la taille du modèle) et d'espace disque pour la conversion

Ressources

Mis à jour

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