Speculative Decoding: 2-Bit-Kopie im VRAM, Rest im RAM als Verifier
Ein Community-Ansatz teilt ein Modell nach Bits auf: Die 2-Bit-Hälfte auf der GPU entwirft Tokens, das Residual im RAM prüft sie. So lassen sich Modelle nutzen, die nicht in den VRAM passen.

Worum es geht
Ein Reddit-Nutzer stellt eine Idee für Speculative Decoding vor. Eine 2-Bit-Version des Modells liegt im VRAM, die restlichen Gewichte (6–8 Bit Residual) im Systemspeicher. Die 2-Bit-Kopie entwirft Tokens, das volle Modell prüft sie. Die GPU rechnet den 2-Bit-Teil, die CPU den Residual-Teil, über PCIe laufen nur Aktivierungen.
Die wichtigsten Fakten
- Der Draft kostet keinen zusätzlichen Speicher, da er ein Teil des Verifiers ist.
- 2-Bit plus 8-Bit-Residual liegt näher an bf16 als Q8_0, bei etwa halber KL-Divergenz.
- Mit 6-Bit-Residual Q8_0-Qualität bei ca. 28 % weniger aus dem RAM gelesenen Bytes.
- Der Draft mit geteiltem KV-Cache akzeptiert laut Autor 25–30 % mehr Tokens pro Check als Googles offizieller Gemma-4-Drafter (31B, 16-Node-Tree: 5,23 vs. 4,20).
- Der CPU-Kernel prüft 16 Tokens in etwa der Zeit von einem, da speichergebunden.
- Gemessen mit dequantisierten Gewichten in PyTorch, noch keine tok/s.
- Code auf Hugging Face: HappyGuitar123/twobit-residual-spec.
Einordnung
Ein interessanter, aber früher Proof of Concept ohne echte Geschwindigkeitsmessung. Sinnvoll nur, wenn Q8 nicht in den VRAM passt; sonst reicht llama.cpp. Die Ergebnisse sind selbst berichtet und nicht unabhängig geprüft.