{
  "schema_version": 1,
  "builder_plan": {
    "scenario": "Your self-hosted model spends too long generating answers token by token.",
    "change": "Check whether a compatible draft model and serving integration exist before renting compute.",
    "baseline": "The same target with speculation off, then your existing drafter if you have one.",
    "steps": [
      "Locate the paper's implementation and check its license, model support, data needs, and hardware requirements. Stop here if you cannot obtain the required artifacts.",
      "Save a small set of representative product tasks and expected outcomes. Keep evaluation tasks out of any training or tuning, and choose quality and cost limits before running.",
      "Run the baseline and the proposed change on identical inputs. Keep other settings fixed and repeat paired runs to expose variation.",
      "Save per-task outputs, failures, timings, and all usage costs. Review regressions before expanding the test."
    ],
    "measure": "Accepted draft length, tokens per second, tail latency, output quality, and total GPU cost.",
    "decision": "Keep the change only if it meets your preselected quality and latency limits and improves the metric you care about after setup and operating costs. Otherwise retain the baseline. This is an exploration plan, not a validated recommendation."
  },
  "builder_review": null,
  "arxiv_id": "2608.01651",
  "title": "Bole: Efficient Tree Speculation for Hybrid-Attention Language Models",
  "summary": "It replaces branch-by-branch recurrent-state traversal in existing tree-speculation systems with a tree-structured closed-form linear-attention kernel that verifies all proposal nodes in parallel and materializes only the post-sampling selected state. The cost is a custom GPU kernel plus integration effort: the work is built into SGLang, so adoption is practical mainly for teams already serving hybrid-attention models through that stack, and the kernel-runtime co-design adds maintenance complexity. It can fail if the deployed models are full-attention only (the technique does not apply), if draft-model acceptance rates are low enough that tree speculation yields no gain, or if the claimed speedups do not transfer to GPU platforms or batch regimes outside those evaluated.",
  "rationale": "The gains are large and lossless but are realized only inside a specific serving engine on hybrid-attention architectures, so the reader should benchmark it on their own model and workload before committing to production.",
  "technique": "Tree speculation for hybrid-attention models",
  "family": "decodificacao_especulativa",
  "recommendation": "testar",
  "published": "2026-08-03",
  "as_of": "2026-10-18",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2608.01651",
  "independent_implementations": 0,
  "total_implementations": 0,
  "stars": 0,
  "citations": 0,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "It replaces branch-by-branch recurrent-state traversal in existing tree-speculation systems with a tree-structured closed-form linear-attention kernel that verifies all proposal nodes in parallel and materializes only the post-sampling selected state. The cost is a custom GPU kernel plus integration effort: the work is built into SGLang, so adoption is practical mainly for teams already serving hybrid-attention models through that stack, and the kernel-runtime co-design adds maintenance complexity. It can fail if the deployed models are full-attention only (the technique does not apply), if draft-model acceptance rates are low enough that tree speculation yields no gain, or if the claimed speedups do not transfer to GPU platforms or batch regimes outside those evaluated.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2608.01651",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "claim_id": "claim-02",
      "statement": "Up to 4.72x the offline decode throughput of autoregressive decoding, up to 2.03x the strongest tree-speculative baseline, and up to 67.6%/49.9% TTFT/TPOT reduction under online agent workloads.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2608.01651",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "exposure_map": [
    {
      "dimension": "quality",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compute",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "latency",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "operations",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compatibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "security",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "data_and_training",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "reproducibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "risks": [],
  "minimum_test": [],
  "open_questions": [],
  "independent_tests": [],
  "lab_reproductions": [],
  "report_available": false,
  "validation_tier": "unknown",
  "evidence_tier": "unknown",
  "infrastructure_basis": "unknown",
  "equations": [
    {
      "anchor": "S4.E2",
      "label": "(2)",
      "section": "IV Parallel Tree Verification for Recurrent Linear Attention",
      "role": "proposed_method",
      "latex": "\\boxed{O=D_{P}QS_{\\mathrm{pre}}+C(I+G)^{-1}D_{\\beta}\\bigl(V-D_{P}KS_{\\mathrm{pre}}\\bigr).}",
      "mathml": "<math display=\"block\"><mrow><mrow><mi>O</mi><mo>=</mo><mrow><mrow><msub><mi>D</mi><mi>P</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mi>Q</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>S</mi><mi>pre</mi></msub></mrow><mo>+</mo><mrow><mi>C</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msup><mrow><mo stretchy=\"false\">(</mo><mrow><mi>I</mi><mo>+</mo><mi>G</mi></mrow><mo stretchy=\"false\">)</mo></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>D</mi><mi>β</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo maxsize=\"1.200em\" minsize=\"1.200em\">(</mo><mrow><mi>V</mi><mo>−</mo><mrow><msub><mi>D</mi><mi>P</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mi>K</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>S</mi><mi>pre</mi></msub></mrow></mrow><mo maxsize=\"1.200em\" minsize=\"1.200em\">)</mo></mrow></mrow></mrow></mrow><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "Sequential tree execution of the gated delta rule produces",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S4.E7",
      "label": "(7)",
      "section": "IV Parallel Tree Verification for Recurrent Linear Attention",
      "role": "proposed_method",
      "latex": "B_{0}^{(r)} =D_{P}(QS_{\\mathrm{pre}}^{(r)}),\\> R^{(r)} =D_{\\beta}\\!\\left(V^{(r)}-D_{P}(KS_{\\mathrm{pre}}^{(r)})\\right), \\\\ U^{(r)} =\\sum_{m=0}^{d}(-G)^{m}R^{(r)},\\> O^{(r)} =B_{0}^{(r)}+CU^{(r)}.",
      "mathml": "<math display=\"block\"><mrow><msubsup><mi>B</mi><mn>0</mn><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msubsup><mrow><mrow><mphantom></mphantom><mo>=</mo><mrow><msub><mi>D</mi><mi>P</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>Q</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msubsup><mi>S</mi><mi>pre</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msubsup></mrow><mo stretchy=\"false\">)</mo></mrow></mrow></mrow><mo>,</mo></mrow><msup><mi>R</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msup><mrow><mrow><mphantom></mphantom><mo>=</mo><mrow><msub><mi>D</mi><mi>β</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo>(</mo><mrow><msup><mi>V</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msup><mo>−</mo><mrow><msub><mi>D</mi><mi>P</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>K</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msubsup><mi>S</mi><mi>pre</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msubsup></mrow><mo stretchy=\"false\">)</mo></mrow></mrow></mrow><mo>)</mo></mrow></mrow></mrow><mo>,</mo></mrow></mrow></math><math display=\"block\"><mrow><msup><mi>U</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msup><mrow><mrow><mphantom></mphantom><mo>=</mo><mrow><mstyle displaystyle=\"true\"><munderover><mo movablelimits=\"false\">∑</mo><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><mi>d</mi></munderover></mstyle><mrow><msup><mrow><mo stretchy=\"false\">(</mo><mrow><mo>−</mo><mi>G</mi></mrow><mo stretchy=\"false\">)</mo></mrow><mi>m</mi></msup><mo lspace=\"0em\" rspace=\"0em\">​</mo><msup><mi>R</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msup></mrow></mrow></mrow><mo>,</mo></mrow><msup><mi>O</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msup><mrow><mrow><mphantom></mphantom><mo>=</mo><mrow><msubsup><mi>B</mi><mn>0</mn><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msubsup><mo>+</mo><mrow><mi>C</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msup><mi>U</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msup></mrow></mrow></mrow><mo lspace=\"0em\">.</mo></mrow></mrow></math>",
      "context": "The factors <math display=\"inline\"><mrow><mrow><mi>G</mi><mo>,</mo><mi>C</mi></mrow><mo>∈</mo><msup><mi>ℝ</mi><mrow><mi>T</mi><mo lspace=\"0.222em\" rspace=\"0.222em\">×</mo><mi>T</mi></mrow></msup></mrow></math> describe propagation and readout interactions among proposal nodes. They are determined by the tree topology, <math display=\"inline\"><mrow><mi>Q</mi><mo>/</mo><mi>K</mi></mrow></math>, and gates, and are independent of the value channel. Bole therefore partitions the <math display=\"inline\"><msub><mi>d</mi><mi>v</mi></msub></math> columns into <math display=\"inline\"><mrow><msub><mi>N</mi><mi>v</mi></msub><mo>=</mo><mrow><mo stretchy=\"false\">⌈</mo><mrow><msub><mi>d</mi><mi>v</mi></msub><mo>/</mo><msub><mi>b</mi><mi>v</mi></msub></mrow><mo stretchy=\"false\">⌉</mo></mrow></mrow></math> sets <math display=\"inline\"><msub><mi>𝒥</mi><mi>r</mi></msub></math> of at most <math display=\"inline\"><msub><mi>b</mi><mi>v</mi></msub></math> columns. Let <math display=\"inline\"><mrow><msup><mi>X</mi><mrow><mo stretchy=\"false\">(</mo><mi>r</mi><mo stretchy=\"false\">)</mo></mrow></msup><mo>=</mo><mi>X</mi><mrow><mo stretchy=\"false\">[</mo><mo rspace=\"0em\">:</mo><mo>,</mo><msub><mi>𝒥</mi><mi>r</mi></msub><mo stretchy=\"false\">]</mo></mrow></mrow></math> for <math display=\"inline\"><mrow><mi>X</mi><mo>∈</mo><mrow><mo stretchy=\"false\">{</mo><mrow><msub><mi>S</mi><mi>pre</mi></msub><mo>,</mo><mi>V</mi><mo>,</mo><msub><mi>B</mi><mn>0</mn></msub><mo>,</mo><mi>R</mi><mo>,</mo><mi>U</mi><mo>,</mo><mi>O</mi></mrow><mo stretchy=\"false\">}</mo></mrow></mrow></math>. Restricting Eq. (2) to one value tile gives",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S4.E9",
      "label": "(9)",
      "section": "IV Parallel Tree Verification for Recurrent Linear Attention",
      "role": "complexity",
      "latex": "\\underbrace{\\Theta(Hd_{k}d_{v})}_{\\text{committed state}}+\\underbrace{\\Theta\\!\\left(TH(d_{k}+d_{v}+1)\\right)}_{\\text{tree factors}}.",
      "mathml": "<math display=\"block\"><mrow><mrow><munder><munder accentunder=\"true\"><mrow><mi mathvariant=\"normal\">Θ</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>H</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>d</mi><mi>k</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>d</mi><mi>v</mi></msub></mrow><mo stretchy=\"false\">)</mo></mrow></mrow><mo stretchy=\"true\">⏟</mo></munder><mtext>committed state</mtext></munder><mo>+</mo><munder><munder accentunder=\"true\"><mrow><mpadded width=\"0.621em\"><mi mathvariant=\"normal\">Θ</mi></mpadded><mo>⁡</mo><mrow><mo>(</mo><mrow><mi>T</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><mi>H</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mrow><msub><mi>d</mi><mi>k</mi></msub><mo>+</mo><msub><mi>d</mi><mi>v</mi></msub><mo>+</mo><mn>1</mn></mrow><mo stretchy=\"false\">)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mo stretchy=\"true\">⏟</mo></munder><mtext>tree factors</mtext></munder></mrow><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "Factorized speculative states. Materializing <math display=\"inline\"><mi>T</mi></math> candidate states has space complexity <math display=\"inline\"><mrow><mi mathvariant=\"normal\">Θ</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>T</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><mi>H</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>d</mi><mi>k</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>d</mi><mi>v</mi></msub></mrow><mo stretchy=\"false\">)</mo></mrow></mrow></math>. By Lemma 1, Bole retains only the node factors <math display=\"inline\"><mrow><mi>P</mi><mo>,</mo><mi>K</mi><mo>,</mo><mi>U</mi></mrow></math> in addition to the single committed state, reducing the speculative-state storage complexity to",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    }
  ],
  "equations_status": "selected",
  "core_kind": "formula",
  "equations_fetched_at": "2026-09-16",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}