第 6 章 量化与并行:把显存账砍半、把卡用满


第 6 章 · 量化与并行:把显存账砍半、把卡用满

章节摘要:前五章解决了"用得好",本章解决"装得下、算得动":模型权重超出单卡容量时,张量并行与流水线并行把模型摊到多张卡上(6.1);精度冗余时,AWQ、GPTQ、FP8 量化把权重与 KV Cache 的字节数砍半甚至砍到四分之一(6.2)。读完本章,你能为任意规模的模型画出部署拓扑,并说出每种方案的显存收益与质量代价。

一条主线

主线场景一路升级:单卡部署跑通了,优化也做足了,直到产品提出新需求——"把 70B 级模型架上来"。一笔冷冰冰的账摆在面前:70B 参数以 FP16 存放约需 140 GB,一张 80 GB 的卡连权重都装不下,遑论 KV Cache 与激活值。与此同时另一条线也浮出水面:小模型场景里,FP16 的精度其实是冗余的——大量任务用一半字节的权重就能做到几乎相同的质量。

两条线索对应本章两站:并行回答"模型比卡大怎么办"——把矩阵切开分到多张卡协同计算;量化回答"精度能不能省"——用更低的位宽存储与计算。两者的收益都直接命中第 1 章的两条成本规律:并行扩大的显存池让大模型可部署,量化减半的权重字节数让 decode 每步的搬运时间直接减半——在访存受限的世界里,省字节就是省时间。

沿途站点

  • 6.1 张量并行与流水线并行:两种切法的原理与适用边界——张量并行把一层内的权重矩阵切片,每次前向都要卡间通信,适合 NVLink 互联的单机多卡;流水线并行把层分组接力,通信少但有气泡,适合跨机扩展。两种并行在 vLLM 里各是启动参数里的一行配置。
  • 6.2 量化 AWQ、GPTQ 与 FP8:权重量化的两条路线(训练后校准的 AWQ/GPTQ 与面向新一代硬件的 FP8),量化对权重、KV Cache、decode 速度的三重影响,以及精度损失的实测经验。

拐点与结论

本章的拐点是成本函数的换轴:前五章在"同样的模型怎么服务更多请求"上做文章,本章换成"同样的请求需要多少字节与多少卡"。量化直接改写第 2 章的显存公式——精度字节数从 2 变 1,权重与 KV Cache 两本账同时减半;并行则改写部署方程——容量从"单卡上限"变成"卡数乘以单卡容量减去通信与气泡的折损"。

结论落在决策顺序上:能单卡量化装下的,优先量化(简单、无通信开销);装不下的,按"单机内张量并行优先、跨机流水线并行补足"组合。这个顺序背后的经济学是:量化的代价是可控的质量风险,并行的代价是实打实的通信与调度开销。

读完你应该

  1. 算清任意参数量模型在 FP16 与 INT4/FP8 下的权重显存,判断单卡可行性;
  2. 解释张量并行"切在哪、为什么每次前向都要通信";
  3. 解释流水线并行的气泡从哪来,怎么用微批缓解;
  4. 为一个具体模型给出 tp 并行度与 pp 并行度的推荐组合;
  5. 区分 AWQ、GPTQ、FP8 三条量化路线的原理与适用硬件;
  6. 预判量化对 decode 速度的影响方向,并设计一套量化前后的对比实验。

两个先验判断,帮你预读本章

其一,本章的决策有明确的最优顺序:先量化、再并行。量化用软件手段压缩字节,几乎不引入运行时开销;并行用硬件堆容量,必然引入通信与调度代价。其二,两种并行不是竞争关系而是分工关系——张量并行解决"单机内协同计算",流水线并行解决"跨机扩展",生产中的大模型部署几乎都是两者的组合。带着这两条先验去读 6.1 与 6.2,配置参数时就能知其所以然。

下一章的接力

模型与卡的账算平了,接下来是把这套配置变成真正对外的服务:安装、启动、OpenAI 兼容接口、多卡上线与核心参数。第 7 章把本章的部署拓扑落成一串可执行的命令。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U