Műszaki ÚTMUTATÓ

SwiGLU és kapuzott aktiválások

A SwiGLU egy kapuzott aktiválási funkció, amely megszorozza a bemenet egy lineáris vetületét egy Swish által aktivált második vetülettel, tanulható, adatfüggő kapuként működik a transzformátor előrecsatolt rétegeiben.

2 perc olvasásUtoljára frissítve

Áttekintés

It consistently improves language-model quality, which is why nearly every modern LLM uses it.

Mély merülés

A szabványos transzformátor-előrecsatoló blokk két lineáris rétegből áll, közöttük egy ReLU vagy GELU. Kapuzott lineáris egységek, Dauphin et al. 2016-ban az első vetületet osszuk két részre, és az egyik felét használjuk a másik kapuhoz elemenkénti szorzással. A Noam Shazeer által 2020-ban népszerűsített SwiGLU a Swish (SiLU) függvényt használja ehhez a kapuhoz: output = (Swish(xW) * (xV)) W2, kettő helyett három súlymátrixszal. A kapuzás lehetővé teszi a hálózat számára, hogy dimenziónként szelektíven továbbítsa vagy elnyomja az információkat. Mivel a harmadik mátrix hozzáadása növeli a paramétereket, az implementációk nagyjából kétharmadára csökkentik a rejtett dimenziót, így a teljes számítás összehasonlítható marad a GELU MLP-vel. Shazeer kísérletei mérhető zavartságnövekedést mutattak, és a LLaMA, a PaLM és a Mistral is ezt alkalmazta.

Technikai betekintés

A Swish egy x * sigmoid(beta*x), egy sima, nem monoton függvény, amely a ReLU-val ellentétben kis negatív értékeket enged át. A SwiGLU-ban a 'gate' ág Swish(xW) 0-hoz vagy 1-hez közeli értékeket állít elő, amelyek elemenként megszorozzák az 'érték' ágat xV, így minden rejtett egység hozzájárulását egy tanult, bemenettől függő jel modulálja. A harmadik súlymátrix a költség; a kétharmadnyi rejtett méretű trükk a FLOP költségvetését egy vanília előrecsatoló réteghez igazítja.

Stratégiai hatás

Költség és költségvetés

Az építészeti döntések évekig növelik a teljesítményt és a működési költségeket.

Tisztább döntések

A technikai oktatás segít a csapatoknak a megfelelő verem kiválasztásában, nem csak a legújabb készletben.

Minőségellenőrzés

A jobb mérnöki döntések csökkentik a termelés megbízhatósági incidenseit.

A SwiGLU és a kapuzott aktiválások jövője

A SwiGLU az alapértelmezett MLP a nyílt súlyú LLM-ekben, és nem valószínű, hogy hamarosan kiszorítják. Az aktív irányok közé tartoznak a GeGLU és a ReGLU változatok, az egyesített GPU-kernelek, amelyek mindkét vetületet egy menetben számítják ki, valamint a kapuzott MLP-k és a szakértők keverékének kombinálása, így minden szakértő maga SwiGLU blokk. A kutatók azt is vizsgálják, hogy a kapuzás miért segíti az optimalizálást, még olcsóbb kapuk tervezése a cél.

Valós megvalósítás

A LLaMA, a PaLM és a Mistral a GELU előrecsatolt réteget SwiGLU-ra cseréli, hogy csökkentse a zavartságot egyenlő számítás mellett

A rejtett dimenzió körülbelül kétharmadára (8/3 d) van méretezve, így az extra kapuzási mátrix nem növeli a FLOP-okat

A szakértői keverék modellek, mint például a Mixtral, a SwiGLU blokkokat használják szakértőnkénti előrecsatoló hálózatként

A Vision és a multimodális transzformátorok GeGLU/SwiGLU kapuzást kölcsönöznek MLP-alrétegeik fejlesztéséhez

Kockázatok és védőkorlátok

Egy benchmark optimalizálása elrejtheti a rendszer általános hiányosságait.

Az infrastrukturális és karbantartási költségeket gyakran alábecsülik.

A biztonsági és megfigyelhetőségi hiányosságok a rendszerek bonyolultabbá válásával nőhetnek.

Végrehajtási ütemterv

1

Határozza meg a késleltetési, minőségi és költségcélokat a megvalósítás előtt.

2

Benchmark reális terhelési és adatviszonyok mellett.

3

Műszerfigyelés a hibák, az eltolódás és a felhasználói hatások szempontjából.

4

A méretezés előtt készítse elő a visszagörgetési és az incidensre adott válaszútvonalakat.

Folytassa a felfedezést

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.

Kezdő kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Következő útmutató

Aktiválási újraszámítási kompromisszumok

Gyakran ismételt kérdések

What is SwiGLU and Gated Activations?

A SwiGLU egy kapuzott aktiválási funkció, amely megszorozza a bemenet egy lineáris vetületét egy Swish által aktivált második vetülettel, tanulható, adatfüggő kapuként működik a transzformátor előrecsatolt rétegeiben. Folyamatosan javítja a nyelvi modell minőségét, ezért szinte minden modern LLM használja.

Milyen alapművelet határozza meg a kapuzott lineáris egységet?

A GLU megszorozza az értékvetítést egy kapu vetületi elemmel, lehetővé téve a hálózat számára az információáramlást dimenziónként.

Melyik aktiválási funkciót használja a SwiGLU a kapu ágához?

A SwiGLU a Swish-t, más néven SiLU-t használja, amely x * sigmoid(beta*x) néven van definiálva a kapuzási ághoz.

Hány súlymátrixot használ egy SwiGLU előrecsatolt blokk?

A SwiGLU-nak három mátrixra van szüksége: a kapuvetítésre, az értékvetítésre és a kimeneti vetületre.

Miért van a rejtett dimenzió általában kétharmadára méretezve a SwiGLU rétegekben?

A harmadik mátrix egyébként megnövelné a számítást, így a rejtett méret durván 8/3 d-ra való csökkentése a költségvetés megfelelő marad.

Ki népszerűsítette a SwiGLU-t a transzformátor-előtolási rétegekhez 2020-ban?

Noam Shazeer 2020-as „GLU Variants Improve Transformer” megjegyzése bemutatta a SwiGLU-t, és megmutatta annak zavartságát.