Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Learning Rate Scheduling

ia

Dé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

SchedulerDescriptionCas d'usage
Linear Warmup + CosineWarmup puis cosine decayPré-entraînement LLM (standard)
Linear Warmup + Linear DecayWarmup puis décroissance linéaireFine-tuning court
Constant + WarmupLR constant après warmupRLHF/DPO
Cyclique (CLR)Oscillation entre LR_min et LR_maxTransfer learning
OneCycleMontée + descente + fin basseFine-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

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis