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.

RMSNorm

ia

Définition

RMSNorm (Root Mean Square Layer Normalization) est une variante simplifiée de la Layer Normalization (LayerNorm), proposée par Zhang & Sennrich (2019) dans le paper "Root Mean Square Layer Normalization". C'est la technique de normalisation utilisée par la plupart des LLMs modernes performants : LLaMA 2/3, Mistral, Mixtral, Qwen, Gemma, Phi et DeepSeek. La LayerNorm standard normalise les activations en calculant leur moyenne μ et leur écart-type σ, puis en les recentrant : LN(x) = (x - μ) / √(σ² + ε) × γ + β. RMSNorm simplifie cette opération en supprimant le re-centrage (soustraction de la moyenne) : RMSNorm(x) = x / RMS(x) × γ, où RMS(x) = √(Σxᵢ² / n). Cette simplification repose sur l'hypothèse que le re-scaling (γ) est le facteur déterminant dans les performances de la normalisation, tandis que le re-centrage (β) est superflu. Les expériences empiriques valident cette hypothèse : RMSNorm atteint des performances comparables à LayerNorm sur la plupart des benchmarks, tout en étant plus rapide à calculer (environ 10-20% plus rapide) car il évite le calcul de la moyenne. Pour les LLMs avec des millions ou milliards de paramètres, cette économie computationnelle s'accumule significativement sur des trillions de tokens d'entraînement. La simplification réduit également les risques d'instabilité numérique, ce qui facilite l'entraînement en précision mixte (BF16/FP8). Dans le contexte du fine-tuning, les paramètres γ de RMSNorm sont souvent inclus dans les adaptateurs LoRA ou entraînés en full precision même en quantification, car ils jouent un rôle crucial dans la calibration des activations.

Comparaison LayerNorm vs RMSNorm

AspectLayerNormRMSNorm
Formule(x-μ)/σ × γ + βx/RMS(x) × γ
Paramètres2×d (γ, β)1×d (γ seul)
VitesseBaseline~10-20% plus rapide
StabilitéBonneTrès bonne
ModèlesBERT, GPT-2, T5LLaMA, Mistral, Qwen

Pre-LayerNorm vs Post-LayerNorm

La position de la normalisation dans le bloc Transformer est critique :

  • Post-LN (Transformer original) : normalisation APRÈS attention/FFN + résidu → instabilités à grande profondeur
  • Pre-LN (GPT-2, LLaMA) : normalisation AVANT attention/FFN → entraînement plus stable, standard actuel

Implémentation

class RMSNorm(nn.Module):
    def __init__(self, d_model, eps=1e-5):
        super().__init__()
        self.weight = nn.Parameter(torch.ones(d_model))
        self.eps = eps

    def forward(self, x):
        rms = x.pow(2).mean(-1, keepdim=True).add(self.eps).sqrt()
        return x / rms * self.weight

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis