MTP 与 DSpark 的区别:DwarfStar 两种投机解码路径深度对比

📅 发布时间:2026/9/15 20:10:02
MTP 与 DSpark 的区别:DwarfStar 两种投机解码路径深度对比
MTP 与 DSpark 的区别DwarfStar 两种投机解码路径深度对比【免费下载链接】ds4DeepSeek 4 Flash and PRO local inference engine for Metal, CUDA and ROCm项目地址: https://gitcode.com/GitHub_Trending/ds4/ds4DwarfStards4是面向 DeepSeek V4 Flash / PRO 与 GLM 5.x 的本地推理引擎支持 Metal、CUDA 与 ROCm 三大后端。它内置了两条投机解码加速路径DSparkDeepSeek Flash 专属与MTPGLM 内置草稿块两者都能让生成一次前进一步吐多个 token但草稿来源、启用方式和适用场景完全不同。本文带你一次看懂两者的区别并给出直接可用的配置方法。什么是投机解码先猜后验的加速原理投机解码的思路很简单草稿Draft由一个小得多的草稿器快速猜出接下来的一串 token验证Verify主模型一次并行验证这整串猜测提交Commit验证通过的最长前缀被一次性采纳等价于多个 token 一步生成。这张图恰好演示了输入 → 编码 → 输出的流水线结构和草稿 → 验证 → 提交的三段式非常神似三点关键前提来自官方 docs/SPECULATIVE_DECODING.md投机解码是可选开启opt-in的功能普通解码仍是默认路径它只加速生成阶段不加速 prefill收益取决于提示词、模型、后端和上下文长度——猜不准时甚至会变慢官方建议量一量再决定。DSpark 与 MTP 一页速览维度DSparkMTPGLM 内置适用模型DeepSeek V4 Flash 0731 / Vision Exp不支持 PROGLM 5.2 / 5.3 Flash草稿来源独立的支持 GGUF文件约 5.6 GiB 权重草稿块内置在主模型 GGUF中单轮草稿宽度最多5 个 token每个周期最多2 个 token启用命令--dspark --mtp-model 支持文件--mtp统计与调参调度器自动退避--dspark-confidence调置信阈值--mtp-timing打印接受率与计时外部草稿文件必须与主模型检查点严格匹配不需要也不接受外部--mtp-model一句话总结DSpark 是外挂草稿器MTP 是模型自带草稿块。DSpark 快速上手DeepSeek Flash 的独立草稿文件DSpark 是一个单独的支持 GGUFsupport GGUF它本身不是独立语言模型只负责提出未来最多 5 个 token 的草稿。它与旧版单阶段 MTP 草稿器是替换关系——同一次运行中两者不会叠加。下载与启用以 Flash 0731 Q2 为例git clone https://gitcode.com/GitHub_Trending/ds4/ds4 cd ds4 ./download_model.sh ds4f-q2 ./download_model.sh ds4f-dspark ./ds4 --dspark --mtp-model gguf/DeepSeek-V4-Flash-DSpark-support-0731.gguf支持文件必须与主模型检查点严格配对不能混用主模型下载代号支持文件Flash 0731ds4f-dsparkgguf/DeepSeek-V4-Flash-DSpark-support-0731.ggufFlash Vision Experimentalds4f-vision-dsparkgguf/DeepSeek-V4-Flash-Vision-Exp-DSpark-support.gguf几个实用细节同一套参数在 ds4-agent 和非批处理的ds4-server请求中同样可用支持文件会增加约5.6 GiB权重和运行时状态Metal 下主模型可以常驻内存或走 SSD 流式官方针对 Strix Halo 编码场景的推荐配置是--dspark --dspark-confidence 0.7配合 temperature 1.0、top_p 0.95当草稿不划算时调度器会自动退避回普通解码正常使用时不需要手动干预。MTP 快速上手GLM 内置草稿块一个开关启用GLM 的情况要简单得多——草稿块MTP block已经打包在主模型的 GGUF 里加一个--mtp开关即可./ds4 -m gguf/GLM-5.3-Flash-Q2.gguf --mtp加上--mtp-timing可以同时开启并打印接受率与计时计数器方便观察实际收益当前 GLM 每个投机周期最多提交2 个 token不需要任何外部支持文件普通解码仍然是默认行为注意 GLM 不接受外部--mtp-model也不接受手动指定 prefill 分块详见 docs/MODELS.md。顺带一提DeepSeek 侧还存在一条旧版自回归 MTP路径由--mtp-draft控制草稿宽度启用 DSpark 后它会被 DSpark 取代无需同时开启。下图是一个典型的本地编码智能体工作区场景——这类写代码 跑测试的长生成任务正是投机解码最有希望发力的地方核心区别详解选型时看这 4 点1. 草稿从哪来DSpark 需要单独下载并显式传入支持文件--mtp-modelMTP 则零成本——草稿块就在主模型里。2. 草稿宽度差一倍以上。DSpark 每轮最多猜 5 个 tokenGLM MTP 每周期最多 2 个。理论上 DSpark 一次验证能跳过更多步这也是它对 DeepSeek Flash 更有想象空间的原因。3. 内存开销不同。DSpark 增加约 5.6 GiB 权重加运行时状态MTP 不增加额外文件开销已包含在主模型里。4. 模型覆盖不同。DSpark 只服务 DeepSeek V4 Flash0731 与 Vision ExpPRO 明确不支持MTP 则面向 GLM 5.2 / 5.3 全系。采样模式怎么选两条路径共享同一套采样语义见 SPECULATIVE_DECODING.md默认 opportunistic 模式温度非零时普通 token 按你设置的采样参数生成但碰巧命中贪心序列的草稿会被直接采纳——比纯随机采样更确定、更省算力--mtp-exact-sampling严格保持目标模型的采样分布适合对输出分布有硬性要求的场景温度 0时被接受的草稿必须与主模型的贪心续写完全一致想对比开/不开投机的差异用--quality或--dspark-strict关闭投机接受路径做基准对照。另外注意会话批处理session-batched服务会走普通解码不与 DSpark/MTP 组合见 docs/SERVER.md。实测数据什么场景值得开启官方在 QA_BEFORE_RELEASES.md 中记录了多机型对照摘录几条128 token 代码提示词temperature 1机型普通解码投机解码结论DGX Spark GB10CUDA~19.7 t/s~33.1 t/s提升约 67%编码任务最高 59%MacBook M5 Max 128 GBMetal44.49 t/s48.19 t/s稳定小幅领先MacBook M3 Max 128 GBMetal29.16 t/s28.18 t/s略慢说明收益看工作负载Strix Halo gfx1151ROCmexact 采样16.55 t/s12.68 t/s该配置下更慢 结论很清晰DGX Spark 上收益最大Metal 上通常小幅领先但不保证每个提示词都变快——这正是官方反复强调先测再开的原因。更多完整数据见 docs/PERFORMANCE.md。常见问题 FAQQ开了投机解码反而更慢A接受率低时草稿器是纯开销。DSpark 的调度器会自动退避你也可以直接用--dspark-strict关掉接受路径做 A/B 对比。QDSpark 和旧版 MTP 草稿器可以叠加吗A不能。DSpark 会替换该次运行中的 legacy 单阶段 MTP 草稿器二者互斥。QDeepSeek PRO 能用 DSpark 吗A官方明确不支持PRO 请使用普通解码路径。Q输出会和不开投机时一字不差吗A不保证。批量验证器的浮点归约顺序与逐 token 解码略有差异长贪心续写不要求字节级一致跨硬件也不承诺相同输出。延伸阅读投机解码完整指南docs/SPECULATIVE_DECODING.md模型下载与内存需求docs/MODELS.md基准测试方法docs/PERFORMANCE.mdDSpark 验收测试脚本tests/dspark_acceptance_fixture.sh窗口行为测试tests/test_dspark_window.py模型下载入口download_model.shDwarfStar 的投机解码是锦上添花而非必选项如果你的主力是 DGX Spark 上的 DeepSeek FlashDSpark 值得默认开启如果你跑 GLM--mtp一行命令就能试拿不准时先用--mtp-timing量一量让数据说话。【免费下载链接】ds4DeepSeek 4 Flash and PRO local inference engine for Metal, CUDA and ROCm项目地址: https://gitcode.com/GitHub_Trending/ds4/ds4创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考