Welche Operationen laufen in einer Transformer-Decoder-Schicht ab?

Automatische Übersetzung

Dieser Artikel wurde automatisch aus der englischen Originalversion übersetzt.

Eine Transformer-Decoder-Schicht aktualisiert Token-Repräsentationen durch Attention und ein Feed-forward-Netzwerk. Attention kombiniert Informationen aus sichtbaren Tokens. Das Feed-forward-Netzwerk transformiert die Repräsentation jedes Tokens separat. Normalisierung und Residualadditionen unterstützen die wiederholte Berechnung über viele Schichten hinweg.

Eine Schicht nach dem Llama-Prinzip nachvollziehen

Ein typischer Pre-Norm-Decoder führt diese Schritte aus:

  1. Die Eingaberepräsentation normalisieren.
  2. Queries, Keys und Values projizieren und kausale Attention anwenden.
  3. Das Attention-Ergebnis projizieren und zur ursprünglichen Eingabe addieren.
  4. Diese aktualisierte Repräsentation normalisieren.
  5. Das Feed-forward-Netzwerk ausführen und dessen Ausgabe addieren.

Die Residualadditionen erhalten einen Eingabepfad durch jeden Teilblock. RMSNorm skaliert Repräsentationen neu, ohne wie LayerNorm den Mittelwert abzuziehen. Models unterscheiden sich in der Position der Normalisierung, dem Attention-Typ, der Activation und den Bias-Termen; diese Abfolge beschreibt einen Block nach dem Llama-Prinzip und nicht jeden Transformer.

Das Transformer-Paper definiert Attention als eine mit Softmax gewichtete Kombination von Values. Die kausale Maskierung erlaubt einer Position, sich selbst und frühere Positionen zu berücksichtigen. Multi-Head-Projektionen lassen verschiedene gelernte Teilräume zum Ergebnis beitragen, ohne jedem Head eine feste sprachliche Rolle zuzuweisen.

Die tatsächlichen Projektionen zählen

Metas Konfiguration von Llama 3 8B hat eine Hidden-Dimension von 4,096, eine Feed-forward-Dimension von 14,336, 32 Query-Heads, acht KV-Heads und eine Head-Dimension von 128.

ProjektionsgruppeParameterberechnungAnzahl pro Schicht
Queries und Attention-Ausgabe2 × 4,096²33,554,432
Keys und Values2 × 4,096 × (8 × 128)8,388,608
SwiGLU-Feed-forward-Matrizen3 × 4,096 × 14,336176,160,768

SwiGLU verwendet zwei Eingabeprojektionen, kombiniert ein aktiviertes Ergebnis elementweise mit dem anderen und wendet eine Ausgabeprojektion an. GLU Variants Improve Transformer definiert diese Formulierung.

Die Feed-forward-Matrizen machen ungefähr 81% dieser Projektionsgewichte aus. Das sind nicht 81% der gesamten Ausführungszeit oder des gesamten Models: Embeddings, der Ausgabe-Head für das Vokabular, Normalisierung, Attention-Berechnung und Speichertransfers spielen ebenfalls eine Rolle.

Verwenden Sie bei der Parameterschätzung die genaue FFN-Breite und die Anzahl der KV-Heads. Die allgemeine Näherung 12 × layers × hidden_dimension² setzt einen anderen konventionellen Block voraus und erfasst wichtige GQA/SwiGLU-Details nicht.

Engineering-Leitfaden: Transformer-Architektur enthält das Schichtdiagramm und die Parameterschätzung.