P

Layer Normalization : Définition et Exemples

La Layer Normalization est une technique de normalisation qui standardise les activations d'un réseau de neurones en calculant la moyenne et la variance sur l'ensemble des neurones d'une même couche, indépendamment des autres exemples du batch.

Définition complète

La Layer Normalization (ou normalisation par couche) est une méthode introduite par Jimmy Lei Ba, Jamie Ryan Kiros et Geoffrey Hinton en 2016. Contrairement à la Batch Normalization qui calcule ses statistiques sur l'ensemble du batch pour chaque neurone, la Layer Normalization opère sur l'ensemble des neurones d'une même couche pour chaque exemple individuel. Cette distinction fondamentale la rend indépendante de la taille du batch.

Concrètement, pour chaque entrée, la technique calcule la moyenne et l'écart-type de toutes les activations au sein d'une couche donnée, puis normalise ces valeurs pour obtenir une distribution centrée et réduite. Deux paramètres apprenables — un facteur d'échelle (gamma) et un décalage (beta) — sont ensuite appliqués pour permettre au réseau de retrouver la représentation optimale si nécessaire.

La Layer Normalization est devenue un composant essentiel de l'architecture Transformer, utilisée dans chaque bloc d'attention et chaque sous-couche feed-forward. Elle stabilise l'entraînement en réduisant le problème de décalage interne des covariables (internal covariate shift) et accélère la convergence du modèle. Sans elle, l'entraînement de grands modèles de langage comme GPT ou BERT serait considérablement plus instable.

Dans les architectures modernes, on distingue deux variantes principales : la Post-Layer Normalization (appliquée après la sous-couche, comme dans le Transformer original) et la Pre-Layer Normalization (appliquée avant la sous-couche, adoptée par GPT-2 et les modèles suivants). La variante Pre-LN améliore la stabilité de l'entraînement et permet de se passer du warm-up du learning rate dans de nombreux cas.

Étymologie

Le terme combine « layer » (couche), désignant une couche du réseau de neurones, et « normalization » (normalisation), le processus statistique de standardisation des valeurs. Le nom souligne explicitement la dimension sur laquelle la normalisation opère — la couche — par opposition à la Batch Normalization qui opère sur la dimension du batch.

Exemples concrets

Comprendre le rôle de la Layer Normalization dans un Transformer

Explique étape par étape comment la Layer Normalization intervient dans un bloc Transformer lors du traitement d'une phrase. Montre les calculs sur un vecteur d'exemple à 4 dimensions.

Comparer les techniques de normalisation pour choisir la bonne

Compare Layer Normalization, Batch Normalization et RMSNorm en termes de performance, stabilité d'entraînement et cas d'usage. Présente les résultats sous forme de tableau.

Déboguer un problème d'entraînement lié à la normalisation

Mon modèle Transformer diverge après quelques milliers de steps. J'utilise Post-Layer Normalization. Quels changements architecturaux liés à la normalisation pourraient stabiliser l'entraînement ?

Usage pratique

En prompt engineering, comprendre la Layer Normalization aide à diagnostiquer les comportements inattendus des modèles et à formuler des requêtes techniques précises sur l'architecture des LLM. Lorsque vous discutez de fine-tuning ou d'architecture avec un modèle, mentionner explicitement le type de normalisation utilisé (Pre-LN vs Post-LN) permet d'obtenir des réponses plus ciblées. C'est aussi un concept clé à maîtriser pour interpréter les papiers de recherche et implémenter des architectures personnalisées.

Concepts liés

Batch NormalizationRMSNormTransformerInternal Covariate Shift

FAQ

Quelle est la différence entre Layer Normalization et Batch Normalization ?
La Batch Normalization calcule la moyenne et la variance sur l'ensemble des exemples du batch pour chaque neurone, tandis que la Layer Normalization les calcule sur tous les neurones d'une même couche pour chaque exemple individuel. La Layer Normalization est donc indépendante de la taille du batch, ce qui la rend idéale pour les séquences de longueur variable et les petits batchs, cas fréquents en traitement du langage naturel.
Pourquoi la Layer Normalization est-elle préférée dans les Transformers ?
Les Transformers traitent des séquences de longueurs variables avec des mécanismes d'attention qui opèrent sur des tokens individuels. La Layer Normalization est adaptée car elle normalise chaque exemple indépendamment, sans dépendre du batch. De plus, elle stabilise les gradients dans les architectures profondes avec connexions résiduelles, ce qui est essentiel pour entraîner des modèles à des dizaines ou centaines de couches.
Qu'est-ce que RMSNorm et en quoi diffère-t-il de la Layer Normalization ?
RMSNorm (Root Mean Square Normalization) est une simplification de la Layer Normalization qui supprime le recentrage par la moyenne et ne conserve que la normalisation par la racine carrée de la moyenne des carrés (RMS). Cette simplification réduit le coût computationnel d'environ 10 à 15 % tout en maintenant des performances comparables. RMSNorm est utilisé dans des modèles récents comme LLaMA et Gemma.

Voir aussi

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.