DeepSeek推出的DSpark是一种推测性解码技术,通过在Final RMSNorm后接入3层MTP微型Transformer堆叠,让大模型在输出前并行猜5个token,经置信度头剪裁后,送回大模型用prefill验证,正确则一次性吐出多个token。相比外挂小模型更高效,不降智,速度提升60%-85%。目前SGLang已有相关PR(#29538),DeepSeek已在HuggingFace发布多款DSpark魔改版小模型。
DeepSeek真的是性价比和技术双重斩杀线…
有同学看不懂DSpark是啥, 简单给大家写个小教程讲讲.
推测性解码(投机解码)这个技术是用来提升大模型输出速度的. 本质是让小模型给大模型接话, 大模型判断小模型说的对不对. 因为现在模型普遍卡内存带宽, 而GPU算力是富余的, 所以大模型的prefill速度(看字)比decode速度(吐字)快很多. 那么让小模型沿着大模型的思路先说一段话, 大模型判断对不对(只需要看字), 只要小模型猜对了, 那么这就利用了prefill速度, 吐字就会成倍的提升.
但问题来了, 外挂小模型也要看字(prefill), 也要占用显存, 也要吃显存带宽. 那么有没有更好的方法来解决呢? 来了, 这就是DSpark.
看我的这个图(左侧DSv4架构图是 @rasbt 大佬的), DSpark 接在了 Final RMSNorm 过程中. 不是接一个完整的小模型, 而是一个3 层的MTP(多Token预测)微型Transformer堆叠.
大模型算完前面60多层后, 刚把当前这句话的"高浓缩概念"(特征向量/隐藏状态)推到 Final RMSNorm 这个出口,还没来得及翻译成具体文字时,DSpark开始截胡:
首先是半自回归极速脑补 (MTP + Markov Head), DSpark自己有一丢丢参数, 然后它就瞬间并行猜5个字(特征向量), 然后再用自己内部的一个串行网络理顺逻辑. (注意啊,先并行然后串行消除并行导致的逻辑不连贯).