GUIDA TECNICA

SwiGLU e attivazioni con gate

SwiGLU è una funzione di attivazione con gate che moltiplica una proiezione lineare dell'input per una seconda proiezione attivata da Swish, agendo come una porta apprendibile e dipendente dai dati all'interno degli strati feed-forward del trasformatore.

2 minuti di letturaUltimo aggiornamento

Panoramica

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

Immersione profonda

Un blocco feed-forward del trasformatore standard è costituito da due strati lineari con un ReLU o GELU in mezzo. Unità lineari con cancello, proposte da Dauphin et al. nel 2016, dividi la prima proiezione in due metà e usa una metà per delimitare l'altra tramite moltiplicazione per elemento. SwiGLU, reso popolare da Noam Shazeer nel 2020, utilizza la funzione Swish (SiLU) per quel gate: output = (Swish(xW) * (xV)) W2, con tre matrici di peso invece di due. Il gating consente alla rete di passare o sopprimere selettivamente le informazioni per dimensione. Poiché l'aggiunta della terza matrice aumenta i parametri, le implementazioni riducono la dimensione nascosta a circa due terzi, quindi il calcolo totale rimane paragonabile a un GELU MLP. Gli esperimenti di Shazeer hanno mostrato miglioramenti misurabili di perplessità e LLaMA, PaLM e Mistral lo hanno adottato tutti.

Approfondimento tecnico

Swish è x * sigmoid(beta*x), una funzione fluida e non monotona che, a differenza di ReLU, consente il passaggio di piccoli valori negativi. In SwiGLU il ramo "gate" Swish(xW) produce valori vicini a 0 o 1 che moltiplicano il ramo "valore" xV in termini di elemento, quindi il contributo di ciascuna unità nascosta è modulato da un segnale appreso, dipendente dall'input. La terza matrice del peso è il costo; il trucco della dimensione nascosta dei due terzi mantiene il budget FLOP abbinato a uno strato feed-forward vanigliato.

Impatto strategico

Costo e budget

Le decisioni relative all'architettura determinano prestazioni e costi operativi per anni.

Decisioni più chiare

La formazione tecnica aiuta i team a scegliere lo stack giusto, non solo quello più nuovo.

Controllo di qualità

Migliori scelte ingegneristiche riducono gli incidenti legati all’affidabilità nella produzione.

Il futuro di SwiGLU e delle attivazioni controllate

SwiGLU è radicato come MLP predefinito negli LLM a peso aperto ed è improbabile che venga sostituito presto. Le direzioni attive includono varianti GeGLU e ReGLU, kernel GPU fusi che calcolano entrambe le proiezioni in un unico passaggio e combinando MLP con gate con una miscela di esperti in modo che ogni esperto sia esso stesso un blocco SwiGLU. I ricercatori stanno anche studiando il motivo per cui i cancelli contribuiscono all'ottimizzazione, con l'obiettivo di progettare cancelli ancora più economici.

Implementazione nel mondo reale

LLaMA, PaLM e Mistral sostituiscono il livello feed-forward GELU con SwiGLU per ridurre la perplessità a parità di calcolo

La dimensione nascosta è ridotta a circa due terzi (8/3 d) in modo che la matrice di gating extra non gonfi i FLOP

I modelli di mix di esperti come Mixtral utilizzano i blocchi SwiGLU come rete feed-forward per esperto

I trasformatori visivi e multimodali prendono in prestito il gating GeGLU/SwiGLU per migliorare i loro sottostrati MLP

Rischi e guardrail

L'ottimizzazione di un benchmark può nascondere debolezze di sistema più ampie.

I costi delle infrastrutture e della manutenzione sono spesso sottostimati.

Le lacune in termini di sicurezza e osservabilità possono aumentare man mano che i sistemi diventano più complessi.

Tabella di marcia per l'implementazione

1

Definire obiettivi di latenza, qualità e costi prima dell'implementazione.

2

Benchmark in condizioni di carico e dati realistiche.

3

Monitoraggio dello strumento per errori, deriva e impatto sull'utente.

4

Preparare percorsi di rollback e risposta agli incidenti prima della scalabilità.

Continua a esplorare

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.

Inizia il quiz

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

Prossima guida

Compromessi nel ricalcolo dell'attivazione

Domande frequenti

What is SwiGLU and Gated Activations?

SwiGLU è una funzione di attivazione con gate che moltiplica una proiezione lineare dell'input per una seconda proiezione attivata da Swish, agendo come una porta apprendibile e dipendente dai dati all'interno degli strati feed-forward del trasformatore. Migliora costantemente la qualità del modello linguistico, motivo per cui quasi tutti i LLM moderni lo utilizzano.

Quale operazione principale definisce un'unità lineare con cancello?

Una GLU moltiplica una proiezione di valore per una proiezione di gate a livello di elemento, consentendo alla rete di controllare il flusso di informazioni per dimensione.

Quale funzione di attivazione utilizza SwiGLU per il suo ramo gate?

SwiGLU utilizza Swish, chiamato anche SiLU, definito come x * sigmoid(beta*x), per il ramo di gating.

Quante matrici di peso utilizza un blocco feed-forward SwiGLU?

SwiGLU necessita di tre matrici: la proiezione del gate, la proiezione del valore e la proiezione dell'output.

Perché la dimensione nascosta viene generalmente ridimensionata a circa due terzi nei livelli SwiGLU?

Altrimenti la terza matrice aumenterebbe il calcolo, quindi riducendo la dimensione nascosta a circa 8/3 d si mantiene il budget corrispondente.

Chi ha reso popolare SwiGLU per gli strati feed-forward del trasformatore nel 2020?

La nota del 2020 di Noam Shazeer "Le varianti GLU migliorano il trasformatore" ha introdotto SwiGLU e ha mostrato i suoi guadagni di perplessità.