Robocikowo>ROBOCIKOWO
Architektura

RMSNorm

2019AktywnyOpublikowano: 24 sierpnia 2026Aktualizacja: 24 sierpnia 2026Opublikowany
Technika normalizacji, która skaluje aktywacje warstwy statystyką RMS bez odejmowania średniej — szybsza alternatywa dla LayerNorm.
Kluczowa innowacja
Usunięcie re-centrowania (odejmowania średniej) z normalizacji warstwy — RMSNorm normalizuje aktywacje wyłącznie statystyką RMS (pierwiastek ze średniej kwadratów), zachowując niezmienniczość względem skalowania i redukując koszt obliczeniowy LayerNorm.
Kategoria
Architektura
Poziom abstrakcji
Building block
Poziom operacji
WarstwaElement architektury
Zastosowania
Pre-normalizacja w TransformerachDuże modele językowe (LLM)QK-Norm (normalizacja zapytań i kluczy w mechanizmie uwagi)Sieci rekurencyjne (RNN)Modele wizyjne i multimodalne

Jak działa

Dla wektora wejściowego a o n elementach RMSNorm liczy statystykę RMS(a) = sqrt((1/n) · Σ aᵢ²), a następnie każdą składową normalizuje i skaluje: āᵢ = (aᵢ / RMS(a)) · gᵢ, gdzie g to uczony wektor wzmocnienia (gain) o wymiarze n. W przeciwieństwie do LayerNorm nie ma odejmowania średniej ani (w podstawowej wersji) wyrazu przesunięcia (bias). Do mianownika dodaje się małą stałą ε dla stabilności numerycznej. W wariancie częściowym (pRMSNorm) statystykę RMS estymuje się tylko na podstawie pierwszych p% składowych wektora, co dodatkowo obniża koszt, nie naruszając własności niezmienniczości.

Rozwiązany problem

LayerNorm wymaga dwóch przejść po wektorze aktywacji — do wyliczenia średniej (re-centrowanie) i wariancji (re-skalowanie) — co wprowadza narzut obliczeniowy szczególnie kosztowny w sieciach rekurencyjnych i głębokich Transformerach. RMSNorm eliminuje krok re-centrowania, zmniejszając liczbę operacji i czas działania przy zachowaniu stabilności treningu.

Komponenty

Statystyka RMSMiara skali wektora aktywacji używana do normalizacji

Pierwiastek ze średniej kwadratów składowych wektora: RMS(a) = sqrt((1/n)·Σ aᵢ²). Zastępuje odchylenie standardowe z LayerNorm i nie wymaga obliczania średniej.

Wektor wzmocnienia (gain g)Uczone, per-wymiarowe re-skalowanie znormalizowanych aktywacji

Uczony wektor parametrów o wymiarze n, mnożony element po elemencie przez znormalizowane aktywacje. Zapewnia adaptacyjne re-skalowanie i niejawną adaptację tempa uczenia.

Estymacja częściowa (pRMSNorm)Opcjonalne przybliżenie statystyki RMS z p% wejść

Wariant, w którym RMS estymuje się tylko na podstawie pierwszych p% składowych wektora, dodatkowo obniżając koszt obliczeniowy bez naruszenia własności niezmienniczości.

Oficjalna

Implementacja

Pułapki implementacyjne
Obliczanie RMS w niskiej precyzjiWysoka

Sumowanie kwadratów w fp16/bf16 może prowadzić do przepełnienia lub utraty precyzji.

Rozwiązanie:Rzutować aktywacje do fp32 na czas obliczenia statystyki RMS, a wynik rzutować z powrotem.
Umiejscowienie epsilonŚrednia

Dodanie ε wewnątrz lub na zewnątrz pierwiastka daje inne zachowanie numeryczne i różni się między implementacjami.

Rozwiązanie:Trzymać się konwencji wybranej implementacji referencyjnej i być spójnym przy portowaniu wag.
Zakładanie odejmowania średniej lub biasuŚrednia

Przenoszenie kodu z LayerNorm i pozostawienie odejmowania średniej lub wyrazu przesunięcia zmienia semantykę RMSNorm.

Rozwiązanie:Usunąć krok liczenia średniej i (w wersji podstawowej) parametr bias.

Ewolucja

Oryginalny paper · 2019 · NeurIPS 2019 · Biao Zhang
Root Mean Square Layer Normalization
Biao Zhang, Rico Sennrich
2016
Wprowadzenie Layer Normalization

Ba, Kiros i Hinton wprowadzają LayerNorm — poprzednika, który RMSNorm upraszcza.

2019
Publikacja RMSNorm (NeurIPS 2019)
Punkt przełomowy

Zhang i Sennrich pokazują, że pominięcie re-centrowania daje wyniki porównywalne z LayerNorm przy 7–64% krótszym czasie działania.

2023
Adopcja w LLaMA i innych LLM
Punkt przełomowy

LLaMA stosuje RMSNorm w konfiguracji pre-normalizacji, po czym technika staje się standardem w kolejnych rodzinach modeli (Gemma, Mistral, Qwen).

Hiperparametry (konfigurowalne osie)

Wymiar normalizacji (n)Wysoka

Rozmiar wektora aktywacji poddawanego normalizacji; zwykle równy wymiarowi ukrytemu modelu.

Epsilon (ε)Średnia

Mała stała dodawana dla stabilności numerycznej (unikanie dzielenia przez zero).

Uczony gain (g)Wysoka

Czy stosowany jest uczony wektor wzmocnienia; w praktyce niemal zawsze włączony.

Współczynnik częściowy (p)Niska

Odsetek wejść używany do estymacji RMS w wariancie pRMSNorm.

Złożoność obliczeniowa

Złożoność czasowa: O(n · d). Złożoność przestrzenna: O(d).

Wąskie gardło obliczeniowe

Redukcja sumy kwadratów po wymiarze ukrytym

Operacja jest ograniczona przepustowością pamięci (memory-bandwidth bound): elementowe potęgowanie i redukcja po wymiarze d, a nie mnożenie macierzy. Nie wykorzystuje rdzeni tensorowych.

Paradygmat wykonania

Tryb główny
Gęsty

Operacja gęsta, stosowana do wszystkich aktywacji bez warunkowego routingu.

Wzorzec aktywacji
Wszystkie ścieżki aktywne
Mechanizm routingu

Równoległość

Poziom równoległości
W pełni równoległy

Normalizacja każdego tokena jest niezależna od pozostałych, więc jest w pełni równoległa po tokenach; wewnątrz tokena występuje redukcja po wymiarze ukrytym.

Zakres
TreningInferencjaPomiędzy tokenami

Wymagania sprzętowe

Dobry fit

Operacja elementowa z redukcją, ograniczona przepustowością pamięci; działa efektywnie na dowolnym akceleratorze i CPU.

Możliwe

Nie wykorzystuje rdzeni tensorowych (brak mnożenia macierzy); zwykle łączona (fused) z sąsiednimi operacjami dla efektywności.