CURE 精读¶
核心思想¶
CURE 观察 block-parallel 草稿错误常由少量低 margin token触发并破坏整个 suffix,没必要把整块扩成大树。它计算 top candidates的 predictive confidence margin,只在脆弱位置开 bounded repair branches;固定总节点、每点分支和 active frontier预算,一次 target tree verify。若原路径前段接受而 repair分支纠正局部 token,cache-resynchronization把后续 draft state重新对齐,避免修补后所有 suffix状态作废。
它是 training-free plug-in:底层 block drafter需要已有多 token训练,但 CURE本身不改权重。Qwen3-8B、block16、HumanEval/MBPP/LCB-lite/GSM8K,较无 repair parallel baseline接受长 +4.2–7.5%,相对 target-only端到端 2.66–3.49×。表中跨论文速度来自各自系统,只能受控同运行表用于归因;代码 correctness表检查生成程序 pass@1没有因修补下降。
greedy equality verify保持目标序列;随机模式若 repair tree做多候选采样必须使用有证明的 tree verifier,margin本身不是接受规则。局限是“局部错误”在开放对话未必成立,margin校准会漂移,构树/resync开销可能吃掉小幅 τ增益。复现应分别 ablate repair point、branch0、resync和三类预算,报告实际树节点与 TPOT。原文第 3–5 页算法,第 5–8 页结果/消融,第9页限制。
实现级拆解与验证清单¶
实现时先保留原 block 的主链节点,再按 margin 从小到大挑选 repair positions;每个候选分支必须携带父节点索引、深度、累计分数和对应的 draft state,随后将节点重新拓扑排序并生成因果 tree mask。cache-resynchronization 不是普通 KV 截断:修补 token 改变后,后续轻量状态要从新的已接受父节点继续递推,否则会把旧主链的隐藏状态误当成新分支状态。最小正确性测试应人为构造“第 2 位错、后面预测仍可恢复”的短序列,逐节点核对 parent map、position id、mask 与最终提交前缀。
判断收益时要把“额外接受 token”换算成成本:分别记录 margin 排序、分支生成、树打包、target verify 和状态重同步时间,并用相同总 verification 节点数比较无修补基线。若只固定分支数而实际节点不同,结论会混入更多 target 计算。还应按 margin 分桶画真正的错误率/可修复率,检验低 margin 是否既能预测错误又能预测“单点修复后 suffix 可继续”;前者成立而后者不成立时,CURE 会退化为昂贵的多候选树。