WaveFront Decoding: Parallelized Self-Speculative Decoding for Looped Language Models
Organizations: Seoul National University
Abstract
Looped language models repeatedly apply a weight-shared block to increase effective depth without increasing parameter count, but the resulting T sequential recurrent-block calls per generated token substantially increase decoding latency. To address the issue, we introduce Wavefront Decoding (WFD), a training-free self-speculative decoding framework designed for looped language models. WFD exploits two properties of these architectures: intermediate recurrence outputs provide effective draft predictions, and weight sharing allows token states at different positions and recurrence depths to be processed in one batched recurrent-block call. WFD organizes these mixed-depth states into a diagonal wavefront, continuously drafting new positions at shallow depth while advancing earlier positions toward full-depth verification. Unlike the phase-separated draft-then-verify schedule, WFD therefore concurrently batches drafting and verification within the same recurrent calls, while rejected drafts are corrected using full-depth predictions. Across six Spec-Bench task categories, WFD achieves 2.42x speedup on Ouro-2.6B and 3.54x on Huginn-3.5B over autoregressive decoding, consistently outperforming draft-then-verify. Cross-recurrence KV sharing further reduces wavefront KV traffic and increases WFD's speedup to 4.81x on Huginn-3.5B. The code is available at https://github.com/summerbro-hhj/wavefront-decoding.
Figures & tables
| Task | Metric | Ouro-2.6B | Huginn-3.5B | ||||
|---|---|---|---|---|---|---|---|
| AR | DtV | WFD (ours) | AR | DtV | WFD (ours) | ||
| Multi-turn Conversation | 0.87 | 0.87 | 0.90 | 0.91 | |||
| TPS | 6.63 | 10.88 | 14.85 | 5.31 | 13.34 | 17.12 | |
| Speedup | 1.00 | 1.64 | 2.24 | 1.00 | 2.51 | 3.22 | |
| Translation | 0.78 | 0.80 | 0.97 | 0.97 | |||
| TPS | 6.63 | 7.05 | 12.70 | 5.31 | 16.85 | 22.23 | |
| Model | Method | KV share | GSM8K | MATH-500 | ||||
| Accuracy | Speedup | Accuracy | Speedup | |||||
| Huginn -3.5B | AR | – (32 slots) | 30.64 | – | 1.00 | 12.60 | – | 1.00 |
| WFD | – (32 slots) | 31.12 +0.48 | 0.88 | 2.54 | 13.20 +0.60 | 0.90 | 2.73 | |
| AR | 4 slots | 31.12 | – | 1.00 | 13.30 | – | 1.00 | |
| WFD | 4 slots | 30.59 -0.53 | 0.98 | 4.81 | 12.80 -0.50 | 0.96 | 4.46 | |
| AR | 1 slot | 31.28 | – | 1.00 | 12.80 | – | 1.00 | |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Method | KV sharing | Accuracy | Token-level match rate | Speedup | |
| GSM8K | ||||||
| Huginn-3.5B | AR | – (32 slots) | 28.00 | – | – | 1.00 |
| WFD | – (32 slots) | 28.00+0.00 | 1.00 | 0.88 | 2.18 | |
| AR | 4 slots | 23.00 | – | – | 1.00 | |
| WFD | 4 slots | 23.00+0.00 | 0.93 | 0.98 | 4.24 | |
| AR | 1 slot | 26.00 | – | – | 1.00 | |
| NVIDIA RTX A6000 | NVIDIA B200 | |
|---|---|---|
| Architecture | Ampere | Blackwell |
| Memory | 48 GB GDDR6 | 180 GB HBM3e |
| Memory bandwidth | 768 GB/s | 7.7 TB/s |
| Peak bf16 throughput (dense) | 154.8 TFLOP/s | 2,250 TFLOP/s |
| Machine balance | FLOP/B | FLOP/B |
| Ouro-2.6B | Huginn-3.5B | |
| Architectural family | full-stack | P/R/C |
| Parameters | 2.6B | 3.5B |
| Hidden size | 2,048 | 5,280 |
| Unique layers | 48 | 2 / 4 / 2 (P/R/C) |
| Attention | MHA, | MHA, |
| FFN inner size (SwiGLU) | 5,632 | 17,920 |
| Model | Memory traffic | Roofline TPS | Measured TPS | Attainment |
|---|---|---|---|---|
| Ouro-2.6b | 21.5 GB/tok | 35.7 tok/s | 6.62 tok/s | 18 % |
| Huginn-3.5b | 107.9 GB/tok | 7.1 tok/s | 5.29 tok/s | 74 % |
| Component | Latency | Share |
|---|---|---|
| GPU idle | 98.3 ms | 65 % |
| GEMV/GEMM | 33.9 ms | 23 % |
| Miscellaneous | 16.2 ms | 11 % |
| Attention | 2.1 ms | 1.4 % |
| Model | KV sharing | Execution | AR (tok/s) | WFD (tok/s) |
|---|---|---|---|---|
| Ouro 2.6b | ✗ | eager mode | 6.74 | 18.72 (2.78 ) |
| CUDA graph | 16.72 (+148%) | 38.51 (2.30 ) | ||
| Huginn 3.5b | ✗ | eager mode | 5.20 | 21.23 (4.08 ) |
| CUDA graph | 5.36 (+3%) | 27.92 (5.21 ) | ||
| ✓ | eager mode | 5.19 | 30.46 (5.87 ) | |
| CUDA graph | 5.36 (+3%) | 33.34 (6.22 ) |
LLM Inference Acceleration
LLM inference acceleration develops algorithms and systems that reduce language-model latency, memory use, and serving cost while preserving output quality.
See all 1,055 papers