从0训练LLM · 现代大模型体系 导读 5 课 + 1 条岔路 + 1 节实验课 ≈ 4 小时
C13 推理:生成为什么慢、怎么变快 章导读

推理:生成为什么慢、怎么变快

前十二章把模型训了出来,还教会了它听话、推理、做事。可真正用起来,它一次只吐一个 token,而且慢得反常:KV cache 早把计算省到每步一个 token 了。这一章从屋顶线出发,找到解码的真瓶颈——每个 token 都要把整个模型从显存读一遍;再沿着这个瓶颈看服务端的连续批处理与分页 KV、一个字都不改的投机解码、少读字节的量化,最后把「快」拆成几个互相拉扯的数。

主线定位

累计数据流 · 从文字到下一个 token 的概率 已学本课新增还没学
解码层

点任一已学环节,看这一步的输入 → 输出形状、参数量,以及它解决了什么问题(数字取自 Qwen/Qwen3.8-27B 真实 config)。

前十二章已经把上面这条流水线从头到尾搭好、训好。这一章不再往里加新环节,而是问:同一条流水线,拿来一个字一个字地生成时,时间都花在哪?

🧭

上游 · C12 后训练:模型学会了听指令、写长推理、调工具。推理模型一次要生成成千上万个 token,RL 的 rollout 本身也是生成——生成的速度直接决定了用得起、训得动。
本章(C13):生成为什么慢(第 1 课)、很多人一起用时 KV 怎么放、请求怎么排(第 2 课)、能不能一个字都不改地变快(第 3 课)、每个权重少读几位(第 4 课)、快又该怎么量(第 5 课);采样是岔路。
下游 · C14 评测:量化后验证 loss 涨的那一点、报出来的 benchmark 分数,能信几分?(投机解码按构造不改输出分布,第 3 课)

贯穿例句这一章当成一次请求:提示「小明把苹果给了」用锚点 Qwen3.8 的真 tokenizer 切成 4 个 token(小明 · 把 · 苹果 · 给了),要生成的下一个 token 是「小王」。在服务端,它会走完下面这一圈;每一格点开,都是锚点上的真实量:

推理循环 · 一次请求在服务端走过的路 点任一格看锚点 Qwen3.8-27B 上的真实量
decode 循环:每个 token 走一圈
旁路:

C3 第 8 课已经讲过 KV cache 为什么能省计算、第 9、10 课讲了 GQA 与 MLA 怎么让每个 token 少存一点,C9 讲过一个参数几字节,C11 揭晓了锚点另外 48 层 GDN 用的固定大小状态、以及 MTP 作为训练目标。本章不重复这些,只引用它们的结论。

本章问题链

每一课只回答一个问题;上一课的失败,逼出下一课的问题。

课这一课的问题朴素方案在哪个真数字上失败一句话
第 1 课同一个模型,读 prompt 很快、逐字生成很慢,差在哪?按算力估每秒近 2 万个 token;可每个 token 都要读一遍 51.25 GB 权重,H100 上最多约 65 个,算力只用了 0.34%生成慢不是因为算得多,而是每个 token 都要把整个模型从显存读一遍
岔路概率分布怎么变成一个字?温度、top-k、top-p、min-p 各截掉了什么?贪心:我们的模型 47% 的 4-gram 在重复;高温 top-p 0.9 保留 1,108 个 token温度改形状,截断决定尾巴里多少 token 还有机会;min-p 跟着最高概率自适应
第 2 课成百上千个请求一起解码,KV cache 在显存里怎么放、怎么排?静态批处理槽位利用率 58.7%;按最大长度预留,锚点一张卡只放得下 1 个请求连续批处理让请求随到随走,PagedAttention 把 KV 切成小块按需发放
第 3 课一次前向验好几个 token,凭什么输出分布一点都不变?「相同才收」只收 0.73%;「拒绝后从 p 重采」把分布拉偏 0.166按 min(1, p/q) 接受、拒绝时从残差重采,输出分布与目标模型逐字相同
第 4 课把权重从 16 位压到 4 位,为什么能变快,又会丢什么?整个矩阵一个缩放直接四舍五入到 3 位:验证 loss +0.268解码快慢看每个 token 读多少字节;更细的缩放和误差补偿把舍入的代价压小
第 5 课服务快不快,该看哪几个数?只看吞吐:batch 开到 58,总吞吐 × 35,每个用户两个 token 之间却从 15.5 ms 拖到 25.2 ms快有好几种,互相拉扯;看分位数、按目标算 goodput,token/s 先对齐 tokenizer
实验课在我们自己的模型上把推理的账都对一遍—每个结论都带上条件:哪个模型、哪台机器、测了几次、和谁比

演进地图

推理加速的演进:每一代都被上一代的某个真数字逼出来
  1. 起点 每一步把整段重新喂进模型 训练时的前向,原样搬到生成
    解决了和训练完全一样,结果一定对。
    卡在贯穿例句的 4 个 token 提示再生成 1,000 个:K/V 要算 503,500 次,其中绝大多数是上一步刚算过的(C3 第 8 课)。
  2. 第一代 KV cache 自回归 Transformer 的标准做法(C3 第 8 课)
    解决了旧 token 的 K、V 存下来,同样 1,000 个 token 只算 1,003 次;锚点每个 token 存 64 KiB。
    卡在每生成 1 个 token 仍要把 51.25 GB 权重读一遍:H100 上最多 65 token/s,算力只用了 0.34%(第 1 课,屋顶线上界)。
  3. 第二代 批处理:一次解码多个请求 把权重的读取摊给 B 个请求
    解决了权重读一遍,B 个请求各出一个 token:算术强度约随 B 增长。
    卡在静态批处理要等一批里最长的那个:验证集 64 个真实段落当回复,B = 8 时槽位利用率只有 58.7%(第 2 课)。
  4. 第三代 连续批处理(迭代级调度) Orca,OSDI 2022
    解决了每一步结束就让完成的离开、排队的进来:同一批长度 93.1%;Orca 在 175B 上同延迟吞吐为 FasterTransformer 的 36.9 倍(自报)。
    卡在请求随到随走,KV 却还按最大长度连续预留:vLLM 测得现有系统只有 20.4%–38.2% 的 KV 显存存着真 token。
  5. 第四代 PagedAttention:KV 分块按需分配 vLLM,SOSP 2023
    解决了16 token 一块、块表映射:KV 显存利用率 96.3%,同等延迟吞吐 2–4 倍(vLLM 自报);锚点 4K 上下文时一张 H100 能放 58 个请求。
    卡在单个用户仍是每个 token 一次完整前向:batch 1 时 99% 以上的算力闲着。
  6. 第五代 投机解码:草稿猜、目标一次验 Leviathan 2022;Chen 2023
    解决了按 min(1, p/q) 接受、残差重采,输出分布不变;我们的模型 α = 0.567,k = 4 时每次目标前向产出 1.96 个 token(真跑)。
    卡在草稿要单独训练、单独部署,还要和目标对得上:接受率太低时反而更慢(第 3 课)。
  7. 第五代 ② 让模型自己当草稿:MTP 与专用草稿器 DeepSeek-V3 2024 → EAGLE-3 2025 → K3 / DSpark 2026
    解决了DeepSeek-V3 的 MTP 模块当草稿,第二个 token 接受率 85%–90%,1.8 倍 TPS(自报);锚点 config 自带 1 层 MTP。
    卡在权重本身还是每个 2 字节,字节没少——batch 1 的解码时间仍由 51.2 GB 决定。
  8. 第六代 量化:每个权重少读几位 LLM.int8() / GPTQ / SmoothQuant 2022 → AWQ 2023 → FP4 QAT 2026
    解决了INT4(每 128 个一组)只读 13.21 GB → 上界 254 token/s;我们的模型 GPTQ INT4 验证 loss 只涨 0.0083(整张量直接四舍五入涨 0.0315)。
    卡在每一招都说「更快」:batch 从 1 开到 58,总吞吐 65 → 2,304 token/s,每个用户却从每 token 15.5 ms 慢到 25.2 ms;一个 32K 的 prompt 整段 prefill 要 1.91 s(第 5 课,推演)。
  9. 第七代 按 TTFT / TPOT / goodput 调度:分块 prefill、P/D 分离 Sarathi-Serve、DistServe 2024;DeepSeek-V3 部署
    解决了同时看首 token 时间、每 token 间隔与满足 SLO 的请求率;DistServe 同 SLO 下多服务 7.4 倍请求(自报)。
    卡在快的账算清了;量化、投机之后「好」还剩多少?分数能信吗?(C14)
  10. 旁支 ① 采样:温度 → top-k → top-p → min-p Fan 2018;Holtzman 2019;min-p 2024
    解决了top-p 按累计概率自适应、min-p 跟着最高概率自适应:我们的模型在 T = 1.3 时 top-p 0.9 保留 664 个 token,min-p 0.1 只留 34 个。
    卡在哪种截断「更好」只能靠生成质量的实验判断,没有证明(岔路课)。
  11. 旁支 ② 少存 KV:GQA / MLA / 线性注意力 C3 第 9、10 课;C11
    解决了锚点 16 层 GQA 每 token 64 KiB(同样的层若用 MHA 是 384 KiB);另外 48 层 GDN 只存固定大小的状态。
    卡在固定状态每步要整块读写:锚点每个请求 151 MB(FP32),短上下文时比 KV 还大(第 1 课)。
数字口径:锚点 Qwen3.8-27B 的字节与时间是 H100 SXM 上的屋顶线上界(不是实测),由 anchor-model.json 现算;调度、投机、量化、采样的数字来自我们项目的 3 个小模型(章内 precomputed.json,脚本 gen_c13_precomputed.py,2026-09-26);vLLM、DeepSeek-V3 的数字出自本地 PDF,Orca、DistServe 出自论文原文,均为提出方自报。

三层交互

层本章里的组件在哪一课
概念动画推理循环累计图;批处理泳道的逐步播放;一次真实投机采样的逐轮回放全章、第 2 课、第 3 课
算法模拟器(真算法、小数据)屋顶线定位(prefill 与 decode 落点、逐项字节账、换卡换模型);静态 / 连续批处理调度;连续预分配 vs 分页的显存池与块表;并行采样的共享块与写时复制;投机采样的分布叠放与 1 万 / 10 万次蒙特卡洛;温度与 top-k / top-p / min-p 截断;一行真实权重的四舍五入量化;SmoothQuant 的缩放;延迟–吞吐前沿与分块 prefill 时间线(推演)第 1–5 课、岔路
真模型 / 真数据我们项目的 3 个模型(3.7M 目标 + 0.33M / 1.07M 草稿)离线真跑的投机采样记账与分布一致性检验、22 种量化方案的真实验证 loss、4 个提示下 2,048 维的真实 logits;项目实测的有 / 无 KV cache 速度、温度 × top-p 的熵与重复率;锚点与对照模型的官方 config;vLLM、Leviathan、DeepSeek-V3、Kimi K3、DeepSeek-V4 报告原文里的数字第 1、3、4 课、岔路、实验课

项目推进:让我们的模型跑得又快又对

对应 04-实践项目/MILESTONES.md 的「C13 推理(KV cache、采样)」。分工照旧:代码 AI 来写,决策你来做。minillm/model.py 已经有 KVCache 与 generate()(temperature / top_k / top_p、use_cache),测试断言增量推理与整段前向的 logits 最大差 1.8 × 10−7、带与不带 cache 的贪心生成逐 token 相同;experiments/exp_c13_inference.py 导出本章实验课读取的 c13-inference.json。本章另有一份章内预计算(c13-inference/gen_c13_precomputed.py),用同一批 checkpoint 离线跑了投机采样与量化。

🧭

你要拍板的四件事

  1. 生成时开不开 KV cache?用「生成到 256 个 token 时有 / 无 cache 的速度比」回答,并解释为什么这个比值在我们的小模型上远小于第 1 课的推算(实验课)。
  2. 默认采样设置选哪一组?引用「温度 0 / 0.7 / 1.0 / 1.3 × top-p 0.9 / 1.0」的重复率表和保留个数;要不要换成 min-p(岔路课、实验课)?
  3. 要不要配投机采样?草稿用 d = 64 还是 d = 128 的模型、每轮猜几个?依据是真跑的「每次目标前向产出」与按参数量估的草稿代价(第 3 课)。
  4. 权重量化到几位、用什么方法?INT8 还是 INT4,直接四舍五入还是 GPTQ(第 4 课)。

验收标准(全部可测):

坑与带走

坑症状后果怎么办
不用 KV cache每生成一个 token 都把整段重算一遍生成越长越慢,计算随长度平方增长必开;缓存与重算逐位相同(C3 第 8 课)
以为生成慢是算力不够换了算力更强的卡,batch 1 的解码几乎没快买错硬件batch 1 看带宽:A100 → H100 算力 3.17 倍,解码只快 1.64 倍(第 1 课)
以为 KV cache 免费长上下文、并发一多就 OOM服务不了几个人锚点每 token 64 KiB、每请求另有 151 MB(= 144 MiB)状态;算清容量再定 batch(第 1、2 课)
每个请求按最大长度预留 KV显存「用满」了,实际存的 token 很少同一张卡只放得下极少的请求分页按需分配(第 2 课)
手写推理循环、静态批处理短请求写完了还占着槽位吞吐低、平均延迟高用连续批处理 + 分页的推理引擎(vLLM、SGLang,第 2 课)
以为 PagedAttention 让注意力算得更快单请求延迟没有改善期望落空它省的是显存,赢在能放更大的 batch;分页内核本身慢 20%–26%(第 2 课)
以为投机解码有损不敢在生产上开白白放弃 1.5–3 倍按 min(1, p/q) 接受、残差重采,输出分布与目标相同(第 3 课)
草稿模型选得太大接受率高了,速度反而没涨比不投机还慢看理论加速 E ÷ (k·c + 1),不只看接受率(第 3 课)
量化后不测质量悄悄掉点线上效果变差量化必须配评测;涨幅和重跑噪声比(第 4 课、C14)
只看吞吐平均很好看,用户却说卡体验差分开看 TTFT、TPOT 与吞吐,看 p99,按目标算 goodput(第 5 课)
跨 tokenizer 比 token/s「我们家更快」的结论不成立选型失误先换算成字 / 秒(第 5 课)
用 bbycroft 的 3D 可视化学 KV cache找不到缓存概念空白它每步重走整个流程;用 C3 第 8 课的步进器

这一章你应该带走的(各课「一句话」):

提问记录:这一章还没有真实提问。学习中有疑问,记到 05-问答记录/C13-L<课号>.md(岔路课是 C13-B1.md);有价值的问题会展开成新的岔路课。

🔭

概念索引(本章登场):prefill · decode · 算术强度 · 屋顶线 · 带宽受限 / 算力受限 · GEMM / GEMV · 静态批处理 · 连续批处理(迭代级调度)· PagedAttention · 块表 · 内部 / 外部碎片 · 写时复制 · 前缀缓存 · 投机解码 · 接受率 α · 残差分布 · MTP 自投机 · EAGLE-3 / DSpark · RTN · 按组缩放 · GPTQ · W8A8 · SmoothQuant · 离群特征 · TTFT · TPOT · goodput · 分块 prefill · P/D 分离 · 温度 · top-k · top-p · min-p。

深入这一章

每条都在 2026-09-26 实际打开核对过(arXiv API、官方页面、B 站 view API):写清它讲清了什么、对应哪一课、为什么推荐。外部链接需联网;论文有本地 PDF 的直接打开。

🎮 想更直观 10–30 分钟

先玩本章的组件;下面几条是外部最好的直观入口
需联网15 min英文 Dylan Ebert · 2026-01-22
把目标分布与草稿分布叠在同一组候选上:min(p, q) 画绿表示必收,草稿高估的部分画红表示按比例拒,拒绝后从残差重采。
对应第 3 课,本章 SpecSampling 的视觉编码就借自它。页面注明 Adaptive ML 已被 Datadog 收购。
需联网10 min英文 浏览器里跑 GPT-2 small
温度滑杆与 top-k / top-p 开关直接作用在 GPT-2 的真实输出上。
对应岔路课:换一个模型、换一种语言再看一遍「温度不改排序、截断决定尾巴」。它没有 min-p。
需联网10 min英文 配套 Philip Kiely《Inference Engineering》
选模型预设、batch、序列长度与 FP16 / FP8 / FP4,实时算出 KV 缓存的显存。
对应第 1、2 课的容量账:拿别的模型核对「每 token 多少字节、一张卡放几个请求」。只能选预设,不能单独改层数和头数。
需联网12 min中文 B 站 · 2024-07-15
KV cache、PagedAttention 与 vLLM 的调度一次串起来。
对应第 2 课:中文里最快建立「vLLM 为什么快」直觉的一条(旧版课程沿用)。

🔬 想吃透原理 1–3 小时

唯一必看:How to Scale Your Model 的 Roofline 与 Inference 两章。其余按课挑
需联网约 1.5 h英文 Google DeepMind · Jacob Austin 等 11 人 · 2025-02-04
从屋顶线推出 H100 的临界算术强度约 295,再推到生成时注意力的强度约为 1、为什么要把 prefill 和 decode 分开服务(Inference 章:jax-ml.github.io/scaling-book/inference/)。
对应第 1 课与第 5 课,是整章的定量底座。本章的屋顶线组件与推演都用它的记账方式;它讲的是 TPU 与 JAX,换成 GPU 只是换两个数。
需联网约 1 h英文 2022-03-30
KV cache 的字节账、容量、batch 与延迟的关系、FLOPs 计数,并和 FasterTransformer 的实测对照。
对应第 1 课:推理算术的经典短文。它用的是 A100 40GB 的带宽,临界值算出来是 208。
需联网约 2 h英文 2025-08-29
连续批处理、分页注意力、分块 prefill、前缀缓存、投机解码、P/D 分离在一个真实引擎里怎么拼到一起。
对应第 2、3、5 课:把本章分开讲的机制放回同一个调度循环里。
需联网30 min英文 Cade Daniel 等 · 2023-06-22
静态批处理为什么浪费、迭代级调度怎么补位;OPT-13B、单张 A100 40GB、输出长度差异很大时的吞吐对比。
对应第 2 课。注意口径:23 倍的基线是 Hugging Face Pipelines 的朴素静态批处理(对手是 vLLM);只做连续批处理的 Ray Serve / TGI 约 8 倍。
需联网20 min英文 2023-06-20
单输出请求对 HF Transformers 14–24 倍、对 TGI 2.2–2.5 倍;并行采样与 beam search 共享 KV,最多省 55% 显存、最多 2.2 倍吞吐。
对应第 2 课。旧版课程把「55%、2.2 倍」写成了分页的一般收益,原文说的是并行采样与 beam search 的共享(本章已改)。
需联网10 min英文 Leviathan、Kalman、Matias(原作者)· 2024-12-06
为什么「并行验证」在带宽受限时几乎免费,以及投机解码两年里被用到了哪些产品里。
对应第 3 课:原作者的一手回顾,读论文之前先看它。
需联网30 min英文 Patrick von Platen · 2020-03-01
贪心、beam search、采样、top-k、top-p 逐个上手,附重复问题的例子。
对应岔路课:它没有 min-p(2024 年才提出),可以和本章的对照一起看。
需联网约 1 h英文 2024-07-22 · 50 多张图
对称 / 非对称量化、校准、训练后量化与量化感知训练、GPTQ、GGUF、BitNet。
对应第 4 课:最好的量化图解。它没有写 AWQ,AWQ 请看原文。
需联网20 min英文 2024-01-17
把已完成请求的 KV 放进基数树、按 LRU 淘汰,跨请求自动复用共同前缀。
对应第 2 课的前缀缓存 Dig(旧版资料文件里有、页面没吸收的一条)。
需联网34 + 25 min中文 E11:BV1naJp6EEey;另有 Roofline 对比一集 BV1rRYM65ENj
按标题与章节标记:E09 讲 KV cache、并行与串行、GEMM 与 GEMV、算力与带宽;E11 讲投机解码的分布一致性推导、MTP 拓扑与自投机。
对应第 1、3 课。内容尚未核实:两集都没有公开字幕,转写因 B 站风控暂停,这里只按标题与章节推荐;作者的代码仓库是私有付费的,不链。

📄 想读原文 按需

有本地 PDF 的直接打开;其余链 arXiv 或会议页(需联网)
Kwon et al. · SOSP 2023
图 2 的 20.4%–38.2% 与 96.3%;§4 块表与写时复制;§6.3 并行采样与 beam search 的共享;§7.1 分页内核慢 20%–26%;§7.2 默认块 16 个 token。
第 2 课几乎每个数字的出处。
Leviathan et al. · ICML 2023
§2.3 算法;式 (1) 期望产出;定理 3.5 接受率 = 1 − 总变差;附录 A.1 分布一致性证明;表 2 的 T5-XXL 实测。
第 3 课的核心出处,附录 A.1 只有半页。
需联网Chen et al. 2023 · DeepMind
与 Leviathan 同期独立提出同一算法,在 Chinchilla 70B 上 2–2.5 倍。
第 3 课。记号与 Leviathan 相反(q 是目标、p 是草稿),对照读时留心。
DeepSeek-AI 2024
§2.2 MTP 与损失权重;§3.4 prefill(32 卡)与 decode(320 卡)分开部署,解码「瓶颈是访存」;§5.4.3 第二个 token 接受率 85%–90%、1.8 倍 TPS。
第 1、3、5 课反复引用的三段,各只有一页。
Kimi Team 2026
MTP 层微调成 EAGLE-3 式草稿、直接以 −log Σ min(p, q) 为损失;KDA 状态在投机解码中的回滚;混合栈的前缀缓存;按请求类别分预算的准入控制。
第 2、3、5 课的 2026 年前沿做法,官方自报。
DeepSeek-AI 2026
§1:FP4 × FP8 的峰值算力目前与 FP8 × FP8 相同;§5.2.1:FP4 量化感知训练是为了降低显存流量、实际提速;§3.5.2:把压缩 KV 存到磁盘复用前缀。
第 4 课「快来自字节,不来自算力」的一手证据。
需联网Yu et al. · OSDI 2022
迭代级调度与选择性批处理;175B 模型在同样中位延迟下吞吐是 FasterTransformer 的 36.9 倍。
第 2 课:连续批处理的出处——它早于 vLLM。
需联网Dettmers et al. · NeurIPS 2022
离群特征在 6.7B 附近系统出现(幅度可达 20 倍、每个 2,048-token 序列约 15 万个、集中在 6 个维度);混合精度分解后 175B 无性能下降。
第 4 课「激活离群值」的出处。
需联网Xiao et al. · ICML 2023
式 4 的平滑因子;OPT / BLOOM 取 α = 0.5;FasterTransformer 上 1.56 倍加速、2 倍省显存。
第 4 课 SmoothQuant 一节。
需联网Frantar et al. · ICLR 2023
算法 1(逐列量化、用 H⁻¹ 补偿);表 3 OPT-175B 的 WikiText2 困惑度;单张 A100 约 4 小时量化 175B。
第 4 课的 GPTQ 与我们章内复现用的就是它的算法 1。
需联网Lin et al. · MLSys 2024 最佳论文
按激活幅度挑出约 1% 的显著权重,用缩放保护它们,而不是混合精度。
第 4 课「另一种办法」。
需联网Holtzman et al. · ICLR 2020
§3.1 top-p 的定义;§3.2 固定 k 的问题:分布平时太少、分布尖时太多。
岔路课 top-p 的出处。
需联网Nguyen et al. · ICLR 2025
阈值 = p_base × 最高概率,推荐 p_base 0.05–0.1,先施加温度。
岔路课 min-p 的出处。
需联网Gloeckle et al. 2024 · Meta
多 token 预测作训练目标,推理时自投机:代码约 3.0 倍、文本约 2.7 倍。
第 3 课 MTP 一节;训练侧见 C11 岔路。
需联网Li et al. 2025 / DeepSeek 2026 DSpark:arXiv 2607.05147
EAGLE-3:融合目标低 / 中 / 高层特征的单层草稿,3.0–6.5 倍;DSpark:冻结骨干后另训的草稿器,一次给 5 个位置 + 置信度调度,对 MTP-1 基线每用户快 60%–85%(未经同行评审)。
第 3 课「草稿器专业化」的两端。
需联网Zhong et al. OSDI 2024 / Agrawal et al. 2024 Sarathi-Serve:arXiv 2403.02310
DistServe:定义 goodput,prefill 与 decode 分开部署,同 SLO 下多服务 7.4 倍请求;Sarathi-Serve:分块 prefill 与不卡顿调度。
第 5 课的两种做法。
需联网Williams, Waterman & Patterson · CACM 2009
屋顶线模型的原始论文。
第 1 课。ACM 页面对脚本访问返回 403,只给 DOI。
🚫

排除了什么(也是筛选标准):① 知乎四篇(PagedAttention 图解、投机采样推导、GPTQ 原理、2026 推理优化全景)——本次核实全部返回 403,无法确认内容,旧版课程收录的撤下;② Lilian Weng《Large Transformer Model Inference Optimization》——量化、剪枝、蒸馏写得好,但不涉及投机解码与服务调度,不作这两部分的资料;③ Maarten 的量化指南不作 AWQ 的出处(全文没有 AWQ);④ 五道口纳什视频的配套代码仓库是私有付费的,不链;⑤ 旧版 M6 的「vLLM 减少 55% 显存、2.2 倍吞吐」当成 PagedAttention 一般收益的写法(口径错,第 2 课已改);⑥ 旧版投机解码组件用预置猜测 + 贪心匹配来撑「输出分布完全不变」(说法对、演示撑不起,已换成真模型的分布叠放与蒙特卡洛);⑦ 旧版温度组件的 5 个 logits 是编的(已换成我们模型的真实 logits);⑧ MoE 路由可视化(moe-viz)移到 C11;⑨ 各类 INT4 / INT8 SEO 聚合文(同质化转载,数字查不到一手来源)。