Literature review · Pluralis · Part III · August 2026
Part II identified four levers for speculative decoding in pipeline-parallel inference. This deep dive takes the two that decide WAN performance: amortize traversals (get more accepted tokens out of every pipeline lap) and shrink the wire (spend fewer bytes per lap). They are the numerator and denominator of one objective — tok/s = L(n) ÷ T_lap(n) — and they trade against each other: bigger verification trees raise acceptance and multiply inter-stage bytes. The literature now contains enough theory and measurement to size that trade quantitatively.
For a single decode stream on an N-stage WAN pipeline verifying a speculation tree of n nodes per lap, throughput is
tok/s = L(n) ÷ T_lap(n), T_lap(n) = Σi [ RTTi + n·sh/BWi ] + compute(n) + T_return
where L(n) is expected accepted tokens for an n-node tree (drafter-dependent, growing ≈ logarithmically in n — Sequoia, Thm 3.6), and sh is the per-node payload crossing each link (≈ d_model × bytes-per-value, plus protocol overhead). Lever 1 raises L(n); lever 4 shrinks sh and T_return. Everything below is evidence about the shape of those two functions. DSD ('25) publishes the same algebra as a communication-reduction ratio — accepting k tokens per round cuts comm latency by (N−1)t₁(k−1)/k, measured ≈37% at 8 nodes — and the split-inference-over-WAN paper measured the constant term: at ~80 ms RTT, RTT is 63–64% of step time and acceptance below ≈1.15–1.20 tokens/pass does not pay at all.
For a chain drafter with per-token acceptance rate α and draft length K, the classic result (Leviathan et al.) is E[L] = (1−αK+1)/(1−α), which saturates at 1/(1−α) as K grows. An α = 0.8 drafter can never average more than 5 accepted tokens per lap no matter how long it drafts; α = 0.9 caps at 10. Over WAN — where drafting is local and nearly free while each lap costs ~200 ms — the classical cost-ratio optimum pushes K up hard, but the geometric ceiling stands:
E[accepted tokens per verification pass] = (1−α^(K+1)) / (1−α) · dashed lines mark each ceiling 1/(1−α)
Two quantitative warnings from the 2025 scaling-law study (arXiv 2505.07858): acceptance length grows only logarithmically in draft capacity — τ ≈ 0.74·log₁₀(draft layers) + 4.61 and τ ≈ 0.08·log₁₀(pretrain tokens) + 5.05 — so each extra accepted token costs roughly an order of magnitude more drafter; and the optimal verification width shrinks ≈ 1/√batch, so amortization budgets belong to low-batch regimes — exactly the single-stream WAN setting.
Sequoia proves that with optimal topology the expected accepted length G(n) is unbounded, growing ≈ log n — while naive k-independent-sequence trees asymptote (+33% tokens/step over them at 512 nodes). The measured frontier confirms it. EAGLE-2's dynamic tree is the accepted-per-node efficiency champion (τ ≈ 3.7–5.4 from only 60 nodes: top-10 expansion, depth 6, global rerank), tuned for GPUs where verification FLOPs bind. SpecExec is the accepted-per-lap champion, built for the offloading regime whose cost structure matches WAN — a Dijkstra-style search materializes the top-B cumulative-probability prefixes:
SpecExec vs SpecInfer trees, Llama-2 7B draft → 70B target, greedy · from SpecExec (NeurIPS'24), Fig. 3 / Table 2
A second, purely verifier-side family raises L(n) at zero draft cost — all lossless, all stackable on any tree:
| Rule | Source | Idea | Measured gain |
|---|---|---|---|
| Block verification | Sun et al. '24 | Verify the whole draft block jointly instead of token-by-token; provably optimal among lossless chain verifiers | +5–8% wall-clock, free |
| Traversal verification | '25 | Leaf-to-root tree verification — accepting a leaf accepts its whole path; gains grow with depth & temperature | +2.2–5.7% acceptance |
| SpecTr | ICML'24 | Multi-draft selection as optimal transport; (1−1/e)-optimal in near-linear time | 1.37× over single-draft SD |
| Optimal MDSD | '25 | Exact optimal multi-draft acceptance via subset selection; shows RRS leaves 0.9–1.5 pp on the table | ~+1 pp/position (compounds over depth) |
| SpecHub | '24 | Sparse-LP relaxation of the OT verifier | +0.05–0.27 tok/step vs RRS |
| UniVer | '26 | Conditional-OT down the tree, unifying multi-step × multi-draft; current best lossless tree verifier | τ +7.5–8.5% vs RRS-w/o-replacement |
| Typical acceptance | Medusa '24 | Accept if p_target(x) > min(ε, δ·e^(−H)) — the only knob that moves the α-ceiling itself; not lossless | grows with temperature |
At a 200 ms lap, a "+5–8%" verifier-side gain is 10–16 ms of WAN time saved per lap, from a code change that touches no model and no network.
The pipeline changes tree economics in one important way: tree depth can grow one layer per stage-hop instead of one lap per layer. SpecPipe/PipeDec's schedule generates draft layer ℓ+1 while layer ℓ is in flight, keeps a separate tree-KV per stage so each hop transmits only the newest tree layer (width × d_model, not the whole tree), and migrates accepted tokens' KV into the model cache without recompute. FlowSpec adds in-flight pruning where only index sets travel — dead branches stop consuming downstream bytes. PipeInfer sizes micro-speculations (1–4 tokens) reactively with a confidence cutoff and cancels invalidated runs mid-pipe; Speculative² Decoding pre-builds the next tree during verification so a cache hit hides all draft latency — at WAN lap times there is room to pre-speculate several plausible outcomes. DiP-SD gives the multi-stream version: jointly choose per-stream draft length and batch assignment to maximize E[accepted]/pipeline-span. One caution from SPD: with in-pipeline drafting heads, returns saturate as stage count grows because newly injected tokens carry only shallow features — deep pipelines favor a strong external drafter over in-pipe heads.
The accept test itself is nearly free: for γ drafted tokens the verifier needs token ids (~3 B each) plus the scalar draft probability q(x) of each chosen token (2 B) — ~40 bytes at γ = 8. The expensive part is rejection resampling, which needs the full target distribution p and draft distribution q co-located somewhere. Published protocols occupy exactly three exact placements — plus a fourth, information-theoretically optimal one that no system ships yet:
| Protocol | Uplink / round | Downlink | Exact? | Measured |
|---|---|---|---|---|
| Naive distributed SD | ids + full draft distributions (~61 KB measured, OPT vocab; ~MBs at 128K vocab) | full logits ~500 KB | ✓ | ≤1× — loses to no speculation (DSSD, PicoSpec: 0.44×) |
| DSSD (ICML'25) | γ ids + γ scalars q(x) → <50 B | 1 bonus token; full P only on rejection (device resamples the residual locally) | ✓ lossless | 1.5–2.4× at 0–50 ms RTT |
| PicoSpec ('26) | ids + scalars <50 B | top-K (K=10) sparse distribution: ~500 KB → <100 B | ≈ exact w.r.t. the truncated sampler; true residual tail dropped | 2.90×; partial-arrival verify |
| Top-K draft uplink (2509.04576, TSLT) | K=320 fp16 ≈ 10 KB (vs ~500 KB); ~0.85 mass kept | accepted ids + rejection position | exact w.r.t. truncated Q; acceptance shifts, bias bounded by dropped mass | comm share 0.30 → 0.07 |
| Conformal sparsification (NeurIPS'25) | adaptive per-token support under a bit budget (~5000 bits) | — | dropped mass ≤ α by online conformal control | bounded rejection-rate inflation (Thm 1) |
| Shared-RNG exponential races ('25) | token ids only — zero distribution bytes either way (shared noise; verifier's own race winner is the corrected token) | ids only | ✓ exactly P-distributed; cost ≈ D_KL[P‖Q] bits/token | unshipped over any network — open niche (needs cross-hardware float determinism) |
| Attention-mask rollback (Intel '26) | rejected positions masked (attention_mask=0) + logical position_ids instead of KV trimming — no extra round trips, ~48 ms/rejection saved on iGPU | ✓ bit-exact | part of the 100 ms/hop-viable stack | |
In steady-state PP decode the dominant traffic is the hidden state crossing each link — d_model values per token per hop (per tree node per hop when verifying trees). The evidence for how low it goes: Petals shipped dynamic blockwise 8-bit in production ("halves bandwidth… no noticeable effect on quality"); TAH-Quant reaches 3–4 bits on the PP channel (tile-wise Hadamard + entropy-guided bit allocation, 4.3× end-to-end — a training paper, but the forward-pass quantizer is directly reusable at inference); the TP analog (arXiv 2411.09510) lands at ≈4.25 effective bits with +1–3% perplexity, with the sensible rule "quantize only where links are slow." BloomBee ('26, arXiv 2604.21072) adds the lossless option: byte-separation coding of activations to 46% of original size (vs 69–71% for ZSTD/ZipNN), bit-exact at ~300 ms compression overhead — chosen precisely because activation outliers make quantization risky, and worth +18.4% throughput alone at 20 Mbps. The split-computing literature (FrankenSplit: learned variational bottleneck + entropy coding, −60% bitrate at no accuracy loss) has never been applied to the LLM residual stream — an open transplant. Two more unclaimed ideas: anchor+delta coding of activations across adjacent decode steps (CacheGen proved 2.4–2.9× lower variance for deltas in KV space), and joint compression of tree batches (siblings share prefixes; nobody compresses them together).
Computed for this review (framing ~20 B ignored; per token per hop = d_model × bytes/value). W* is the tree width at which per-hop serialization exceeds a 25 ms hop RTT — i.e., where bandwidth replaces latency as the binding constraint:
| Config | Payload / node / hop | t_xfer @ 10 Mbps | @ 100 Mbps | @ 1 Gbps | W* @ 10 | W* @ 100 | W* @ 1G |
|---|---|---|---|---|---|---|---|
| 8B (d=4096) fp16 | 8 KiB | 6.6 ms | 0.66 ms | 0.07 ms | 4 | 38 | 381 |
| 8B int4 | 2 KiB | 1.6 ms | 0.16 ms | 0.02 ms | 15 | 153 | 1526 |
| 70B (d=8192) fp16 | 16 KiB | 13.1 ms | 1.31 ms | 0.13 ms | 2 | 19 | 191 |
| 70B int4 | 4 KiB | 3.3 ms | 0.33 ms | 0.03 ms | 8 | 76 | 763 |
Readings: at ≥100 Mbps with quantized activations, latency dominates all the way to SpecExec-scale trees — width is nearly free. At 10 Mbps, int4 is what buys tree room (8B: W* 4→15); a 70B in fp16 on a 10 Mbps link is bandwidth-bound at width 2, making activation quantization mandatory before any speculation tuning. Protocol metadata (≤50 B) and top-K rejections (≤100 B) are noise everywhere. Real-WAN cross-check: the split-inference paper measured 8 KB/token (7B) and 16 KB (70B) per link, with RTT = 63–64% of step time at 80 ms.
The return leg needs only accepted ids — and even those compress: range-coding tokens against the drafter's shared model costs ≈ cross-entropy bits (LLMZip: 0.71 bits/char with a 7B prior), the same ≈D_KL bound the exponential-races scheme achieves natively. Intel's shards relay the sampled token hop-by-hop instead of a 16 KB hidden state on the return path. For volunteer churn, KV migration is the one big transfer left: CacheGen's anchor+delta, layer-tiered quantization and arithmetic coding compress KV 3.7–4.3× beyond an 8-bit baseline (~15–17× vs fp16) with per-chunk bandwidth adaptation.
Putting the two levers into the §01 objective yields the design chart. Take an 8-hop pipeline at 25 ms/hop (200 ms lap), an 8B model with int4 activations (2 KiB/node/hop), and a SpecExec-class drafter (L(n) ≈ 3.05·ln n − 1.3, fit to its measured curve). Sweep tree size n at three link speeds:
Illustrative model, computed for this review: tok/s = L(n) ÷ [0.2 s + 8·n·2 KiB/BW] · 8 hops × 25 ms · 8B int4 · SpecExec-fit L(n)
The same sweep explains Part II's systems: FlowSpec's segment pruning and PipeDec's one-layer-per-hop transmission both exist to keep the effective n·sh term small while letting logical tree size grow — they move the 10 Mbps curve toward the 1 Gbps one without touching the link. BloomBee's learned pruner is the third instance — scoring candidates before transmission, it keeps 96% of acceptance while cutting tree size 60%.
Chains cap at 1/(1−α); trees are the only unbounded amortizer. Adaptive draft length buys ~10% on a curve that is already flat; tree construction (SpecExec's optimal prefixes: ~21 accepted at 1024 nodes vs ~10 for independent sequences) is where the WAN headroom lives, and Sequoia proves the log-growth is real, not an artifact.
Verifier rules are free money. Block/traversal verification and OT-based multi-draft rules (SpecTr, UniVer) add 2–10% acceptance losslessly, stack on any tree, and cost only code. Typical acceptance is the sole way to move the α-ceiling itself — at the price of exactness.
Exact verification needs ~50 bytes, not kilobytes. DSSD's placement (ids + scalars up, full distribution down only on rejection, residual resampled locally) is lossless and measured; PicoSpec's top-K downlink and Intel's mask rollback finish the protocol. The unshipped optimum is shared-RNG exponential races: zero distribution bytes, exactly P-distributed, ≈D_KL bits/token.
Activations are the bandwidth story, and 4 bits is the working floor. Petals proved 8-bit in production; TAH-Quant shows 3–4-bit on the same channel. Below ~100 Mbps or above ~8B fp16, quantization is a prerequisite for speculation, not an optimization (70B fp16 @ 10 Mbps is bandwidth-bound at tree width 2).
Size the tree to the link. The joint model gives n* ≈ 16 / 64 / 256 at 10 Mbps / 100 Mbps / 1 Gbps for an 8-hop, 8B, int4 pipeline — 3.5× to 13× over no speculation. Four publishable gaps: the bandwidth-aware Sequoia optimizer (BloomBee's break-even threshold S* is the first step — the full sizing policy is open); exponential races over WAN; a FrankenSplit-style learned bottleneck for the residual stream; joint compression of tree activation batches.