📅 samedi 24 octobre 2026

Fine-tuner un LLM open source sur ses propres données

Le fine-tuning permet de spécialiser un modèle de langage sur un vocabulaire, un style ou une tâche précise sans repartir de zéro. Grâce aux adaptateurs LoRA, le coût en VRAM et en temps est désormais accessible sur une carte grand public.

Comprendre LoRA

LoRA (Low-Rank Adaptation) n'entraîne pas tout le réseau : il ajoute de petites matrices d'adaptation à certaines couches. Résultat : on n'entraîne que 1 à 5 % des paramètres, la mémoire GPU nécessaire chute de 70 à 90 % et le modèle de base reste intact.

Prérequis matériels

VRAM disponibleModèle conseillé
8 GoLlama 3.1 8B (4-bit)
12–16 GoMistral Nemo 12B (4-bit)
24 GoQwen2.5 14B (4-bit)

Un GPU NVIDIA avec support CUDA est requis. Sur AMD, utilisez ROCm 5.7+.

Préparer ses données

La qualité prime sur la quantité. Un format instruction / réponse par paire convient à la plupart des cas.

{"instruction": "Résume ce texte en deux phrases.", "output": "Résumé concis ici."}

Pipeline avec Unsloth

Unsloth accélère l'entraînement de 2× et réduit la VRAM requise.

pip install unsloth
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
	"unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit",
	max_seq_length=2048, load_in_4bit=True
)
model = FastLanguageModel.get_peft_model(
	model, r=16, target_modules=["q_proj","v_proj"],
	lora_alpha=16, lora_dropout=0.05
)

Entraînez ensuite avec SFTTrainer de la bibliothèque trl, en passant votre dataset Hugging Face ou un fichier JSON local.

Évaluer et exporter

Pièges courants

← Retour aux guides