MTP,Multi-Token Prediction,多 Token 预测。
一句话理解:
MTP 是一种让语言模型在训练时不仅学习“下一个 Token 是什么”,还学习预测更远几个未来 Token 的训练机制。
理解
传统语言训练模型的基本方式是:看到前面的内容,学习预测紧接着的下一个 Token,比如:
输入:今天天气
目标:真
输入:今天天气真
目标:好即:当前位置 -> 预测 t + 1。
MTP 做的改变可以粗略理解为:
当前位置
↓
不仅学习预测 t+1
还学习预测 t+2、t+3……
输入:今天天气
-> 真 t + 1
-> 好 t + 2
-> 呀 t + 3
-> ! ...即:预测多个。
解决的问题
训练
-
一个位置产生多个未来预测目标,同样的训练数据可以产生更密接的监督信号;
-
以前训练模型时,每走一步主要考一道“下一词是什么”;MTP 相当于顺便再考几道“后面还可能是什么”,目前是实验问题,不一定是 MTP 表示模型更聪明,只是训练目标/架构设计的一种技术;
推理
-
推理框架就可能会进行 Speculative Decoding(推测式解码);
-
想象一个速度很快的助理提前写草稿,主模型负责审核,如果猜的准,主模型就可能减少逐 Token 串行生成带来的开销,从而提高吞;
其他
-
MTP ≠ 一次直接生成多个 Token;
-
DeepSeek-V3 的研究报告中提到了很多该机制;
| 问题 | 知道什么 |
|---|---|
| MTP 是什么? | 训练时额外学习预测多个未来 Token |
| 为什么用? | 增加训练信号,并可能改善模型学习 |
| 推理时用不用? | MTP 模块是否被保留并参与 inference |
| serving 支持吗? | 是否真正拿它做 speculative decoding / 加速 |
总结
MTP(Multi-Token Prediction,多 Token 预测):一种语言模型训练机制。传统 Next-Token Prediction 在每个位置主要预测下一个 Token,而 MTP 额外学习预测更远的多个未来 Token,从而提供更密集的训练信号。MTP 不会改变语言模型的因果生成本质,也不意味着推理时天然一次输出多个最终 Token;如果推理框架支持,可利用 MTP 模块作为 Draft 进行 Speculative Decoding,通过“提前预测 + 主模型验证”提高生成速度。因此看到模型支持 MTP 时,应进一步区分训练时是否使用 MTP与推理框架是否实际利用 MTP 加速。