Speculative Decoding: schneller antworten ohne Qualitätsverlust
Ein kleines Entwurfsmodell rät mehrere Tokens voraus, das große Modell prüft sie im Block – dieselbe Antwort entsteht spürbar schneller.
Das Grundproblem
Ein Sprachmodell erzeugt normalerweise ein Token nach dem anderen, und jedes einzelne kostet einen vollen Rechendurchlauf durch das Modell. Bei einem großen Modell ist dieser Durchlauf teuer – die Antwortzeit wächst direkt mit der Anzahl der Tokens.
Die Idee dahinter
Speculative Decoding nutzt ein kleines, schnelles „Entwurfsmodell", das mehrere Tokens am Stück vorschlägt. Das große Zielmodell prüft diese vorgeschlagenen Tokens danach in einem einzigen Durchlauf gemeinsam, statt jedes Token einzeln zu erzeugen.
Warum das schneller ist, ohne die Qualität zu ändern
Stimmen Entwurf und Zielmodell überein, werden gleich mehrere Tokens auf einmal übernommen – ein Rechendurchlauf des großen Modells liefert dann mehrere statt nur ein Token. Weicht der Entwurf ab, verwirft das Zielmodell die falschen Tokens und erzeugt an der Stelle sein eigenes, korrektes Token. Das Ergebnis entspricht mathematisch exakt dem, was das große Modell allein erzeugt hätte – nur der Weg dorthin ist parallelisiert.
Was sich dadurch wirklich ändert
Nur die Antwortzeit sinkt, typischerweise um den Faktor zwei bis drei. Die Ausgabe selbst bleibt identisch zu der eines Laufs ohne Entwurfsmodell – Speculative Decoding ist ein reines Beschleunigungsverfahren auf der Server-Seite, keine Prompt-Technik und kein Qualitäts-Kompromiss.
BEISPIEL
Ohne Speculative Decoding: Ein großes Modell erzeugt Token für Token, jedes einzeln geprüft und generiert – 20 Tokens brauchen 20 volle Rechendurchläufe. Mit Speculative Decoding: Ein kleines Entwurfsmodell schlägt 5 Tokens auf einmal vor ('Die', 'Hauptstadt', 'von', 'Frankreich', 'ist'). Das große Zielmodell prüft alle 5 in einem Durchlauf, stimmt bei allen 5 zu, generiert direkt das 6. Token ('Paris') selbst dazu – 6 Tokens in nur einem vollen Durchlauf des großen Modells statt sechs einzelnen.
🛠️ ÜBUNG — MACH DAS BEI DIR
Finde heraus, ob dein genutztes Modell-Setup Speculative Decoding einsetzt, und beobachte den Effekt auf die Antwortzeit.
- Prüfe in der Dokumentation deines Anbieters oder Inferenz-Servers (z. B. vLLM, TensorRT-LLM), ob und wie Speculative Decoding konfiguriert werden kann.
- Stelle dieselbe längere Anfrage einmal mit und einmal ohne aktiviertes Speculative Decoding, falls sich das umschalten lässt.
- Vergleiche die gemessene Antwortzeit beider Läufe.
- Vergleiche den Inhalt beider Antworten Zeichen für Zeichen.
✅ SELBST-CHECK
- ☐ War die Antwortzeit mit Speculative Decoding spürbar kürzer?
- ☐ War der Inhalt beider Antworten tatsächlich identisch, wie die Theorie vorhersagt?
- ☐ Kannst du erklären, warum ein schlecht passendes Entwurfsmodell den Geschwindigkeitsgewinn verringert?
KURZ-QUIZ
Warum liefert Speculative Decoding exakt dieselbe Ausgabe wie das große Modell allein, nur schneller?
QUELLEN
- arXiv: Fast Inference from Transformers via Speculative Decoding (Leviathan, Kalman, Matias) ↗ arxiv.org
- arXiv: Accelerating Large Language Model Decoding with Speculative Sampling (Chen et al., DeepMind) ↗ arxiv.org
- NVIDIA Technical Blog: An Introduction to Speculative Decoding for Reducing Latency in AI Inference ↗ developer.nvidia.com