{
  "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": "2609.15504",
  "title": "How Lossless Is Lossless Speculative Decoding? The Role of Numerical Precision in Orthrus",
  "summary": "Orthrus-style intra-model speculative decoding replaces standard autoregressive token-by-token generation with parallel multi-token generation on a frozen backbone, aiming for identical outputs at higher speed. Adopting it costs implementation complexity and, critically, requires FP32 inference to guarantee losslessness, which reduces or eliminates the speed advantage; under BF16 exact trajectory matching occurred in only 43-45% of 1,190 prompts. After adoption, the output distribution can silently diverge from the reference model under reduced precision, and benchmark scores may look unaffected while per-prompt trajectories differ, which matters for reproducibility and deterministic applications.",
  "rationale": "The paper shows that the losslessness guarantee of this speculative decoding approach fails under standard BF16 inference, so the reader must validate exact-match rates and precision requirements on their own workload before relying on it in production.",
  "technique": "Precision-sensitive lossless speculative decoding (Orthrus)",
  "family": "decodificacao_especulativa",
  "recommendation": "testar",
  "published": "2026-09-14",
  "as_of": "2026-10-18",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2609.15504",
  "independent_implementations": 0,
  "total_implementations": 1,
  "stars": 0,
  "citations": 0,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "Orthrus-style intra-model speculative decoding replaces standard autoregressive token-by-token generation with parallel multi-token generation on a frozen backbone, aiming for identical outputs at higher speed. Adopting it costs implementation complexity and, critically, requires FP32 inference to guarantee losslessness, which reduces or eliminates the speed advantage; under BF16 exact trajectory matching occurred in only 43-45% of 1,190 prompts. After adoption, the output distribution can silently diverge from the reference model under reduced precision, and benchmark scores may look unaffected while per-prompt trajectories differ, which matters for reproducibility and deterministic applications.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.15504",
      "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.Ex1",
      "label": "",
      "section": "4 Results",
      "role": "metric",
      "latex": "\\operatorname{PPL}_{\\mathrm{Qwen}}(y\\mid x)=\\exp\\left(-\\frac{1}{|y|}\\sum_{t=1}^{|y|}\\log p_{\\mathrm{Qwen}}\\left(y_{t}\\mid x,y_{<t}\\right)\\right).",
      "mathml": "<math display=\"block\"><mrow><msub><mi>PPL</mi><mi>Qwen</mi></msub><mrow><mo stretchy=\"false\">(</mo><mi>y</mi><mo lspace=\"0em\" rspace=\"0.167em\">∣</mo><mi>x</mi><mo stretchy=\"false\">)</mo></mrow><mo>=</mo><mi>exp</mi><mrow><mo>(</mo><mo lspace=\"0em\">−</mo><mfrac><mn>1</mn><mrow><mo stretchy=\"false\">|</mo><mi>y</mi><mo stretchy=\"false\">|</mo></mrow></mfrac><munderover><mo movablelimits=\"false\">∑</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo stretchy=\"false\">|</mo><mi>y</mi><mo stretchy=\"false\">|</mo></mrow></munderover><mi>log</mi><msub><mi>p</mi><mi>Qwen</mi></msub><mrow><mo>(</mo><msub><mi>y</mi><mi>t</mi></msub><mo lspace=\"0em\" rspace=\"0.167em\">∣</mo><mi>x</mi><mo>,</mo><msub><mi>y</mi><mrow><mphantom></mphantom><mo>&lt;</mo><mi>t</mi></mrow></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "A natural hypothesis is that trajectory matching may depend on the reference model’s confidence in the generated response. We quantify this confidence using the response-conditional perplexity assigned by the reference Qwen3-1.7B model. The conditional perplexity values, denoted as PPL (response<math display=\"inline\"><mo fence=\"false\" stretchy=\"false\">|</mo></math>prompt), shown in the tables are calculated by the Qwen3-1.7B model. For a prompt <math display=\"inline\"><mi>x</mi></math> and generated response <math display=\"inline\"><mrow><mi>y</mi><mo>=</mo><mrow><mo stretchy=\"false\">(</mo><msub><mi>y</mi><mn>1</mn></msub><mo>,</mo><mi mathvariant=\"normal\">…</mi><mo>,</mo><msub><mi>y</mi><mrow><mo stretchy=\"false\">|</mo><mi>y</mi><mo stretchy=\"false\">|</mo></mrow></msub><mo stretchy=\"false\">)</mo></mrow></mrow></math>, the response-conditional perplexity is defined as",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S4.Ex2",
      "label": "",
      "section": "4 Results",
      "role": "metric",
      "latex": "\\operatorname{logit}P(Y=1)=\\beta_{0}+\\beta_{1}\\log\\operatorname{PPL}(y\\mid x)+\\beta_{2}L+\\gamma_{D}.",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><mi>logit</mi><mo lspace=\"0.167em\">⁡</mo><mrow><mi>P</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>Y</mi><mo>=</mo><mn>1</mn></mrow><mo stretchy=\"false\">)</mo></mrow></mrow></mrow><mo>=</mo><mrow><msub><mi>β</mi><mn>0</mn></msub><mo>+</mo><mrow><msub><mi>β</mi><mn>1</mn></msub><mo lspace=\"0.167em\" rspace=\"0em\">​</mo><mrow><mi>log</mi><mo lspace=\"0.167em\">⁡</mo><mrow><mi>PPL</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mi>y</mi><mo fence=\"true\" lspace=\"0em\" rspace=\"0em\">∣</mo><mi>x</mi><mo stretchy=\"false\">)</mo></mrow></mrow></mrow></mrow><mo>+</mo><mrow><msub><mi>β</mi><mn>2</mn></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mi>L</mi></mrow><mo>+</mo><msub><mi>γ</mi><mi>D</mi></msub></mrow></mrow><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    }
  ],
  "equations_status": "selected",
  "core_kind": "formula",
  "equations_fetched_at": "2026-10-07",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}