Welke bewerkingen worden uitgevoerd in een transformer-decoderlaag?
Automatische vertaling
Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.
Een transformer-decoderlaag werkt tokenrepresentaties bij via attention en een feed-forward-netwerk. Attention combineert informatie van zichtbare tokens. Het feed-forward-netwerk transformeert de representatie van elk token afzonderlijk. Normalisatie en residuele optellingen ondersteunen de herhaalde berekeningen door vele lagen.
Volg één laag volgens de Llama-architectuur
Een gebruikelijke pre-norm-decoder voert deze stappen uit:
- Normaliseer de invoerrepresentatie.
- Projecteer queries, keys en values en pas causale attention toe.
- Projecteer het resultaat van attention en tel het op bij de oorspronkelijke invoer.
- Normaliseer die bijgewerkte representatie.
- Voer het feed-forward-netwerk uit en tel de uitvoer erbij op.
De residuele optellingen behouden een invoerpad door elk deelblok. RMSNorm herschaalt representaties zonder het gemiddelde af te trekken zoals LayerNorm doet. Models verschillen in de plaats van de normalisatie, het type attention, de activation en de bias-termen; deze volgorde beschrijft een blok volgens de Llama-architectuur, niet elke transformer.
De Transformer-publicatie definieert attention als een door softmax gewogen combinatie van values. Causale maskering laat een positie attention toepassen op zichzelf en eerdere posities. Multi-head-projecties laten verschillende geleerde deelruimten bijdragen aan het resultaat, zonder elke head een vaste taalkundige rol toe te wijzen.
Tel de daadwerkelijke projecties
Meta’s configuratie van Llama 3 8B heeft een verborgen dimensie van 4,096, een feed-forward-dimensie van 14,336, 32 query-heads, acht KV-heads en een dimensie per head van 128.
| Projectiegroep | Parameterberekening | Aantal per laag |
|---|---|---|
| Queries en attention-uitvoer | 2 × 4,096² | 33,554,432 |
| Keys en values | 2 × 4,096 × (8 × 128) | 8,388,608 |
| SwiGLU-feed-forward-matrices | 3 × 4,096 × 14,336 | 176,160,768 |
SwiGLU gebruikt twee invoerprojecties, combineert het ene geactiveerde resultaat element voor element met het andere en past een uitvoerprojectie toe. GLU Variants Improve Transformer definieert deze formulering.
De feed-forward-matrices vormen ongeveer 81% van deze projectiegewichten. Dat is geen 81% van de totale uitvoeringstijd of van het volledige model: embeddings, de uitvoerhead voor de woordenschat, normalisatie, attention-berekeningen en geheugenverkeer spelen ook een rol.
Gebruik bij het schatten van parameters de exacte FFN-breedte en het aantal KV-heads. De algemene benadering 12 × layers × hidden_dimension² gaat uit van een ander conventioneel blok en mist belangrijke GQA/SwiGLU-details.
Engineeringgids: transformer-architectuur bevat het laagdiagram en de parameterschatting.