并行草稿不再各猜各的:候选重排把投机解码吞吐再抬一截,并发32路仍快过未校正草稿
核心概要
并行扩散草稿器一次前向就给出整块候选,但块内各位置互不知情;一种只读草稿器已有隐状态与logits的轻量校正器在相邻候选间并行打分、再从左到右贪心重选,在四个验证模型和十个基准上取得最高平均吞吐,并发32路时仍快于未校正草稿。
深度剖析
并行草稿块里的错误不是缺候选,而是选错候选:草稿器往往已经把验证器最终采纳的词留在自己的前若干候选里,只是没有挑中它。 自回归草稿器按已实现前缀逐位生成,块内依赖天然存在;并行扩散草稿器一次前向预测整块,每个位置看不到前面位置实际选中的词,因此会拼出各自合理却彼此不搭的续写。 在Qwen3-8B上记录草稿器候选并与实际续写比对,块首位置前16候选覆盖验证器词的比率约0.951,块尾降到约0.608,而块尾前1候选只有约0.154;四个验证模型上块首到块尾的前16与前1差距都扩大。
校正被做成对草稿器已有候选的重新打分与重选,而不是再生成新词,因此不需要额外的草稿器前向。 此前的校正方法DSpark和Domino都逐位置递推地引入块内依赖,这个模块落在每个草稿周期的关键路径上,其延迟代价随负载放大。 校正器只使用单次DFlash前向留下的隐状态、候选词id和logits,对相邻槽位候选之间的转移并行打分,再用前缀优先的贪心规则从左到右走一遍网格;在Qwen3-8B上校正器有2,229,505个参数,草稿器与校正器联合训练。
吞吐增益在并发服务下不但保持,还相对扩大,因为并行校正的每周期开销不随负载增长。 顺序校正器在并发升高时逐步失去优势,Domino和DSpark在最高并发下甚至慢于未校正的DFlash草稿器。 在Qwen3-8B关闭思考模式下,从4到32路并发,DCOCO在每个并发点吞吐最高,贪心解码下对最强基线领先6%至23%;十个基准上贪心解码平均吞吐959.7 tok/s、采样762.2 tok/s,均高于DFlash、Domino和DSpark。
启示与展望
报告覆盖四个验证模型(Qwen3-4B、Qwen3-8B、Qwen3-Coder-30B-A3B、Llama-3.1-8B)与十个数学、代码和通用生成基准,在单张B200上以vLLM服务,草稿块大小为16,关闭思考时最多生成2048个token、开启时最多4096个。吞吐在并发1时按请求级速率取中位数,采样结果在种子42、43、44上给出均值与标准差;并发实验覆盖4至32路。读者若关心的是顺序校正器在低并发下的表现,或非DFlash类并行草稿器上的行为,需要另行核对。
校正器的增益依赖草稿器候选池里确实含有验证器最终采纳的词,这一覆盖率在块尾约为0.608,并非全部位置都有可重选的正确候选。训练标签取自教师强制上下文下验证器的argmax,且只在两个槽位的验证器词都落在各自前若干候选内时才监督该转移。每个方法只用一个训练种子训练一次,因此未测量训练种子间的波动;采样报告的标准差是固定检查点上的评测波动。路径选择上,前缀优先贪心在九个评测套件上吞吐都高于几何折扣的全局选择,但两者接受长度接近,平均为5.254与5.258。
