LumoTree: Path-Parallel Speculative Verification for Hybrid Language Models
Abstract
Tree speculative decoding for hybrid language models must preserve one coherent continuation across recurrent, convolution, and attention state. We present LumoTree, a verifier that executes recurrent paths in parallel, reuses state tiles within each path, and coordinates native recurrent replay, convolution-history gathering, and attention-cache remapping through a shared logical tree. Fused candidate selection, GPU-resident acceptance, and grouped split-K attention support the verification cycle. Component experiments show exact candidate-selection parity and recurrent agreement within paired error bounds. An exploratory Qwen3.8-27B NVFP4 deployment on a single NVIDIA DGX Spark (GB10) records 25.63 pooled tokens/s on ten SWE-bench Verified Astropy tasks. The results characterize component-level numerical agreement and coding-agent deployment; complete-model continuation and controlled application speedups remain open.
Figures & tables
| Method | Verification work | Continuation state |
|---|---|---|
| Weaver [ 7 ] | Ancestor-masked triangular solve | Short selected-path recurrence |
| SpecLA [ 6 ] | Resident state tiles; parallel chains | Buffered factors; later fused update |
| Bole [ 28 ] | Finite-Neumann correction solve | Compact factors; state reconstruction |
| TreeWY [ 30 ] | Triangular solve in fused kernel | Prior-path reconstruction with next verify |
| ReplaySSM [ 31 ] | Corrected inputs; cached transitions | Deferred state update |
| OneLA [ 32 ] | Shared-base projections across beams | Compact per-beam transition records |
| Starting work or constraint | LumoTree change | What must remain consistent |
|---|---|---|
| Host path-list construction between acceptance and publication | Device-selected path feeds captured native replay, convolution, KV and drafter selection | All consumers select the same materialized prefix; pending and padded tokens do not advance state |
| Logical ancestry does not determine physical KV placement | Spine-contiguous slots with coordinated writes, mask columns and accepted-path remap | Logical query order, physical source slots and native destination positions agree |
| Per-node convolution histories and repeated layer preparation | Static ancestry gathers, fused ordered taps and per-layer operand buffers | Tap order, cast boundaries, history padding and layer identity |
| Separate score preparation and argmax/top-k operations | One shared logits tensor and fused selection into graph buffers | Both reference tie conventions, candidate order and duplicate behavior |
| Repeated KV staging and limited decode parallelism | Grouped query heads and split-K in the patched tree-attention kernel | Tree visibility and slot mapping across partitions; characterized reduction error |
| Metric | Value |
|---|---|
| Accepted drafts per event | 4.05 |
| Target span (ms) | 114.89 |
| Drafter span (ms) | 54.76 |
| Dispatch span (ms) | 20.15 |
| Operand sets | BF16 output bitwise | FP32 state bitwise | Paired rule passed |
|---|---|---|---|
| Calibration | 3,004/3,072 | 2,688/2,688 | 5,760/5,760 |
| Held-out | 3,018/3,072 | 2,688/2,688 | 5,760/5,760 |
| Configuration | Output cells | State cells |
|---|---|---|
| Native GPU recurrence reference | ||
| LumoTree | 0 | 0 |
| Sequential software references | ||
| Weaver author-default | 53,745 | 1,154 |
| Weaver (FP32 preparation) | 57,707 | 388 |
| TreeWY author-default | 37,528 | 6,912 |
Appendix figures & tables3 assets
Supplementary material from the paper’s appendix.
Appendix
| Setting | LumoTree / vLLM |
|---|---|
| Target | Qwen3.8-27B; ModelOpt mixed NVFP4, BF16 execution |
| Proposals | 27 drafts plus root, padded to 32 rows; maximum depth 11 |
| Attention | Patched FlashAttention-2; head grouping 2, split-K 4 |
| Context | 131,072 tokens |
| Scheduling | 4,096 scheduled tokens; one sequence |
| Response cap | 24,000 tokens |
| Task suffix | Agent time (min) | Evaluation |
|---|---|---|
| 13977 | 25 | Failed tests |
| 14096 | 23 | Resolved |
| 14182 | 7 | Failed tests |
| 14309 | 2 | Resolved |
| 14365 | 7 | Failed tests |
| 14369 | 28 | Resolved |
| Starting-state control | Greedy | State/ logits | Joint choices |
|---|---|---|---|
| Natural prefill | 70/84 | 0/84 | – |
| Common target state | 84/84 | 84/84 | – |
| Common target and MTP state | 84/84 | 65/84 | 68/84 |
| With fixed kernel selection | 84/84 | 65/84 | 68/84 |