Generierung, Sampling und Ausgabeformate
Generation
Heißt auch Generierung.
Erzeugung einer Ausgabesequenz durch das Modell.
Generation ist die Erzeugung einer Ausgabe Token für Token. Das Modell berechnet für jede Position eine Verteilung über mögliche nächste Tokens, aus der eines ausgewählt wird; dieses Token wird angehängt, und der Vorgang beginnt von vorn.
Das wahrscheinlichste Wort ergibt nicht den besten Text
Eine vielzitierte Beobachtung dazu: Obwohl Modelle darauf trainiert werden, wahrscheinliche Fortsetzungen zu erzeugen, führt die strikte Auswahl der wahrscheinlichsten Tokens zu blassem und seltsam repetitivem Text. Holtzman et al.
Erklärt wird das unter anderem informationstheoretisch: Menschlicher Text bewegt sich in einem mittleren Bereich des Informationsgehalts, statt durchgehend die naheliegendste Fortsetzung zu wählen. Meister et al. Daraus ergibt sich die Vielfalt der Auswahlverfahren.
So kannst du dir das vorstellen
Jemand schreibt einen Satz, indem er nach jedem Wort kurz überlegt, welches Wort als Nächstes passen könnte. Wer immer das naheliegendste nimmt, schreibt korrekt und langweilig. Das Bild erklärt die schrittweise Erzeugung, es unterstellt keinen Plan für den ganzen Satz.
Was es in der Praxis bedeutet
Zwei Folgen sind für den Alltag wichtig. Erstens: Das Modell plant den Text nicht vorab, sondern entscheidet fortlaufend. Ein Widerspruch am Ende eines langen Textes kommt daher, nicht aus böser Absicht.
Zweitens: Die Auswahlverfahren und ihre Einstellungen verändern das Ergebnis erheblich, ohne dass ein anderes Modell im Spiel ist. Wer Ausgaben vergleicht, muss diese Einstellungen mit angeben, sonst vergleicht er Zufall.
Wo es verwechselt wird
Generierung ist nicht Inferenz: Inferenz ist die Anwendung des Modells allgemein, Generierung der Sonderfall der schrittweisen Texterzeugung. Und sie ist kein Nachschlagen in Trainingsdaten.
Verwandte Begriffe
Decoding, Sampling, Inference, Logits, Temperature, Decode Phase.