扩散草稿的「各自为政」问题,被并行精炼治了——xPress 让 Qwen3-8B 推理提速 1.3 倍
做推理加速的人,这两年大多在盯 speculative decoding。拿一个小模型快速吐草稿,大模型一次验证一批,省掉逐 token 自回归的串行开销。问题落在草稿质量上——草稿写得不好,大模型验证几步就把前面全否了,加速变减速。
块级扩散草稿(block-diffusion drafter,比如 dFlash)一度让人看到希望。一次前向传播就生成一整块草稿 token,overhead 压得很低。但用过的团队很快发现这批 token 是「各自为政」的。问题出在扩散过程最后一步的采样——每个位置独立地从自己的 logit 分布里抽一个 token,抽出来的是边际分布(marginal),不是联合分布(joint)。每个 token 单看都挺合理,连在一起在大模型眼里就不通顺。大模型逐个位置做条件验证,到第二个 token 就看不对了,直接 reject,整块作废。接受长度(acceptance length)上不去,加速效果打折。
arXiv 上有一篇新论文正好卡在这个点上。题目是 xPress: Parallel Refinement for Diffusion Drafters in Speculative Decoding,来自 IBM Research 等团队。做法是在扩散草稿生成之后、目标模型验证之前,加一个轻量的因果精炼器(causal refiner),对整个草稿块做一次并行精炼,把缺失的因果依赖重新补回来。精炼本身也是并行的,不需要逐 token 循环,不把加速吃掉。
论文在 Qwen3-8B 上跑了 7 个数学、代码和聊天 benchmark,xPress 把接受长度平均拉高了大约 30%,最多能到 56%;端到端解码吞吐平均提升 1.3 倍,最高 1.7 倍。对比基线是原版 dFlash 扩散草稿器,没有额外的大模型改动。
吞吐提升 1.3 倍意味着同样显存和延迟预算下,服务能多顶 30% 的请求。对做推理部署的团队,这是不需要换模型就能拿到的收益,改动集中在草稿器这一层,接入成本相对可控。
边界也是有的。论文实验基于 Qwen3-8B,扩散草稿器本身也还在较新的方向,不是所有推理场景都适用。精炼器带来的额外计算虽然很轻(并行处理),但如果目标模型验证本身已经很快,精炼的开销占比会上升,收益可能变薄。论文没有披露精炼器的具体参数量和延迟开销,这一点在实际部署里需要自己测。
块级草稿最大的问题就是「看起来各好各的,连起来不行」,xPress 用并行精炼把因果链补上,补的方式不是串行回退,是一整块修。这比逐 token 精炼的方案干净得多。
做 speculative decoding 的人可以拉一下论文看看精炼器的具体设计——正好打在痛点上。