INT4 提速 2 倍的真相:batch 一大就「穿帮」,9B–20B 模型量化部署实测盘点

TL;DR :三位独立研究者把 9B--20B 开源模型在 vLLM/SGLang 上量化的全部公开实测翻了个底朝天,发现所有计时都能用一条「内存带宽 vs 计算」的规则解释:小 batch 时 4-bit 量化提速约 2 倍,大 batch 时增益几乎归零,这时候 FP8 才是还能打的配方。同时,大量被广泛引用的「量化掉点」数字(包括所有 HumanEval 差值)其实落在基准的采样噪声里。文末附 7 条量化评测报告清单,建议部署前对照。
资源

先问一个可能正戳中你的问题:你们团队要把一个 14B 的开源模型放上 vLLM 或 SGLang 自托管,老板问「量化能省多少卡」,算法同学提醒「量化会不会掉点」------然后你去搜资料,得到的是一堆互相打架的答案:模型卡说 AWQ 提速 2.8 倍几乎无损,某基准报告说 GPTQ 掉了 4 分,还有帖子说量化根本没用。

谁对?最近挂在 arXiv(AILET Vol. 1110)上的一篇 letter 给出了目前最接近「标准答案」的东西:Twice as Fast, Until It Isn't: Quantized Serving of Mid-Size Open LLMs。三位独立研究者(Kadvani、Faujdar、Tallam)把截至 2026 年 10 月 5 日能核实的公开测量全部收拢,逐条对照原始来源核验,得出了一些可能让你意外的结论。

为什么要盘这件事?

Qwen2.5-14B、Qwen3-14B、Gemma 3 12B、Phi-4、Mistral NeMo、gpt-oss-20b......这一参数段的模型有个共同点:BF16 能塞进一张数据中心 GPU,量化后能塞进一张消费级 GPU,所以是自托管部署的绝对主力。

部署团队选量化配方(recipe),本质上只需要两个数字:

  • 相对 BF16 提速多少;
  • 掉多少精度。

听起来很简单?作者的发现是:公开记录只能「拼凑式」地回答。有的来源只报速度不报精度;有的精度分数没有同 harness 的 BF16 基线,根本没法比;这一参数段里 AMD 和 Intel Gaudi 一条计时都没有;FP4 也没有任何对照 BF16 的计时。唯二「速度+精度」双全的 checkpoint,是两个 Gemma 3 12B 的 INT4 构建------而它们的精度分只覆盖一个 MMLU 哲学子集,还恰好是 AWQ 校准时用过的题(没错,校准题混进了考卷,这测评多少有点自嗨成分)。

他们是怎么盘的?

先说收录标准,这决定了这份盘点的可信度。作者给计时定的门槛是:来源必须写明引擎、GPU、checkpoint、workload 四要素 ,缺一个不要;给精度定的门槛是:同一来源用同一 harness 报告 BF16 基线分,没有基线的分数无法判断「掉了多少」。

搜索范围覆盖 vLLM、SGLang、AMD ROCm、Intel Gaudi 官方文档,模型官方和量化发布方(Red Hat AI、PyTorch、腾讯 AngelSlim)的模型卡,基准报告和 arXiv,每个模型名 × 每种配方(FP8 / INT8 / AWQ / GPTQ / INT4 / NVFP4 / MXFP4)× 每个引擎组合式检索。AI 编码助手帮忙收集和抽取,但每个数字最后都人工对照原始来源核验过。

这套「四要素 + 同基线」的严格标准筛下来,剩下的计时全部集中在一张表里。

一条规则解释所有计时

这是全文最漂亮的部分。所有公开计时------四组引擎×GPU 组合,不同模型不同指标------都能被一条**内存带宽 vs 计算(roofline)**的规则解释干净:

小 batch 时,解码受内存带宽限制。 batch 1 的情况下,每生成一个 token 都要把全部权重从显存读一遍,耗时由「搬多少字节」决定。4-bit 权重只搬 BF16 四分之一的字节,所以提速接近理论值 4 倍的下限------实测 1.35 到 2.12 倍。为什么到不了 4 倍?因为反量化开销、attention 计算、KV cache 读取都不随权重位宽缩小。

大 batch 时,GPU 变成计算受限。 batch 256 的情况下,一次权重读取就能服务 256 条序列,瓶颈从「搬数据」转移到「做计算」。而 W4A16(4-bit 权重)的矩阵乘反量化后还是在 16-bit 硬件上算------计算部分一点没省。结果就是 Gemma 3 12B 在 batch 256 下 INT4 只有 1.02 倍增益,基本等于白量化。

看看实测数字有多吻合:

vLLM 0.6.3,A100 80GB,Qwen2.5-14B-Instruct,batch 1,tokens/s(输入 1 / 30720)

配方 tokens/s 加速比 显存
BF16(基线) 46.30 / 37.18 1.00 28.08 GB
GPTQ-Int8 70.40 / 49.23 1.52 / 1.32 16.11 GB
AWQ (INT4) 92.66 / 59.01 2.00 / 1.59 9.79 GB
GPTQ-Int4 98.02 / 60.91 2.12 / 1.64 9.94 GB

vLLM benchmark_latency,H100,Gemma 3 12B,延迟秒(batch 1 / 256)

配方 延迟 加速比
BF16(基线) 3.73 / 14.07 1.00
TorchAO INT4 2.73 / 13.81 1.37 / 1.02
AWQ-INT4 2.76 / 13.93 1.35 / 1.01

SGLang 0.4.6.post1,H20 96GB,Qwen3-14B,吞吐/s(输入 1 / 30720)

配方 吞吐 加速比
BF16(基线) 47.10 / 525.80 1.00
FP8 (W8A8) 97.11 / 880.72 2.06 / 1.68
AWQ-INT4 96.49 / 744.74 2.05 / 1.42

三条曲线一个故事:batch 1 时 INT4 全员 2 倍上下;batch 256 时 W4A16 直接躺平(1.02×);而 FP8 因为 Hopper tensor core 的 FP8 算力本来就是 BF16 的两倍,大 batch 下依然保有 1.68 倍。长 prompt 同理------A100 上 INT4 增益从 2.12×(输入 1 token)跌到 1.64×(输入 30720 token),因为 prefill 也是计算密集的。

那 gpt-oss-20b 呢?它是 MoE(20.9B 总参数、3.6B 激活),专家权重原生 MXFP4 训练,情况特殊:唯一在带的计时比较的是引擎而非配方------默认设置下 vLLM 吞吐是 SGLang 的 2.93 倍(16,494 vs 5,627 tokens/s,H100,1000 条 ShareGPT prompt)。作者还补了一句有意思的:MXFP4 数值在 BF16 里可以精确表示,所以一份 BF16 拷贝理论上精度相同------但没人测过它的 BF16 基线。

精度:一大半「掉点」都在噪声里

速度的规律清楚了,那精度呢?作者的第二个发现可能更扎心:多数已发布的精度差值,比基准本身的采样噪声还小。

论文没找到任何来源报告标准误,于是自己补了把尺子:单次运行的标准误约为 p(1−p)/n \sqrt{p(1-p)/n} p(1−p)/n 。套到主流基准上------

  • HumanEval(n=164):约 ±3.9 分;
  • GSM8K(n=1319):±0.8--1.3 分;
  • 完整 MMLU(n=14042):±0.34--0.39 分。

用这把尺子量公开数据:HumanEval 上所有量化差值(−3.05 到 +6.10,折合 ±5--10 道题)全部落在噪声里,根本无法区分哪个配方更好。你看到的「AWQ HumanEval +6.10」大概率只是运气。

那哪些掉点是「真的」?表里最明确的两处真实损失都在 GSM8K:AWQ 在 Qwen3-14B 上掉 4.17 分、GPTQ 在 Mistral NeMo 上掉 4.02 分,都超过三个标准误。数学推理能力对量化权重确实更敏感。8-bit 配方则整体安全------完整 MMLU 上所有 8-bit 差值不超过 0.77 分。

还有一个容易被忽略的因素:评测 harness 的影响不亚于配方本身。同为 Qwen3-14B 的 W4A16 量化,腾讯 AngelSlim 测出 GSM8K −1.06,Red Hat AI 测出 +3.94------不仅方向相反,两组 BF16 基线本身就差了 20.77 分。看到这种数字打架,先查评测工具再怪配方。

证据分级:哪些话敢说,哪些不敢

作者把每条结论按「独立来源数 × 模型数 × GPU 数」标了置信度,这个诚实的分级值得全文抄录:

问题 公开记录显示 置信度
batch 1 速度 W4A16 提速 1.35--2.12×;H20 上 FP8 与 AWQ 打平 中
大 batch 速度 W4A16 无增益;FP8 未测 低
长 prompt 速度 FP8 胜 AWQ(1.68× vs 1.42×) 低
8-bit 精度 MMLU 差 ≤0.77 分 中--高
INT4 精度 MMLU 0.43--1.43 分;GSM8K 最高约 4 分 中
gpt-oss-20b 引擎 vLLM 默认设置 2.93× SGLang 低
AMD / Gaudi 速度、FP4 加速 无在带测量 无

最后那几行「无」相当醒目------2026 年了,AMD 和 Intel Gaudi 在最主流的部署参数段上,连一条公开计时都没有。

泼点冷水

这篇论文本身也有局限,作者在文末交代得很坦率:

  • Table 1 的四组计时来自不同实验:引擎版本从 vLLM 0.6.3 跨到 0.11.0(约两年的迭代),GPU、指标口径都不同,不是同一个 benchmark,只能组内比较。
  • 标准误标尺假设题目独立、单次运行;已有研究(Dutta et al. 2024)指出两次运行间「答案翻转集合」是比总分更敏感的量化影响度量,但没有来源报告这个。
  • Qwen3-14B 那条 FP8 计时用的 checkpoint 激活 scale 没标明 static 还是 dynamic,没法对应到精度表------讽刺的是,「计时与精度用同一个 checkpoint」正是作者自己清单的第一条。
  • 全部证据来自厂商/项目页面,内容会变动,最后核验日期 2026-10-05。

换句话说,这是一篇没有自己实验的元分析------它的价值在于指出「大家引用的数字有多不可靠」,而不是提供更可靠的数字。

那到底怎么选?

把论文的结论翻译成部署决策:

  • 延迟敏感、batch 小(单用户、低并发):选 W4A16(AWQ 或 GPTQ-INT4),提速 1.35--2.12×,MMLU 约掉 1 分,但要盯紧 GSM8K------数学能力最多可能掉 4 分。
  • 吞吐敏感、batch 大(高并发服务) :INT4 基本白量化,FP8 才是 roofline 认可的配方------但注意 Ampere 卡(A100)上 FP8 checkpoint 只能按 weight-only 跑,Hopper(H100/H20)才能满血。
  • 只为省显存:INT4 把 14B 模型从约 28 GB 压到 10 GB,一张消费级卡就能装,这个收益与 batch 无关,永远成立。
  • 引用任何「量化提速 X 倍」的说法之前,先过一遍论文给出的 7 条报告清单:checkpoint ID 与 revision、引擎版本与非默认 flag、GPU 型号、输入输出长度与 batch、同栈 BF16 基线、harness 细节附标准误、校准数据与评测集不相交。目前没有任何一条公开测量满足全部 7 条。

说到底,这篇 letter 讲的道理很简单:「快多少」取决于你的负载落在带宽受限还是计算受限区,「掉多少」取决于你有没有把噪声算进去。下次再看到「量化无损提速 4 倍」的宣传,先问一句:什么卡?什么引擎?batch 多大?和谁比的?

这大概就是一份好的测量综述能给行业的东西------不是新数字,而是一副看清旧数字的眼镜。

相关推荐
深蓝AI3 小时前
Gemini 4 Carbon 登顶却买不到:59 分拿下智能指数第一,单任务 7.76 美元,幻觉率从 4% 涨到 11%
人工智能·程序员
云-缩影9 小时前
文生图技术落地:从广告到游戏,哪些场景真的能用
人工智能·游戏
冬奇Lab12 小时前
一天一个开源项目(第254篇):NVIDIA Auto Ontology —— 给数据 Agent 搭一层「可认证的语义层」,答不了就老实说答不了
人工智能
其实防守也摸鱼12 小时前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
甲维斯12 小时前
Workbuddy+HY4 略超预期!
人工智能
天远API13 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
朱涛的自习室13 小时前
212 个需求、22 万行代码:Agent 接管开源项目的 19 天
android·前端·人工智能
美林数据Tempodata13 小时前
高职大数据技术专业升级的六个落地样本:从产业链需求库到实训室数据链路
大数据·人工智能·数字化转型·产教融合·ai教育