AI 基础入门 · 第17课
MTP 多 Token 预测:一次吐好几个
普通大模型一个字一个字往外蹦,前一个不出来后一个没法算。MTP(Multi-Token Prediction)让模型一次前向就学着预测后面好几个 token——DeepSeek-V3 靠它既提了效果又能加速。这一课最关键的是分清:MTP 是训练时学出来的,投机解码是推理时猜+验证,两者都和“一次多吐”有关但不是一回事。
① 小白第一课怎么学(4 步走,约 45 分钟)
先回顾第12课(采样:模型一次预测下一个 token)和第8课(上下文窗口)。这一课讲"能不能一次预测好几个 token"。
1建立直觉(10 分钟)
读②③:MTP = 一次前向多吐几个 token。
2分清两个概念(15 分钟)
读④:MTP 训练时学,投机解码推理时猜。
3理解为何加速(10 分钟)
读⑤:减少串行前向次数。
4刷题自测(10 分钟)
做⑦⑩,错题回⑥看易错点。
本课小目标学完你要能:① 说清 MTP 的思路;② 区分 MTP 与投机解码;③ 解释 DeepSeek-V3 用 MTP 为何既提效果又能加速;④ 知道它为什么能减少串行前向。
② 一图看懂:普通预测 vs MTP
读法:上面红色是老办法——生成一个字要跑一遍完整模型,4 个字跑 4 遍,互相串行。下面绿色是 MTP 思路——训练时就让模型学会"一次多看几步",推理时一次前向同时吐出后面几个候选,再用主干验证对错,从而把多步并成少步。
③ 本质直觉:模型本来只会"猜下一个",MTP 让它"连猜几步"
先回忆普通大模型怎么生成:Transformer 一次前向,只在最后位置输出一个"下一个 token 的概率分布"。采样出一个词,再把它接回输入,做下一次前向。这叫自回归:一个字一个字往外蹦,前一步不出来,后一步没法算。
MTP(Multi-Token Prediction,多 Token 预测)的思路:在主干模型之外,再加几个轻量的"预测头"(MTP 模块),让模型在一次前向里,不仅预测第 N+1 个 token,还顺带预测第 N+2、N+3… 个。相当于让它学着"往后多看几步"。
DeepSeek-V3 用 MTP 的两个收获① 训练收益:多预测几步相当于给模型更密的监督信号,逼它学到更长程的依赖,DeepSeek-V3 论文报告加了 MTP 后模型效果更好(不像只盯着下一步那么短视)。② 推理收益:训练好的 MTP 头可以在推理时一次性"草拟"后面几个 token,再用主干模型并行验证,接受对的、改掉错的——把多次串行前向压缩成几次,从而提速。
④ 完整体系:MTP vs 投机解码,别搞混
这两个词都和"一次出多个 token"有关,但一个发生在训练时,一个发生在推理时。这是本课题眼。
| 维度 | MTP 多 Token 预测 | 投机解码 Speculative Decoding |
| 什么时候 | 训练时:模型结构里就带 MTP 头,一起训练 | 推理时:不改模型,运行时外加的加速技巧 |
| 怎么猜 | 模型自己学"往后多看几个 token"的能力 | 用一个小/快的草稿模型先猜几个 token,再用大模型一次并行验证 |
| 猜的来源 | 同一个模型的附加头 | 通常是另一个更小的模型(或 MTP 头) |
| 对效果影响 | 训练目标本身变强,可能提升最终质量 | 不改模型输出分布,只是加速,质量无损 |
| 典型代表 | DeepSeek-V3 / DeepSeek-R1 的 MTP 模块 | 投机采样(draft model + verify) |
两者的联系MTP 头训好之后,正好可以充当投机解码里的"草稿者":它一次草拟几个 token,主干并行验证。所以 MTP 既是训练增益,又能在推理时当投机解码的猜词器。但要记住:MTP 是"训练时学出来的能力",投机解码是"推理时外加的猜+验证流程",不是一回事。
为什么这样能加速
加速核心
串行前向 N 次(每次 1 token) → 并行验证 N 个候选(1 次前向)
被接受的 token 一次拿走,错的停在第一个错处重来
大模型推理慢,慢在必须一步接一步串行。MTP/投机解码把"猜"和"验"分开:猜可以一口气猜好几个(便宜),验可以一次并行算(贵但只算一次)。只要猜中的比例够高,平均每次验证能兑现好几个 token,等效吞吐就上去了。
⑤ 用法场景与典型例题
例题 1:MTP 和投机解码,哪个会改变模型最终输出的文字?
一个训练时加、一个推理时加。
投机解码不改输出分布(验证后等价于原模型逐词采样),质量无损。MTP 因为参与了训练,会改变模型学到的表征,可能带来效果提升。问"无损加速"指的是投机解码;问"既提效果又提速"指的是 MTP。
例题 2:为什么 MTP 头"猜得准"才能加速?
猜得不准会怎样?
如果猜的 token 大部分被主干拒绝,那并行验证白做、还得重来,反而更慢。加速成立的前提是接受率高——草稿和主干想法接近。所以 MTP 头要和主干一起训练,让它猜得准。
一句话抓重点MTP = 训练时让模型学会"连看几步",既当训练信号提效果,又当推理时的快速草稿;投机解码 = 推理时用小模型猜、大模型验,纯加速不改质量。
⑥ 高频错误诊断(4 条)
错误 1:把 MTP 和投机解码当成同一个东西MTP 是模型结构/训练目标(训练时学),投机解码是推理时的调度技巧(运行时猜+验证)。一个改模型,一个不改模型。
错误 2:以为 MTP 不验证就能直接吐后面几个词MTP 草稿出来的 token 不能直接算数,必须经过主干模型并行验证/采样,接受对的、回退错的,否则质量会崩。
错误 3:以为加速来自"模型算得更快"核心不是单次算子变快,而是减少了串行前向的次数——把多步并成一步验证。
错误 4:以为猜得越多越好猜太长接受率会下降,反而拖慢。实际会设一个草稿长度上限,取接受率与长度的最佳点。
⑦ 考点真题演练(4 题)
考点分布
| 考法 | 出题形式 | 应对 |
| MTP 思路 | 问一次前向预测几个 | 多个下一 token |
| 训练收益 | 问 DeepSeek-V3 为何用 MTP | 提效果+可加速 |
| MTP vs 投机解码 | 问训练时还是推理时 | MTP 训练学,投机推理猜 |
| 加速原理 | 问为何提速 | 减少串行前向次数 |
真题基础1. MTP(Multi-Token Prediction)的核心思路是?
真题中档2. DeepSeek-V3 引入 MTP 模块,主要收获是?
真题中档3. 关于 MTP 与投机解码,正确的是?
真题拔高4. MTP/投机解码为什么能让生成提速?
⑧ 必背知识点卡
MTP:Multi-Token Prediction,一次前向预测多个后续 token 连看几步
训练收益:更密监督信号,DeepSeek-V3 借此提升效果 不只盯着下一步
时机:MTP 训练时学;投机解码推理时猜+验 别混
投机解码:小/快模型草拟几个 token,大模型一次并行验证 质量无损纯加速
加速本质:减少串行前向次数 多步并成一步验证
前提:草稿接受率要高才划算 猜不准反而慢
联系:MTP 头可当投机解码的草稿者 训练学、推理用
⑨ 应用输出:给朋友讲清"MTP 为啥又准又快"
实战场景:朋友问"听说 DeepSeek 一次能吐好几个字,是不是开了倍速?"
① 先讲老办法慢在哪:普通模型一个字一个字蹦,出下一个字必须等上一个字算完,4 个字要跑 4 遍模型。
② 再讲 MTP:训练时就让模型学会顺便猜后面第 2、3 个词,这个"多想几步"的能力让它更懂长句子(效果更好)。
③ 讲推理加速:用时 MTP 头先一口气草拟几个词,主干模型一次并行验证,对的留下、错的改掉,于是 4 步并成大约 1 次多前向。
④ 分清概念:这叫 MTP(训练时学);如果只是运行时找个小模型猜、大模型验,那叫投机解码,是另一回事。
口述全链路"普通自回归一次前向吐一个 token,串行慢。MTP 在训练时加预测头,让模型一次学预测后面好几个 token——既给了更密的训练信号提升效果,推理时又能当快速草稿,让主干并行验证,把多次串行前向压成少数几次,于是又准又快。它和投机解码的区别是:MTP 训练时学,投机解码推理时外加猜+验。"
⑩ 分层练习 16 题(基础 6 + 中档 5 + 拔高 5)
▍基础 6 题
基础1MTP 的中文全称是什么?
多 Token 预测(Multi-Token Prediction)。
基础2普通自回归模型一次前向预测几个 token?
1 个(下一个 token)。
基础3MTP 是在训练时还是推理时加入的?
训练时:模型结构里带 MTP 头,和主干一起训练。
基础4投机解码是在训练时还是推理时用的?
推理时:不改模型,运行时用草稿模型猜、大模型验。
基础5MTP 典型用在哪个知名模型?
DeepSeek-V3(及 R1)。
基础6投机解码会改变模型最终输出分布吗?
不会,验证后等价于原模型逐词采样,质量无损。
▍中档 5 题
中档7为什么 MTP 能提升训练效果?
多预测几步提供了更密集的监督信号,逼模型学习更长程的依赖,不只盯着"下一个词"这一短视目标。
中档8投机解码里"草稿"和"验证"各由谁做?
通常小而快的模型(或 MTP 头)草拟几个 token;大模型一次前向并行验证这些候选,接受对的、回退错的。
中档9为什么说 MTP 头能当投机解码的草稿者?
MTP 头本来就学会了一次预测后面几个 token,和主干一起训练所以猜得准,正好充当快速草拟者供主干验证。
中档10推理慢的根本原因是"算子慢"还是"串行"?
主要是串行依赖:必须等上一个 token 出来才能算下一个。MTP/投机解码正是通过减少串行步数来提速。
中档11猜出来的 token 能不能直接当输出?
不能。必须经主干并行验证/采样,接受对的、在第一个错误处回退重算,否则质量会下降。
▍拔高 5 题
拔高12为什么草稿接受率决定了加速比?
接受率高=每次验证能兑现多个 token,串行步数大减;接受率低=大部分被拒,并行验证白做还要重来,反而比逐词更慢。
拔高13MTP 既改训练又参与推理,和"纯推理加速"的投机解码本质差别在哪?
MTP 改变了模型本身(加头、改变训练目标),可能影响最终表征和输出;投机解码不动模型权重,只是调度方式,输出严格等价于原模型。
拔高14为什么草稿长度不是越长越好?
越往后草稿越容易跑偏,接受率下降。长度超过某个点后,多猜的 token 大多被拒,省下的前向次数被浪费的验证抵消,要取接受率与长度的最佳点。
拔高15MTP 和增大 batch(一次处理多个请求)是什么关系?
正交:batch 是"同时服务多个人的请求"提高吞吐;MTP/投机解码是"为一个请求一次生成多个 token"降低单请求延迟。两者可叠加。
拔高16既然 MTP 好,为什么不是所有模型都加?
加 MTP 头会增加训练复杂度和少量推理开销,且只有在配合并行验证、接受率足够高时才划算;小模型或短文本场景收益不明显,需权衡成本。
⑪ 记忆口诀 + 7 天复习计划
三句口诀
① MTP:一次前向多看几步,训练更密、效果更好。
② MTP 训练时学,投机解码推理时猜+验。
③ 提速靠减少串行前向,前提是草稿接受率高。
| 天 | 任务 | 自检 |
| 第 1 天 | 读②③,画普通 vs MTP 对比图 | 说清一次吐几个 |
| 第 2 天 | 背知识点卡 + 基础 1-6 | 训练/推理时机分对 |
| 第 3 天 | 读④对比表,做中档 7-11 | 分清 MTP/投机解码 |
| 第 4 天 | 做拔高 12-16 | 讲清接受率与加速 |
| 第 5 天 | 做⑦真题 4 题 | 限时每题 2 分钟 |
| 第 6-7 天 | 合上书口述 MTP 与投机解码区别 | 不看资料全说对 |