Aktywacje SwiGLU i bramkowane
SwiGLU to bramkowana funkcja aktywacji, która mnoży jedną projekcję liniową sygnału wejściowego przez drugą projekcję aktywowaną za pomocą Swish, działając jako możliwa do nauczenia się, zależna od danych bramka wewnątrz warstw wyprzedzających transformatora.
Przegląd
It consistently improves language-model quality, which is why nearly every modern LLM uses it.
Głębokie nurkowanie
Standardowy blok sprzężenia zwrotnego transformatora składa się z dwóch warstw liniowych z ReLU lub GELU pomiędzy nimi. Bramkowane jednostki liniowe, zaproponowane przez Dauphin et al. w 2016 r. podzielili pierwszą projekcję na dwie połowy i wykorzystali jedną połowę do bramkowania drugiej poprzez mnożenie elementów. SwiGLU, spopularyzowany przez Noama Shazeera w 2020 roku, wykorzystuje funkcję Swish (SiLU) dla tej bramki: wyjście = (Swish(xW) * (xV)) W2, z trzema macierzami wag zamiast dwóch. Bramkowanie umożliwia sieci selektywne przekazywanie lub ukrywanie informacji według wymiaru. Ponieważ dodanie trzeciej macierzy zwiększa parametry, implementacje zmniejszają ukryty wymiar do mniej więcej dwóch trzecich, dzięki czemu całkowite obliczenia pozostają porównywalne z GELU MLP. Eksperymenty Shazeera wykazały wymierny wzrost zakłopotania, a wszystkie LLaMA, PaLM i Mistral je przyjęły.
Wgląd techniczny
Swish to x * sigmoid(beta*x), gładka, niemonotoniczna funkcja, która w przeciwieństwie do ReLU przepuszcza małe wartości ujemne. W SwiGLU gałąź „bramki” Swish(xW) generuje wartości bliskie 0 lub 1, które mnożą gałąź „wartości” xV elementarnie, więc wkład każdej ukrytej jednostki jest modulowany przez wyuczony sygnał zależny od wejścia. Trzecia macierz wag to koszt; sztuczka z ukrytym rozmiarem dwóch trzecich utrzymuje budżet FLOP dopasowany do podstawowej warstwy wyprzedzającej.
Wpływ strategiczny
Koszt i budżet
Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.
Jaśniejsze decyzje
Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.
Kontrola jakości
Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.
Przyszłość SwiGLU i aktywacji bramkowanych
SwiGLU ugruntowało się jako domyślny MLP w otwartych LLM i jest mało prawdopodobne, że wkrótce zostanie zastąpiony. Aktywne kierunki obejmują warianty GeGLU i ReGLU, połączone jądra GPU, które obliczają obie prognozy w jednym przebiegu oraz łączenie bramkowanych MLP z mieszanką ekspertów, tak aby każdy ekspert sam był blokiem SwiGLU. Naukowcy badają również, dlaczego bramkowanie pomaga w optymalizacji, mając na celu zaprojektowanie jeszcze tańszych bramek.
Implementacja w świecie rzeczywistym
LLaMA, PaLM i Mistral zastępują warstwę wyprzedzającą GELU warstwą SwiGLU, aby zmniejszyć złożoność przy równych obliczeniach
Ukryty wymiar jest skalowany do około dwóch trzecich (8/3 d), więc dodatkowa macierz bramkująca nie zawyża FLOPów
Modele składające się z mieszanki ekspertów, takie jak Mixtral, wykorzystują bloki SwiGLU jako sieć przekazującą dla poszczególnych ekspertów
Transformatory wizyjne i multimodalne wykorzystują bramkowanie GeGLU/SwiGLU w celu ulepszenia swoich podwarstw MLP
Zagrożenia i poręcze
Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.
Koszty infrastruktury i utrzymania są często niedoszacowane.
W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.
Plan wdrożenia
Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.
Test porównawczy w realistycznych warunkach obciążenia i danych.
Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.
Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.
Odkrywaj dalej
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the SwiGLU and Gated Activations quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Następny poradnik
Kompromisy związane z ponownym obliczeniem aktywacji
Często zadawane pytania
What is SwiGLU and Gated Activations?
SwiGLU to bramkowana funkcja aktywacji, która mnoży jedną projekcję liniową sygnału wejściowego przez drugą projekcję aktywowaną za pomocą Swish, działając jako możliwa do nauczenia się, zależna od danych bramka wewnątrz warstw wyprzedzających transformatora. Konsekwentnie poprawia jakość modelu językowego, dlatego używa go prawie każdy nowoczesny LLM.
Jaka podstawowa operacja definiuje bramkowaną jednostkę liniową?
GLU mnoży projekcję wartości przez projekcję bramki w poszczególnych elementach, umożliwiając przepływ informacji sterujących siecią według wymiaru.
Jakiej funkcji aktywacji używa SwiGLU w swojej gałęzi bramki?
SwiGLU wykorzystuje Swish, zwany także SiLU, zdefiniowany jako x * sigmoid(beta*x), dla gałęzi bramkującej.
Z ilu macierzy wag korzysta blok wyprzedzający SwiGLU?
SwiGLU potrzebuje trzech macierzy: projekcji bramki, projekcji wartości i projekcji wyjściowej.
Dlaczego ukryty wymiar jest zwykle skalowany do około dwóch trzecich w warstwach SwiGLU?
W przeciwnym razie trzecia macierz zawyżałaby obliczenia, więc zmniejszenie ukrytego rozmiaru do około 8/3 d pozwala zachować odpowiedni budżet.
Kto spopularyzował SwiGLU dla warstw transformatorowych w 2020 roku?
Notatka Noama Shazeera na rok 2020 „Warianty GLU udoskonalają transformator” przedstawiła SwiGLU i pokazała jego wzrost w zakresie złożoności.