TRL (entraînement RLHF/DPO)
TRL (Transformer Reinforcement Learning) est la bibliothèque officielle de Hugging Face pour entraîner des modèles de langage avec des techniques d'apprentissage par renforcement. Avec plus de 10 000 étoiles sur GitHub, elle fournit des implémentations de pointe de RLHF, DPO, PPO, GRPO et d'autres algorithmes d'alignement pour les LLM.
Qu'est-ce que TRL ?
TRL est la bibliothèque derrière de nombreux modèles de langage parmi les mieux alignés d'aujourd'hui. Elle fournit :
SFT (ajustement fin supervisé) — ajustement standard des instructions avec le format ChatML
RLHF/PPO — optimisation classique par politique proximale avec un modèle de récompense
DPO — optimisation directe des préférences (aucun modèle de récompense nécessaire !)
GRPO — optimisation de politique relative en groupe (méthode de DeepSeek-R1)
KTO — optimisation de Kahneman-Tversky (fonctionne avec des préférences non appariées)
Modélisation de récompense — entraîner un modèle de récompense à partir de données de préférences humaines
IterativeSFT — apprentissage par renforcement en ligne avec une configuration plus simple
ORPO — optimisation des préférences par rapport de cotes
TRL s'intègre nativement à l'écosystème Hugging Face : transformers, peft, datasets, accelerate, et bitsandbytes.
Exigences du serveur
GPU
RTX 3090 (24 Go)
A100 80 Go / H100
VRAM
16 Go (SFT/DPO 7B + LoRA)
80 Go (affinage complet 7B)
RAM
32 Go
64 Go+
CPU
8 cœurs
16 cœurs et plus
Stockage
100 Go
300 Go+
Système d'exploitation
Ubuntu 20.04+
Ubuntu 22.04
Python
3.9+
3.11
CUDA
12.8+
12.8+
VRAM par tâche
SFT
Llama 3 8B
QLoRA 4 bits
~8 GB
DPO
Llama 3 8B
LoRA
~20 Go
PPO
Llama 3 8B
Complet
~80 Go (2×A100)
GRPO
Qwen 7B
LoRA
~24 Go
SFT
Llama 3 70B
QLoRA 4 bits
~48 Go
DPO
Llama 3 70B
LoRA
~80 Go
Ports
22
SSH
Accès au terminal, transfert de fichiers, surveillance
TRL est une bibliothèque d'entraînement — elle s'exécute comme un script CLI/Python, aucun serveur web requis.
Installation sur Clore.ai
Étape 1 — Louer un serveur
Accédez à Marketplace Clore.ai
Filtrer pour VRAM ≥ 24 Go (RTX 3090, A100 ou H100)
Choisissez un PyTorch ou CUDA 12.8 image de base
Sélectionnez Stockage ≥ 200 Go pour les modèles et les ensembles de données
Ouvrez le port 22 pour l'accès SSH
Étape 2 — Se connecter via SSH
Étape 3 — Installer TRL
Étape 4 — Authentification Hugging Face
Étape 5 — Facultatif : suivi Weights & Biases
Fine-tuning supervisé (SFT)
Le SFT est toujours la première étape avant toute technique de RL.
Préparez votre ensemble de données
Script d'entraînement SFT
DPO (optimisation directe des préférences)
DPO est la méthode d'alignement la plus populaire — aucun modèle de récompense n'est nécessaire, seulement des paires de préférences.
Préparer l'ensemble de données DPO
Script d'entraînement DPO
PPO (optimisation par politique proximale)
PPO est l'approche RLHF classique — à utiliser lorsque vous disposez d'un signal de récompense :
GRPO (optimisation de politique relative en groupe)
GRPO est utilisé dans DeepSeek-R1 pour l'entraînement au raisonnement :
Entraînement multi-GPU
Utilisez accelerate pour l'entraînement distribué :
Utilisation de l'interface CLI TRL
TRL fournit des commandes CLI pratiques :
Surveillance de l'entraînement
Recommandations GPU Clore.ai
L'entraînement TRL est l'une des charges de travail les plus gourmandes en VRAM. Choisissez votre GPU en fonction de la taille du modèle et de la méthode :
SFT / DPO sur 7–8B (QLoRA)
RTX 3090 24 Go
~8 Go pour QLoRA 4 bits ; tient confortablement ; 0,07–0,21 $/h sur Clore.ai
SFT / DPO sur 7–8B (LoRA bf16)
RTX 4090 24 Go
Même VRAM que la 3090, mais calcul 30 % plus rapide ; excellent pour la vitesse d'itération
SFT complet sur 7B ou DPO sur 13B
A100 40 Go
40 Go suffisent pour un entraînement en précision complète sur 7B ; la mémoire ECC évite les erreurs silencieuses
PPO / fine-tuning complet 7B, ou n'importe quel QLoRA 70B
A100 80 Go
PPO nécessite 2× modèle policy+ref en VRAM ; 80 Go exécutent les deux sans OOM
Conseil pratique : Commencez sur une RTX 3090 avec QLoRA pour expérimenter — entraînez Llama 3 8B en ~2 h sur 10 000 exemples. Une fois le pipeline validé, passez à une A100 80 Go pour des exécutions en précision complète ou des modèles 70B.
Nombres de vitesse (Llama 3 8B SFT, QLoRA, batch=4, seq=2048) :
RTX 3090 : ~1 100 tokens/s de débit d'entraînement
RTX 4090 : ~1 450 tokens/s
A100 80 Go : ~2 800 tokens/s (bf16 complet, sans quantification)
Dépannage
Mémoire CUDA insuffisante
La perte est NaN
DPO: chosen_rewards > rejected_rewards is False
L'entraînement est très lent
tokenizer.pad_token avertissement
Autorisation refusée / HuggingFace 401
Enregistrer et partager votre modèle
Liens utiles
GitHub: https://github.com/huggingface/trl ⭐ 10K+
Documentation: https://huggingface.co/docs/trl
Article DPO: https://arxiv.org/abs/2305.18290
GRPO / DeepSeek-R1: https://arxiv.org/abs/2501.12599
Article PPO (RLHF): https://arxiv.org/abs/2203.02155
HuggingFace PEFT: https://github.com/huggingface/peft
Weights & Biases: https://wandb.ai
Flash Attention: https://github.com/Dao-AILab/flash-attention
Marketplace Clore.ai: https://clore.ai/marketplace
Mis à jour
Ce contenu vous a-t-il été utile ?