投机解码几乎成了推理优化的默认配置:用小模型先草拟几个 token,再让大模型一次性验证。但这条路有个隐含前提——草稿器要么训练时顺带学出来,要么事后单独微调。如果两条都不可行,还有第三条路吗?百度 ERNIE 团队 10 月 17 日挂到 arXiv 的论文 ECHO 试图证明:主干模型自己就能当自己的草稿器(arXiv:2610.24766)。

辅助模块吃掉了监督信号

论文把矛头对准多 Token 预测(MTP)。并行 MTP 从同一个 hidden state 独立预测多个未来位置,忽略因果依赖;因果 MTP(如 DeepSeek-V3)通过移位 token embedding 保留自回归依赖,预测质量明显更好。但两者共享一个结构性问题——未来 token 由挂在主干上的专用模块完成,而非融入自回归生成本身。

代价有两个。其一是间接监督:MTP 的 loss 主要压在辅助模块上,主干只能间接接收到多 horizon 信号。其二是长 horizon 太贵:每加一层就多一份显存里的模块、多一次计算。这条约束直接把大规模因果 MTP 预训练钉在单个草稿 token 上——DeepSeek-V3 只用一个 MTP 模块,小米的 MiMo 则发现继续加 MTP 层不再有提升。

ECHO 与"循环 Transformer"听着像,方向却相反。后者在同一 token 位置反复迭代,ECHO 是沿 horizon 往前走:每步以上一步的最后一层 hidden state 加一个轻量 fusion layer 为输入,递归调用主干最后一层和输出头。换句话说,除了那层轻量 fusion layer,用于未来预测的每个参数,同时也是生成下一个 token 的参数。

深度 3 时推理 +2.63、代码 +2.23

实验用 10B-A1B 的 latent MoE 骨干(24 层、256 个路由专家每 token 激活 8 个),预训练 600B token,在 192 张 H800 上跑约 3 天。评测覆盖 14 个 few-shot 基准,按数学、推理、多选、代码、闭卷问答五类统计。

同一深度下对比 DeepSeek 的 MTP,深度 1 时 ECHO 在数学、推理、代码上分别领先 +0.79、+0.57、+1.35;深度 3 时推理拉到 +2.63,代码 +2.23。把每个方法自己从深度 1 拉到深度 3,ECHO 在 14 个基准上平均提升 0.63 分,DeepSeek 的 MTP 只有 0.16 分——这就是"辅助模块饱和"的量化证据。

另两个数值得记:ECHO-1.5(3)(期望深度 1.5)拿到 ECHO-3 的同等收益,但 MTP 开销只有一半;ECHO-2(7)(期望深度 2)预训练阶段落后,SFT 后反超 0.49,对 DeepSeek MTP-Instruct 的领先达 +2.10。重复跑一遍预训练,ECHO 领先 +0.52 和 +0.78,推理与代码上的差距只波动 0.11——不是噪声。

训练浅,投机深

推理加速才是这篇论文真正的野心。共享同一层意味着训练好的模型可直接做草稿器,且能超出训练时的深度去草稿——辅助模块在深度外就饱和,ECHO 还在涨。它也彻底不需要事后微调草稿器:论文指出事后微调的草稿器训练数据比预训练语料小几个数量级,容易过拟合到学术基准。

成本对比很直观:预训练约 3 天、SFT 5 小时;而事后草稿器微调用 24 张 H800,EAGLE-3 约 22 小时、DFlash 约 19 小时、DSpark 约 55 小时。ECHO 的摊薄 MTP 训练开销只有 1.5 个 depth-1 步。在按目标模型预测熵切分的开放式生成上,ECHO 保持草稿与目标的对齐,事后草稿器会丢掉这种对齐。

我的判断

ECHO 值得注意的不是跑分,而是它把"默认要多训一个模块"的思路,换成了"问主干最后一层能不能兼差"。参数免费的代价是反复调用同一层,作者也承认深层监督噪声更大——ECHO-2(7) 预训练阶段反而落后,正是这个代价。

论文明确列了限制:预训练只重复一次,微调只跑了一个 seed。GitHub 上已放出 ernie-research/ECHO 仓库。对正为草稿器微调发愁的团队,"主干即草稿器"值得先看。(来源:https://arxiv.org/abs/2610.24766)