Learning Rate Scheduling
iaDéfinition
Le Learning Rate Scheduling (planification du taux d'apprentissage) désigne l'ensemble des stratégies qui font varier dynamiquement le learning rate (LR) pendant l'entraînement d'un modèle de deep learning. Le learning rate contrôle l'amplitude des mises à jour des paramètres à chaque pas de gradient : trop élevé, l'entraînement diverge ou oscille ; trop faible, la convergence est lente et le modèle reste dans des minima sous-optimaux. Le scheduling permet d'adapter le LR selon la phase d'entraînement. Le schéma dominant pour les LLMs combine un Warmup initial avec une décroissance en cosine (cosine annealing) : pendant les premiers K steps (warmup), le LR croît linéairement de 0 à LR_max, puis décroît graduellement suivant une courbe en cosine jusqu'à LR_min ≈ 0.1 × LR_max. Ce pattern est utilisé par GPT-3, LLaMA, Mistral et la grande majorité des LLMs modernes. Le Warmup est crucial car les paramètres initiaux du modèle sont aléatoires : appliquer immédiatement un LR élevé dans cet état produit des mises à jour instables et peut corrompre les embeddings. Le Warmup progressif permet une "mise en route" douce. Pour les modèles pré-entraînés fine-tunés, un warmup plus court (100-500 steps) est souvent suffisant. Pour le fine-tuning avec LoRA/QLoRA sur des modèles pré-entraînés, les recommandations pratiques sont : LR_max entre 1e-4 et 3e-4 pour les couches LoRA (10-100× plus élevé que pour le full fine-tuning), cosine scheduling sur 1-3 époques, warmup de 3-5% du total des steps. Axolotl et LLaMA-Factory implémentent ces configurations avec des presets validés empiriquement.
Principaux schedulers
| Scheduler | Description | Cas d'usage |
|---|---|---|
| Linear Warmup + Cosine | Warmup puis cosine decay | Pré-entraînement LLM (standard) |
| Linear Warmup + Linear Decay | Warmup puis décroissance linéaire | Fine-tuning court |
| Constant + Warmup | LR constant après warmup | RLHF/DPO |
| Cyclique (CLR) | Oscillation entre LR_min et LR_max | Transfer learning |
| OneCycle | Montée + descente + fin basse | Fine-tuning rapide |
Configuration pratique
from transformers import get_cosine_schedule_with_warmup
optimizer = torch.optim.AdamW(model.parameters(), lr=2e-5, weight_decay=0.01)
num_warmup_steps = int(0.05 * total_training_steps) # 5% de warmup
scheduler = get_cosine_schedule_with_warmup(
optimizer,
num_warmup_steps=num_warmup_steps,
num_training_steps=total_training_steps,
num_cycles=0.5 # Cosine standard (une demi-période)
)
WSD (Warmup-Stable-Decay)
MiniCPM et Mistral NeMo utilisent le schéma WSD : phase stable (LR constant) longue pour permettre des checkpoints intermédiaires utilisables, suivie d'une courte phase de décroissance rapide. Avantage : on peut brancher un nouveau cycle d'entraînement depuis n'importe quel checkpoint stable.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h