{
  "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.16648",
  "title": "GrowMTP: Can RL Grow Its Own Draft Head?",
  "summary": "GrowMTP replaces the separate pretraining or warm-up phase required to obtain a speculative-decoding draft head by training that head from scratch inside the RL loop, using rollout verification signals as supervision with gradients detached from the policy backbone. The cost is additional training compute and integration complexity within the RL framework, plus acceptance-rate variance while the head converges early in the run. It can fail to deliver end-to-end gains if rollouts are not the wall-clock bottleneck, if the workload's rollout distribution is too broad for the head to learn useful drafts, or when the model already ships with a strong draft head, where the reported gain shrinks to 1.20x.",
  "rationale": "The method is only relevant if the reader runs RL post-training on small open models, which is feasible on a single 24 GB GPU for 4B-class models, so the claimed speedup warrants a workload-specific trial rather than blind adoption or dismissal.",
  "technique": "Online draft-head training inside RL loop",
  "family": "decodificacao_especulativa",
  "recommendation": "testar",
  "published": "2026-09-15",
  "as_of": "2026-10-18",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2609.16648",
  "independent_implementations": 0,
  "total_implementations": 0,
  "stars": 0,
  "citations": 0,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "GrowMTP replaces the separate pretraining or warm-up phase required to obtain a speculative-decoding draft head by training that head from scratch inside the RL loop, using rollout verification signals as supervision with gradients detached from the policy backbone. The cost is additional training compute and integration complexity within the RL framework, plus acceptance-rate variance while the head converges early in the run. It can fail to deliver end-to-end gains if rollouts are not the wall-clock bottleneck, if the workload's rollout distribution is too broad for the head to learn useful drafts, or when the model already ships with a strong draft head, where the reported gain shrinks to 1.20x.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.16648",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "claim_id": "claim-02",
      "statement": "Reported rollout speedups of 2.13x, 1.93x, and 1.36x and end-to-end RL speedups of 1.60x, 1.41x, and 1.20x on Qwen3-4B, MiMo-7B-SFT, and Qwen3.5-4B-Base respectively, with the largest gains for models lacking a pretrained draft head.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.16648",
      "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": "S3.E6",
      "label": "(6)",
      "section": "3 GrowMTP: Growing Draft Heads within RL",
      "role": "baseline",
      "latex": "\\mathcal{L}_{\\mathrm{TV}}\\;=\\;-\\sum_{l=1}^{K}\\prod_{i=1}^{l}\\alpha_{i}.",
      "mathml": "<math display=\"block\"><mrow><mi>ℒ</mi><msub><mrow></mrow><mi>TV</mi></msub><mo rspace=\"0.058em\">=</mo><mo rspace=\"0.055em\">−</mo><mo movablelimits=\"false\" rspace=\"0em\">∑</mo><msub><mrow></mrow><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow></msub><msup><mrow></mrow><mi>K</mi></msup><mo movablelimits=\"false\">∏</mo><msub><mrow></mrow><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow></msub><msup><mrow></mrow><mi>l</mi></msup><mi>α</mi><msub><mrow></mrow><mi>i</mi></msub><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "where <math display=\"inline\"><mi>TV</mi></math> is the total variation distance. Acceptance is chain-dependent: the <math display=\"inline\"><mi>l</mi></math>-th token contributes only when positions <math display=\"inline\"><mn>1</mn></math> through <math display=\"inline\"><mi>l</mi></math> are all accepted. Chaining these local rates yields a differentiable surrogate for the accepted length, whose negation is the TV loss (Zhou et al., 2024; Li et al., 2026a)",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E7",
      "label": "(7)",
      "section": "3 GrowMTP: Growing Draft Heads within RL",
      "role": "proposed_method",
      "latex": "\\mathcal{L}_{\\mathrm{DCA}}\\;=\\;-\\log\\bigl(-\\mathcal{L}_{\\mathrm{TV}}\\bigr)\\;=\\;-\\log\\sum_{l=1}^{K}\\exp\\Bigl(\\sum_{i=1}^{l}\\log\\alpha_{i}\\Bigr),",
      "mathml": "<math display=\"block\"><mrow><msub><mi>ℒ</mi><mi>DCA</mi></msub><mo lspace=\"0.558em\" rspace=\"0.058em\">=</mo><mo>−</mo><mi>log</mi><mrow><mo maxsize=\"1.200em\" minsize=\"1.200em\">(</mo><mo lspace=\"0em\">−</mo><msub><mi>ℒ</mi><mi>TV</mi></msub><mo maxsize=\"1.200em\" minsize=\"1.200em\" rspace=\"0.280em\">)</mo></mrow><mo rspace=\"0.058em\">=</mo><mo>−</mo><mi>log</mi><munderover><mo movablelimits=\"false\">∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mi>exp</mi><mrow><mo maxsize=\"1.600em\" minsize=\"1.600em\">(</mo><munderover><mo lspace=\"0em\" movablelimits=\"false\">∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><mi>log</mi><msub><mi>α</mi><mi>i</mi></msub><mo maxsize=\"1.600em\" minsize=\"1.600em\">)</mo></mrow><mo>,</mo></mrow></math>",
      "context": "To give cycles with smaller chain values greater relative gradient weight, we apply a logarithmic transformation to the acceptance-chain surrogate to obtain the DCA training objective (Appendix I):",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E9",
      "label": "(9)",
      "section": "3 GrowMTP: Growing Draft Heads within RL",
      "role": "proposed_method",
      "latex": "\\mathcal{L}_{\\mathrm{DCA}}^{\\mathrm{VGM}}\\;=\\;-\\log\\sum_{l=1}^{\\min(j,K)}\\prod_{i=1}^{l}\\alpha_{i},",
      "mathml": "<math display=\"block\"><mrow><mi>ℒ</mi><msub><mrow></mrow><mi>DCA</mi></msub><msup><mrow></mrow><mi>VGM</mi></msup><mo rspace=\"0.058em\">=</mo><mo>−</mo><mi>log</mi><mo movablelimits=\"false\" rspace=\"0em\">∑</mo><msub><mrow></mrow><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow></msub><msup><mrow></mrow><mrow><mi>min</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mi>j</mi><mo>,</mo><mi>K</mi><mo stretchy=\"false\">)</mo></mrow></mrow></msup><mo movablelimits=\"false\">∏</mo><msub><mrow></mrow><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow></msub><msup><mrow></mrow><mi>l</mi></msup><mi>α</mi><msub><mrow></mrow><mi>i</mi></msub><mo>,</mo></mrow></math>",
      "context": "This soft weighting does not enforce the realized rejection boundary: positions after the first rejection can still receive nonzero gradients. Since verification already marks the first-rejection position <math display=\"inline\"><mi>j</mi></math> of each cycle, with <math display=\"inline\"><mrow><mi>j</mi><mo>=</mo><mrow><mi>K</mi><mo>+</mo><mn>1</mn></mrow></mrow></math> when every draft is accepted, we introduce verify-gated masking (VGM), which truncates the chain sum at and including the first rejected position of the recorded cycle,",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    }
  ],
  "equations_status": "selected",
  "core_kind": "formula",
  "equations_fetched_at": "2026-10-15",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}