Speculative Decoding
Ein großes Modell erzeugt korrekten Text, ist aber langsam. Ein kleineres Modell kann schnell mehrere weitere Stücke vorschlagen. Du möchtest seine Arbeit nutzen und dabei die Kontrolle des großen Modells über das endgültige Ergebnis bewahren.
Speculative Decoding erstellt einen günstigeren Vorschlag für die Fortsetzung und prüft ihn anschließend mit dem Zielmodell. Im klassischen Algorithmus übernehmen wir die anfängliche Folge akzeptierter Tokens — Textstücke — bis zur ersten Ablehnung und berechnen dann eine Korrektur.
Das große Modell kann den bekannten Vorschlag für mehrere Positionen parallel bewerten. Die korrekte Stichprobenvariante verwendet besondere Akzeptanz- und Korrekturwahrscheinlichkeiten, um die Zielverteilung zu erhalten. Der bloße Test „klingt das sinnvoll?“ gewährleistet das nicht.
Die Beschleunigung hängt vom Aufwand für den Vorschlag, der Zahl der Akzeptanzen und der Hardware ab. Wenn das kleine Modell häufig vom großen abweicht, kann die zusätzliche Arbeit den Gewinn aufheben. Die Demonstration unten zeigt die Erhaltung der Wahrscheinlichkeiten, keine garantierte Laufzeit.
Quelle des Mechanismus: Leviathan et al., §2, Algorithmus 1.
Mechanismus und Details
Dies beschleunigt Decode unter Erhaltung der Zielmodellverteilung unter den Bedingungen des Algorithmus. Zu prüfen, ob ein Vorschlag „gut aussieht“, genügt nicht.
Warum eine Korrektur nötig ist
Bezeichnen wir die Zielverteilung mit und die Draft-Verteilung mit , für dasselbe Präfix und dieselbe Tokenmenge. Beide berücksichtigen die ausgewählten Ziehungsregeln, etwa Temperatur und Top-p-Sampling. Ein Vorschlag wird mit folgender Wahrscheinlichkeit akzeptiert:
Ein gezogener Vorschlag hat . Nach einer Ablehnung ziehen wir aus einer Verteilung proportional zu . Dieser Schritt ergänzt genau die fehlende Wahrscheinlichkeitsmasse. Ist , wird nichts abgelehnt und keine Korrektur benötigt. Leviathan et al., §2.3 und Beweis A.1.
Eigenes Beispiel: Für A, B und C sei und . Die unbedingte Masse akzeptierter Vorschläge beträgt . Die verbleibenden 0,4 müssen gleichmäßig zwischen B und C aufgeteilt werden. Eine Korrekturziehung aus dem gewöhnlichen würde stattdessen ergeben.
Das Experiment zeigt die genaue Bilanz einer Position, ohne die gesamte Schleife oder Laufzeit zu simulieren. Eine erhaltene Verteilung garantiert keinen identischen Text beim selben Seed: Algorithmen verbrauchen Zufälligkeit unterschiedlich, und Berechnungen haben begrenzte Präzision. Das besprechen Chen et al., §4.2 und §6.1.
Die Beschleunigung hängt von Akzeptanzrate, Draft-Kosten und Hardware ab. Ein zu teurer Draft oder viele Ablehnungen können die Einsparung aufheben, selbst wenn die Verteilung korrekt bleibt.
Ich verwende KI-generierte Inhalte als Teil meines täglichen Lernprozesses.