W czwartej części artykułu o vLLM od zera, zwracamy uwagę na inny, wydawałoby się prosty, ale kluczowy komponent architektury Transformer: RMSNorm (normalizacja średniej kwadratowej). Najpierw przyjrzyjmy się, czym jest normalizacja. Załóżmy, że właśnie zdałeś egzamin końcowy, a wyniki z trzech przedmiotów są już dostępne: Matematyka: 120 punktów (maksymalnie 150) Angielski: 80 punktów (maksymalnie 100) Fizyka: 160 punktów (maksymalnie 200) Który przedmiot zdałeś najlepiej? Jeśli porównasz bezpośrednio 120, 80, 160, dojdziesz do wniosku, że fizyka jest najlepsza. Ale prawda jest taka, że wszystkie trzy przedmioty zdałeś tak samo dobrze. Matematyka: 120/150 = 80% Angielski: 80/100 = 80% Fizyka: 160/200 = 80% To jest sedno normalizacji: przekształcenie danych o różnych wymiarach i zakresach do jednolitego standardu w celu porównania. Dlaczego sieci neuronowe potrzebują normalizacji? Wyobraź sobie, że grasz w grę w głuchy telefon. Pierwsza osoba mówi "Lubię jabłka", a do dziesiątej osoby dociera to jako "Lubię ananasy". To jest problem, z którym borykają się głębokie sieci neuronowe. Każda warstwa sieci wykonuje pewne obliczenia na wejściu, a następnie przekazuje wyniki do następnej warstwy. Problem polega na tym, że wraz ze wzrostem liczby warstw, te wartości stają się coraz bardziej niekontrolowane — albo rosną w sposób eksplozjny, albo znikają bez śladu. Podobnie jak w grze w głuchy telefon, informacja w trakcie przekazywania stopniowo się zniekształca. Dodanie warstwy normalizacji do modelu może zmniejszyć prawdopodobieństwo eksplozji lub znikania gradientów, a proces treningu modelu staje się bardziej stabilny. Technika normalizacji ewoluowała od BatchNorm, przez LayerNorm, aż do RMSNorm, stając się standardem w dużych modelach. Mój artykuł zabierze Was w podróż przez historię ewolucji technik normalizacji, a zainteresowani mogą zapoznać się z oryginałem.