EMZETT.
Login

Wie ein Sprachmodell Text erzeugt: Schritt für Schritt

Kurz: Ein Sprachmodell erzeugt Text Token für Token. Es berechnet für das nächste Token eine Wahrscheinlichkeit für jedes Wort-Stück im Vokabular, wählt eins aus, hängt es an und wiederholt das, bis ein Ende-Token kommt.

Genauer: Das nennt man autoregressiv. Es „plant“ nicht den ganzen Satz im Voraus, jeder Schritt entsteht aus dem bisherigen Text.

Im Detail

  1. Tokenisieren: Text → Token-Nummern (siehe Tokenisierung: BPE und Vokabular).
  2. Embedding: Jede Nummer → Vektor (zum Beispiel 4096 Zahlen).
  3. Positionen einbringen (Positionscodierung und RoPE).
  4. Blöcke: Durch alle Transformer-Blöcke (Der Transformer-Block im Detail).
  5. Ausgabe: Der letzte Vektor der letzten Position wird mit einer großen Matrix zu Logits (eine Zahl je Token im Vokabular).
  6. Softmax → Wahrscheinlichkeiten (Softmax und Wahrscheinlichkeiten).
  7. Auswählen: Gierig (höchste Wahrscheinlichkeit), per Zufall nach Verteilung (Temperatur, Top-k, Top-p), siehe temperatur-und-sampling.
  8. Anhängen und wiederholen. Dank kv-cache muss nur das neue Token neu berechnet werden.
  • Prefill und Decode: Das Lesen des Prompts (parallel, schnell) ist etwas anderes als das Schreiben Token für Token (sequenziell, Speicher-limitiert), siehe prefill-und-decode.
  • Nicht gespeichert: Das Modell hat kein Gedächtnis zwischen Gesprächen. Alles, was es „weiß“, steckt in Gewichten und im aktuellen Kontext.
  • Warum es kreativ wirkt: Das Auswählen mit Zufall liefert verschiedene Fortsetzungen derselben Frage.

Siehe auch: Wie ein Sprachmodell trainiert wird, halluzination-(ki)