Red Hat AI 今日正式发布了基于 GLM-5.2 的 DSpark 投机解码模型。这是首个脱离 DeepSeek 体系的前沿大模型搭载 DSpark 架构的投机解码器,标志着该技术向通用化迈出重要一步。

DSpark 的核心架构由三部分组成:DFlash 并行草稿骨干作为底层,辅以一个 Markov logit-bias 头和一个逐位置置信度头。简单来说,它利用一个仅 3B 参数的小型草稿模型快速生成多个候选 token,然后由大模型(GLM-5.2-FP8)一次性验证整批候选,从而避免了传统的逐 token 串行解码瓶颈,大幅提升推理速度。
项目训练分为两个阶段:首先发布了一个 preview 检查点(3 epoch,基于 50k UltraChat 数据),随后训练了更完善的 epoch-1 检查点。epoch-1 使用了全词汇草稿(154,880 token)并融合了 Magpie UltraChat 再生数据,效果显著提升,性能直接上了一个台阶。

上图展示了 epoch-1 训练过程中的核心指标:平均接受长度(Mean accepted length)稳定维持在 3.4 左右,逐位置接受率(Per-position acceptance)从 pos1 的 78% 平滑下降至 pos7 的 38%。这一趋势证实了 Markov 头能够有效抑制后缀衰减——越靠后的 token 被丢弃的概率越高,但整体表现依然稳健高效。
实际加速效果如何呢?
在 4×B300 环境下,基础模型无投机解码时只能跑出 102 tok/s。接入 preview 检查点后,速度提升至 139 tok/s(1.36 倍)。而换上 epoch-1 检查点后,直接飙升至 219 tok/s,加速比达到 2.15 倍。平均接受长度从 2.18 跃升至 3.49——这意味着每次大模型前向传播可以确认 3.49 个 token,而不仅仅是 1 个。
| 检查点 | 平均接受长度 | 解码速度 |
|---|---|---|
| 无投机 | 1.0 | 102 tok/s |
| preview | 2.18 | 139 tok/s |
| epoch-1 | 3.49 | 219 tok/s |
使用方法非常简单,需要安装 vLLM nightly 版本:
uv pip install vllm --extra-index-url https://wheels.vllm.ai/nightly
vllm serve zai-org/GLM-5.2-FP8 --tensor-parallel-size 4 --max-model-len 16384 --trust-remote-code --speculative-config "{"model": "RedHatAI/GLM-5.2-speculator.dspark","num_speculative_tokens": 7,"method": "dspark","draft_sample_method": "probabilistic"}'
注意 --speculative-config 中的 model 路径需要指向 Hugging Face 上的仓库。如果只想体验 preview 版本,只需将模型名改为 RedHatAI/GLM-5.2-speculator.dspark-preview。
一点观察
近年来,投机解码已从学术研究逐步演变为实用的推理加速工具。然而此前 DSpark 架构几乎只绑定在 DeepSeek 模型上。Red Hat AI 这次成功将其移植到 GLM-5.2,充分证明了该架构的通用性——只要草稿模型经过充分训练,任何大模型都能轻松实现 2 倍以上的推理加速。训练数据直接来自基础模型自身生成的 response(体现了 self-play 思路),这大大降低了数据准备的门槛。
目前 epoch-2 和 epoch-3 的训练仍在进行中,按照当前趋势,最终检查点很可能将平均接受长度推到 4 以上。对于正在部署 GLM-5.2 推理的团队而言,这或许是近期最具性价比的优化方案——无需改动原有模型,仅增加一个 3B 规模的草稿模型,即可节省约一半的 GPU 计算时间。
模型与代码均采用 MIT 协议,可自由使用。训练流程基于 speculators 库,同样已在 GitHub 上开源。
