Zum Inhalt springen →

Speculative Decoding in llama.cpp – Warum das gleiche Modell in niedrigerer Quantisierung keinen Performancegewinn bringt


In einem aktuellen Test habe ich das Modell Qwen3-Coder-30B-A3B-Instruct mit llama.cpp auf seine Performance mit und ohne Speculative Decoding untersucht. Ziel war es, herauszufinden, ob sich durch den Einsatz einer niedriger quantisierten Version desselben Modells ein Geschwindigkeitsvorteil erzielen lässt – insbesondere, weil für dieses Modell kein kleineres, kompatibles Dense-Modell verfügbar ist.


Testaufbau

Verwendete Modelle:

  • Target-Modell: Qwen3-Coder-30B-A3B-Instruct-Q6_K.gguf
  • Draft-Modell: Qwen3-Coder-30B-A3B-Instruct-Q2_K.gguf

Beide Modelle basieren also auf der exakt gleichen Architektur und Gewichtsstruktur, unterscheiden sich aber nur in der Quantisierungstiefe – also der Anzahl der Bits, mit denen die Gewichtungen gespeichert werden.

Die Tests wurden mit llama.cpp unter denselben Hardware- und Laufzeitbedingungen durchgeführt.


Messergebnisse

SetupModell(e)Tokens/s
Ohne Speculative DecodingQ6_K54 Tokens/s
Mit Speculative DecodingQ6_K (Target) + Q2_K (Draft)25 Tokens/s

Das Ergebnis ist eindeutig:
Mit aktiviertem Speculative Decoding sinkt die Performance auf weniger als die Hälfte.


Warum ist das so?

Speculative Decoding funktioniert dann gut, wenn ein kleines, schnelles Draft-Modell mehrere Token vorschlagen kann, die vom großen, genauen Modell bestätigt werden. Dadurch kann das teure Modell mehrere Tokens „in einem Schritt“ abarbeiten, anstatt jedes Token einzeln zu berechnen.

In diesem Test gab es jedoch keinen echten Geschwindigkeitsvorteil, weil:

  1. Beide Modelle gleich groß sind.
    Das Draft-Modell (Q2_K) führt dieselbe Anzahl an Layern und Operationen aus wie das Target-Modell (Q6_K). Der Unterschied liegt nur in der Quantisierung, nicht in der Architektur.
    → Die Berechnungszeit pro Token bleibt also nahezu identisch.
  2. Die Überprüfung durch das Target-Modell kostet Zeit.
    Selbst wenn das Draft-Modell Tokens schneller erzeugt, muss das Target-Modell diese Tokens validieren. Diese „Verifikationskosten“ sind bei einem 30B-Modell erheblich und dominieren den Laufzeitgewinn.
  3. Der Synchronisations-Overhead verschlechtert die Bilanz.
    Zwischen den Modellen müssen kontinuierlich Token-Probabilities ausgetauscht werden. Dieser Mehraufwand an Speicher- und CPU/GPU-Kommunikation kostet zusätzlich Zeit.
  4. Quantisierung ≠ kleinere Rechenkomplexität.
    Eine niedrigere Quantisierung reduziert zwar Speicherbedarf und Bandbreitenverbrauch, aber nicht die Anzahl der Matrixmultiplikationen. Das Draft-Modell ist also nicht wirklich „leichter“, sondern nur kompakter im Speicher.

Fazit aus dem Test

Der Versuch, für Speculative Decoding das gleiche Modell mit niedrigerer Quantisierung zu verwenden, führt in der Praxis zu keiner Beschleunigung – im Gegenteil, die Performance sinkt teils drastisch.

Das Beispiel mit dem Qwen3-Coder-30B-A3B-Instruct zeigt das sehr deutlich:

Ohne Draft-Modell: 54 Tokens/s
Mit Draft-Modell (Q2_K): 25 Tokens/s

Damit ist klar:
Speculative Decoding lohnt sich nur, wenn das Draft-Modell wirklich kleiner ist – nicht nur niedriger quantisiert.


Das eigentliche Problem bei Qwen3-Coder

Für das Qwen3-Coder-30B-A3B-Instruct-Modell existiert derzeit kein offiziell abgestimmtes, kleineres Dense-Modell, das dieselbe Tokenizer- und Architekturkompatibilität bietet.
Das macht es schwer, einen typischen 1B- oder 7B-Draft-Ansatz (wie bei Llama- oder Mistral-Modellen) umzusetzen.

Solange kein solches „Mini-Qwen3-Coder“-Modell verfügbar ist, bleibt Speculative Decoding mit identischen Modellen konzeptionell ineffizient.


Fazit

  • Speculative Decoding ist kein Allheilmittel.
    Der Nutzen hängt stark von der Modellgröße und dem Verhältnis zwischen Draft- und Target-Modell ab.
  • Niedrigere Quantisierung ersetzt keine kleinere Architektur.
    Quantisierung senkt Speicherverbrauch und Energiebedarf, aber nicht die logische Rechenlast.
  • Bei gleich großen Modellen verschlechtert sich die Performance, weil die Verifikationsphase und Synchronisation die leichten Vorteile des Draft-Modells überwiegen.

Ausblick

Sobald kleinere, kompatible Qwen3-Coder-Modelle (z. B. 3B oder 7B) mit gleicher Tokenizer-Struktur verfügbar sind, könnte ein erneuter Test interessant werden.
Erst dann lässt sich das volle Potenzial von Speculative Decoding auch mit Qwen3 nutzen.

Bis dahin gilt:

Gleiches Modell in anderer Quantisierung = kein echter Geschwindigkeitsgewinn.

Veröffentlicht in Allgemein