PRZEWODNIK techniczny

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.

2 minuty czytaniaOstatnia aktualizacja

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

1

Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.

2

Test porównawczy w realistycznych warunkach obciążenia i danych.

3

Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.

4

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.

Rozpocznij quiz

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.