QServe:把 W4A8KV4 的理论收益做成实测吞吐的量化—系统协同设计

本页为第 10 篇(解码加速与量化类)。定量内容取自本地论文 PDF 10_QServe_2405.04532.pdf(arXiv:2405.04532v3,MLSys 2025,共 19 页;本页采用该 v3 版本,PDF 页面水印逐字核验「arXiv:2405.04532v3 [cs.CL] 1 May 2025」)并逐条标注 PDF 页码;关键数字已两轮核验(第 1-14、18 页曾渲染原页逐项目检,2026-09-15 又以版面保留的文本提取逐表逐格复核,见 #evidencesources/qserve.evidence.json)。

快速标签与阅读说明

最后核验日期:证据完整度:论文核心数字(摘要、表 1-6、图 2/15/16/17/18 的图注与正文结论、§3-§6 公式与机制)已回 PDF 原页逐项核验并标注页码与实验条件;两处已知口径差异(摘要舍入倍数 vs 表 4 精确值;§6.3「七个模型」区间 vs 表 4 八列)逐一对照原页后在页面并排保留;图 16 显存面板与图 18 柱状图无数值标注,仅取文字结论,读图近似单独标 I;TTFT/TPOT/单请求延迟、能耗论文未报告,页面写「论文未明确披露」。本页采用 PDF v3(2025-05-01 水印);该 PDF 嵌入元数据 Subject 字段写作「mlsys 2024」,与页面印刷的版权行「Proceedings of the 8th MLSys Conference, Santa Clara, CA, USA, 2025」不一致,页面以印刷文本为准(MLSys 2025)。

证据标签图例: P=论文 R=仓库 E=外部资料 I=编辑推断

1. 摘要与一句话判断

论文元数据 P(逐字核验自 PDF 第 1、18 页;仓库另经在线核验 R
题名QServe: W4A8KV4 Quantization and System Co-design for Efficient LLM Serving(编辑译名:QServe——面向高效 LLM 服务的 W4A8KV4 量化与系统协同设计)
作者 / 机构Yujun Lin*、Haotian Tang*、Shang Yang*、Zhekai Zhang、Guangxuan Xiao(MIT);Chuang Gan(UMass Amherst / MIT-IBM Watson AI Lab);Song Han(MIT / NVIDIA)。*共同一作,脚注注明前三位作者按字母序署名同等贡献:Yujun Lin 主导向量化算法(quantization algorithm),Haotian Tang 与 Shang Yang 主导 GPU kernel 与服务系统(第 1 页)
发表Proceedings of the 8th MLSys Conference, Santa Clara, CA, USA, 2025(第 1 页版权行);arXiv:2405.04532v3,2025-05-01(PDF 水印逐字核验);本地 PDF 10_QServe_2405.04532.pdf(19 页)P
代码摘要末句印明 github.com/mit-han-lab/omniserve(第 1 页)R;已在线核验(2026-09-15:HTTP 200、Apache-2.0、main 分支、未归档,详见 #links
评估范围精度:Llama-1(7B/13B/30B)、Llama-2(7B/13B/70B)、Llama-3-8B、Mistral-7B、Mixtral-8x7B、Yi-34B;效率:Llama-3-8B、Llama-2-7B/13B/70B、LLaMA-1-30B、Mistral-7B、Yi-34B、Qwen1.5-72B 共 8 个模型在 A100 与 L40S 上对比 TensorRT-LLM / Atom / QuaRot(第 10-11、13 页;Qwen1.5-72B 仅出现在效率评测)P
实验硬件效率实验:A100-80G-SXM4 与 L40S-48G,同显存预算(80GB/48GB)内最大可达吞吐,输入 1024 / 输出 512 token(第 12 页 §6.3、第 11 页图 15 图注)P;软件 PyTorch 2.2.0 + CUDA 12.2(第 11 页)
一句话判断(编辑推断):I QServe 论文回答了一个反直觉问题——把位宽从 8bit 降到 4bit 为什么反而可能变慢:因为去量化发生在吞吐只有张量核约 2% 的 CUDA 核上(一次 CUDA 核运算≈50 次 INT4 张量核 MAC,第 1、4 页)。解法是算法与系统一起设计:QoQ 算法给出「W4 权重 + A8 激活 + KV4 缓存」这一在 roofline 上两头占优的精度组合,并用保护区间、SmoothAttention 保住精度;QServe 系统再把去量化塞进寄存器级并行,让主循环里只剩 INT8 张量核。收益兑现在同显存预算内最大可达吞吐(对 TensorRT-LLM v0.9.0:A100 1.20×~2.38×、L40S 1.39×~3.47×,表 4),并让 48GB 的 L40S 扛起与 80GB A100 相同的 batch——论文据此宣称「有效把 LLM 服务美元成本降 3×」(表 4 表注,口径见 #cost-slo)。基线是 2023 年的 TRT-LLM v0.9.0,引用绝对数字时必须带上这一点。

3 分钟速读

  1. 问题:现有 INT4 方案只加速低批量边缘推理,在大批量云端服务上失效——最先进的 W4A4 系统 Atom 在 A100 上跑 Llama-2-7B 比 TensorRT-LLM 的 W4A16/W8A8 慢 20-25%;已有 INT4 方法在 GPU 上去量化权重或部分和时承受 20-90% 运行时开销;A100 上一次 CUDA 核运算的代价相当于 50 次 INT4 张量核运算(第 1-2 页)P
  2. 为什么是 W4A8KV4:roofline 分析(A100 峰值 FP16/INT8/INT4 张量核 312/624/1248 TOPS、显存带宽 2TB/s)显示 GEMM 计算强度≈批量 m:m<78 时 W4A16(省带宽)更优、m>78 时 W8A8(算力高)更优,而 W4A8 只要全部计算落在 INT8 张量核上就两头通吃(第 3-4 页)P;解码注意力是计算强度 1 的 GEMV,KV4 等效加倍带宽(第 4 页)P。而 W4A4 的理论增益在 Ampere/Hopper 上兑现不了(第 4 页)P
  3. 算法(QoQ):渐进分组量化——先 per-channel 对称 INT8(保护区间 [-119,119],保证两级缩放反量化不溢出 INT8),再 per-group 非对称 INT4(组 128);SmoothAttention 用 λ=max(|K|)^0.5 平滑 Key 缓存离群(约为其他激活的 ~10×),并按 RoPE 配对约束 λ_i=λ_{i+D/2} 融合进 W_Q/W_K(第 5-6 页)P
  4. 系统(QServe):运行时精度映射为「所有 GEMM=W4A8 输入、INT8 张量核计算、FP16 输出;所有注意力=FP16 CUDA 核」(第 7-8 页图 11)P;计算感知权重重排按 32×32 tile 的「计算顺序」落盘、32 通道拼成单个 128bit 字,消除指针算术(第 8-9 页)P;解包 32 个 INT4 仅 3 次逻辑运算 + vadd4 单指令 4 路 INT8 加法实现寄存器级并行(第 9-10 页)P;KV4 注意力靠位技巧等四项优化避开 CUDA 核 roofline(第 10 页)P
  5. 结果与边界:同显存预算内最大可达吞吐(输入 1024/输出 512)对 TRT-LLM v0.9.0 最优精度配置:A100 8 模型 1.20×~2.38×、L40S 8 模型 1.39×~3.47×,几何平均 L40S 2.36×、A100 1.68×(第 13 页表 4、第 11 页图 15)P;34B 以下 7 模型中的 5 个在 L40S 上用 QServe 跑赢 A100 上的 TRT-LLM(第 13 页 §6.3)P;精度方面 WikiText2 困惑度 Llama-2-7B QoQ g128 5.67 vs FP16 5.47,五项常识任务平均对 FP16 仅损失 1.03%/0.89%/0.40%(7B/13B/70B,第 11-12 页)P;TTFT/TPOT、单请求延迟论文未报告I(口径核对)。

2. 问题背景

量化位宽与 GPU 硬件层次错配:P(第 1 页引言)现有整数量化分三类:W8A8、W4A16(前两类近似无损)、W4A4(精度受损)。INT4 理论上省显存、张量核峰值翻倍,但「降低位宽不一定加速推理」——关键在去量化落在低吞吐 CUDA 核上:A100 上一次 CUDA 核运算≈50 次 INT4 张量核运算(第 1-2、4 页);现有 INT4 方法去量化权重或部分和的开销达运行时的 20-90%(第 1 页摘要)。

W4A4 系统的反例:P(第 1-2 页)在 A100 上服务 Llama-2-7B 时,Atom 比 TensorRT-LLM 的 W4A16/W8A8 慢 20-25%;图 2b(Llama-2-7B、A100、batch 64)印刷柱值:TRT-LLM-W8A8 2,104 tokens/s,而 Atom 986、QuaRot 817——尽管 INT4 张量核理论峰值是 INT8 的 2×(第 3 页图 2b 图注)。

roofline 解释(为什么 W4A8KV4 两头占优):P(第 3 页图 3 与脚注、第 4 页 §3.1)A100 峰值 FP16/INT8/INT4 张量核 312/624/1248 TOPS、DRAM 带宽 2TB/s。GEMM 计算强度(MACs/element)≈m(序列数):m<78 时 W4A16 理论吞吐更高(省权重带宽),m>78 时 W8A8 更优(INT8 算力);W4A8 只要全部计算在 INT8 张量核上即可跨 batch 兼得。解码注意力是计算强度 1 MAC/元素的批量 GEMV,访存由 KV 缓存主导,KV4 等效加倍带宽、对 KV8 有 2× 理论峰值;batch=64 时注意力占总运行时 50% 以上(第 3-4 页)。

为什么不是 W4A4KV4:P(第 4 页 §3.2)张量核 GEMM 采用输出固定(output stationary)数据流,m×n×k 问题的主循环沿归约维 k 顺序迭代、超过 100 次迭代并主导运行时;W4A16 需在主循环内做 INT4→FP16 权重转换、Atom-W4A4 需 INT32→FP32 部分和转换;A100/H100 上 FP32 CUDA 核峰值仅为 INT4 张量核的 2%,Atom 去量化单个部分和≈50 次张量核 MAC,且为部分和维护 FP32+INT32 双份寄存器、限制可驻留 warp 数、削弱延迟隐藏。

目标工作负载与约束:P(第 3 页 §3.1)以真实对话负载为口径(输入 1024 token、输出 512 token),解码阶段运行时约为 prefill 的 6×,因此聚焦解码期 attention 与 GEMM;目标场景是大批量、云上 LLM 服务(第 1 页摘要:现有 INT4 只加速低批量边缘推理)。

基线口径:P(第 11-12 页 §6.1/§6.3)效率基线为 TensorRT-LLM v0.9.0(FP16 / W8A8 / W4A16 三种精度取最优)以及 Atom(W4A4)、QuaRot(W4A4,main 分支截至 2024-04-18);精度基线为 FP16 及 W8A8/W4A16 量化方法(SmoothQuant、GPTQ-R、AWQ)。I 因此论文数字回答的是「QServe 比 2023-2024 年初的这些基线强多少」,不回答「与 2026 年的最新服务栈比谁优」。

3. 核心机制

3.1 QoQ 算法:为「去量化免费」而设计的量化格式

渐进分组量化与保护区间(§4.1)

P(第 5 页式 4/5、图 6)两级量化:先对权重做 per-channel 对称 INT8 量化(FP16 通道缩放),再对中间 8bit 张量做 per-group 非对称 INT4 量化(无符号 4bit 零点 + 无符号 8bit 组缩放,组大小 g=128 时记作 W4A8KV4g128):

Ŵ = Q_Ws8^(0) · s_fp16^(0) (第 1 级:per-channel 对称 INT8)
Q_Ws8^(0) = (Q_Wu4^(1) − z_u4^(1)) · s_u8^(1) (第 2 级:per-group 非对称 INT4)

P(第 5 页「Protective Quantization Range」小节)直接级联会溢出:若某组 8bit 权重落在 [-113, 120],INT4 非对称量化产生缩放 16、零点 7,值 120 反量化为 (15−7)×16=128,超出 INT8 上限 127;硬件饱和指令会拖慢至多 67%。推导:s_u8 ≤ (127−(−128))/(15−0)=17,要求 q̂_s8 ≤ 127 ⇒ q_s8 ≤ 119.5,故把第 1 级对称量化区间从 [-127,127] 收缩到保护区间 [-119, 119],使反量化中间值严格落在 INT8 表示范围内(第 5-6 页)。

P(第 6 页「Compared to previous two-level quantization」)与 VSQuant、QLoRA 的 DoubleQuant、DGQ 的区别:它们先用目标位宽组量化、再对 FP16 组缩放做 per-channel 量化,GPU 上须先把缩放、再把权重反量化为浮点值,限制峰值吞吐;DGQ 服务系统把去量化 kernel 与 GEMM 分开,其 W4A8 GEMM 端到端延迟甚至慢于 cuBLAS 的 W8A8 GEMM。QoQ 的保护区间允许把去量化融合进 W4A8 GEMM kernel 并全程寄存器级并行——QServe 的 W4A8 per-group GEMM 对 W8A8 cuBLAS GEMM 达 1.5× 加速(GEMM kernel 级结论,非端到端吞吐)(第 6 页)P

SmoothAttention(§4.2)

P(第 6 页图 7、式 7-9)经验观察:Value 缓存无明显离群,Key 缓存每头存在固定离群通道(幅值约为多数激活值的 ~10×),KV8 尚可容忍、KV4 量化级数不够。按通道因子 λ 平滑:Z=(QΛ)(KΛ⁻¹)ᵀ,λ_i=max(|K_i|)^α,实践 α=0.5 即可;因 Query 不量化只需处理 Key。为与 RoPE 交换律兼容(RoPE 把通道 i 与 i+D/2 配对),加硬约束 λ_i=λ_{i+D/2}(式 9);平滑因子 Λ 融合进前层权重(W_Q=ΛW_Q、W_K=Λ⁻¹W_K),运行时零额外 kernel 调用(第 6 页;「无系统开销」结论见第 13-14 页图 16)P

通用量化优化(§4.3)

3.2 QServe 服务系统

运行时精度映射(§5.1,图 11)

P(第 7-8 页)所有 GEMM 层以 W4A8 为输入、在 INT8 张量核上计算、输出 FP16;所有注意力层在 CUDA 核上以 FP16 计算;每个 LLM 块 FP16 进、FP16 出。激活量化融合进前趋 LayerNorm(QKV 投影、FFN 第 1 层)或前趋激活 kernel(FFN 第 2 层);注意力 out_proj 前插入独立量化节点。

KV 缓存管理(§5.1)

P(第 8 页)沿用 vLLM / TensorRT-LLM 的分页 KV 缓存防碎片,并支持同类 in-flight batching;但两框架是 per-tensor 静态(离线算好缩放)的 KV8 量化,QServe 因 4bit 精度需要 per-head 动态 KV 量化——FP16 缩放与零点按头紧跟量化 KV 特征存于每个缓存页内、可在线更新。

计算感知权重重排(§5.2.1,图 12)

P(第 8-9 页)朴素 INT4 寻址每 4 通道要一次地址计算,而 CUDA 核吞吐仅为 A100 INT8 张量核的 32×,指针算术不可忽略;跨步访问还无法打包 128bit 读。ldmatrix 指令只在存储/计算位宽一致(W8A8)时可用,W4A8 按「字节一致、元素不一致」分配而失效。解法:按 32×32 tile 把计算所需顺序落盘(线程 0 用输入通道 0-3 与 16-19 对应的权重,32 通道拼成单个 128bit 字),权重静态、零运行时开销,同时消除指针算术并保证 128bit/thread 访存;零点与缩放同样重排。

快速去量化(§5.2.2-5.2.3,图 13-14)

P(第 9-10 页)把 ZINT4→SINT8 转换分解为 UINT4→UINT8 解包与 UINT8→SINT8 零点减两步:

通用 GEMM 优化(§5.2.4)与 KV4 注意力(§5.3)

P(第 10 页)访存侧:多级软件流水 + 异步内存拷贝、L1 共享内存 swizzle 消除 bank 冲突、跨线程块置换计算分区提升 L2 复用(相邻块复用同一权重);计算侧:m 较小时把归约维 k 切片、在 L1 内跨 warp 归约部分和。KV4 注意力部分与实验数字见 #experiments(表 1)。

控制面 / 数据面职责划分(编辑推断):I 论文未使用「控制面/数据面」术语。本页划分:控制面=离线量化流水线(校准→旋转→平滑→重排→裁剪→两级量化→权重重排落盘)、精度映射策略(哪些层 W4A8、哪些层 FP16)、KV 页内缩放/零点的在线更新、in-flight batching 调度;数据面=INT8 张量核 GEMM 主循环、寄存器级去量化、FP16 注意力、KV4 量化/反量化读写。该划分只影响叙述,不改变论文事实。

4. GPU/系统数据路径

QServe 数据路径图:请求进入服务层做 in-flight batching 连续批处理,分页 KV 管理器按页分配显存、每页内联存放该头 FP16 缩放与零点;Transformer 块内精度映射为块级 FP16 进出,LayerNorm 或激活 kernel 融合激活量化输出 INT8,QKV 投影、FFN 两层均为 W4A8 GEMM(INT8 张量核计算、FP16 输出),注意力在 CUDA 核上以 FP16 计算并读取 KV4 缓存,输出投影前插入独立量化节点;W4A8 GEMM 主循环五步——加载按 32×32 瓦片计算顺序离线重排的 INT4 权重并 128 位连续读、3 次逻辑运算解包为 UINT8、vadd4 单指令 4 路 INT8 加法、INT8 乘 INT8 张量核矩阵乘、per-channel 零点并入尾注或 per-group 二级缩放寄存器级相乘;解码注意力分页读 INT4 K/V,位技巧每元素 2 次运算反量化,QK 与 SV 用 FP16,kernel 起始预取缩放零点,风险点为朴素 KV4 每元素 5 次 ALU 使 A100 上的融合核变成计算受限、QServe 优化后达 1.5 倍;KV 写路径把新 token 的 K/V 逐头非对称量化为 INT4 并与缩放零点内联写入缓存页,每步解码循环。右侧面板为离线准备(旋转、平滑、通道重排、权重裁剪、渐进分组量化保护区间负 119 到 119、SmoothAttention 融合、计算感知重排落盘)与引用数字必读的完整实验条件。
图 1:QServe 从请求到 INT8 张量核与 KV4 分页缓存的端到端数据路径。实线=运行时数据流,虚线=离线准备;深蓝=服务/调度,青=GPU 计算,紫=KV 缓存/显存,琥珀=论文指出的风险点;编号 ①-⑤ 对应下方文字序列。依据论文图 5、6、7、11、12、13、14、§4-§5(arXiv:2405.04532v3)绘制 P;编号与面板编排为本页编辑标注 I

端到端文字序列(与图中编号一致)

  1. ① 服务层:请求进入引擎调度器做 in-flight batching(与 vLLM / TensorRT-LLM 同类);分页 KV 管理器按页分配显存防碎片,每页内联存放该头 FP16 缩放/零点(KV4 专用、在线更新)P(第 8 页 §5.1)。
  2. ② 块内精度映射:块级 FP16 进、FP16 出;LayerNorm(QKV 投影、FFN 第 1 层前)或激活 kernel(FFN 第 2 层前)融合激活量化输出 INT8;QKV 投影、FFN 两层均为 W4A8 GEMM(INT8 张量核、FP16 输出);注意力在 CUDA 核上 FP16 计算并读 KV4;out_proj 前插入独立量化节点P(第 7-8 页图 11)。
  3. ③ W4A8 GEMM 主循环:加载按 32×32 tile「计算顺序」离线重排的 INT4 权重、128bit 连续读 → 3 次逻辑运算解包为 UINT8 → 乘后减次序 + vadd4(一条 INT32 ALU=4 路 INT8 加法;保护区间 [-119,119] 保证乘积不溢出)→ INT8×INT8 张量核矩阵乘 → 尾注处理(per-channel 零点并入尾注、t_X 预计算融合进前趋访存受限 kernel;per-group 二级缩放在主循环内寄存器级相乘)→ 输出 FP16P(第 5、8-10 页图 5d、12-14)。
  4. ④ 解码注意力:分页读 INT4 K/V,位技巧把反量化算术强度降到每元素 2 次运算,QKᵀ 与 SV 积用 FP16,kernel 起始异步预取缩放/零点;FP16 softmax 与输出。风险:朴素 KV4 每元素 5 次 ALU、A100 FP32 CUDA 核 roofline 转折点仅 9.8 Ops/Byte,融合核会变成计算受限(A100 上 1.1-1.2× 反而变慢);QServe 四项优化后对 TRT-LLM KV8 核达 1.5×(kernel 级)P(第 10 页 §5.3、表 1;1.7× 为端到端注意力改进,第 14 页 §6.4)。
  5. ⑤ KV 写路径:新 token 的 k/v 逐头做非对称 INT4 动态量化(缩放/零点在线更新),INT4 特征与该头 FP16 缩放/零点内联写入缓存页;SmoothAttention 已离线融合进 W_Q/W_K,运行时零额外调用。每步解码循环 ②→⑤P(第 8 页 §5.1、第 6 页 §4.2)。
路径上的关键配置与事实(机制口径,非性能结论;性能结论见 #experiments
事实/数值对象与条件论文定位
精度格式:权重 W4(per-channel INT8 + per-group INT4 两级)、激活 A8(per-token 对称 INT8)、KV 缓存 KV4(per-head 非对称 INT4)QoQ「W4A8KV4g128」=渐进分组量化(组 128);「W4A8KV4」为 per-channel 对应版本P 第 5 页 §4.1、第 10-11 页 §6.1
所有 GEMM:W4A8 输入、INT8 张量核计算、FP16 输出;所有注意力:FP16 CUDA 核;块 FP16 进出运行时精度映射(GEMM 与注意力精度分离)P 第 7-8 页图 11
保护区间 [-119,119];直接级联溢出反例 [-113,120]→128;饱和指令拖慢至多 67%渐进量化正确性前提(保证 RLP 乘法不溢出 INT8)P 第 5-6 页、第 10 页开头
权重按 32×32 tile 计算顺序落盘、32 通道拼单个 128bit 字;零点/缩放同重排离线完成、运行时零开销P 第 8-9 页图 12
分页 KV 缓存 + in-flight batching 与 vLLM/TRT-LLM 同类;KV 量化为 per-head 动态(对比两框架 per-tensor 静态)服务运行时 KV 路径P 第 8 页 §5.1
激活量化融合点:LayerNorm(QKV、FFN1)/ 激活 kernel(FFN2);out_proj 前独立量化节点INT8 激活的生产位置P 第 7-8 页
KV 量化/反量化算子的绝对耗时、KV 页内缩放零点的空间占比:论文未明确披露数据路径运行细节P(本次证据源未载明,页面不补写)
P 口径提醒(读数方式):论文效率数字的完整条件是:A100-80G-SXM4 或 L40S-48G、同显存预算(80GB/48GB)内最大可达吞吐(tokens/s)、输入 1024 / 输出 512 token、对 TRT-LLM v0.9.0 三种精度(FP16/W8A8/W4A16)最优配置、A100 用 per-channel / L40S 用 per-group 权重量化(第 11-12 页 §6.1/§6.3)P。引用本页任何吞吐数字必须携带这些条件,且不可与其他论文的数字横向比较。

5. 架构权衡

6. 云上部署映射

以下映射为厂商中立示例;具体产品命名/规格仅作说明并标 E,以厂商当时目录为准,未逐一在线核验。论文事实单独标注 P

QServe 组件 → 云上资源映射
论文需求云上映射(示例)证据与说明
计算:A100-80G-SXM4 / L40S-48G 两档 GPU;核心论点是「较便宜的 L40S 类卡 + W4A8KV4 ≥ 较贵的 A100 + 基线」 E 按吞吐 SLO 在「A100 80GB 类」与「L40S/L40 48GB 类」实例间做容量规划;新购/扩容场景优先试 Ada 类卡 + 量化,存量 A100 用量化提密 两档 GPU 与同显存预算口径为论文事实 P(第 12 页 §6.3、第 11 页图 15 图注);「5/7 模型 L40S 反超 A100」为论文结果 P(第 13 页);实例选型为云实践 E
交付形态:预构建 Docker 镜像(QServe + TensorRT-LLM + 依赖),NVIDIA Container Toolkit 运行 E 容器服务/ GPU 节点池拉取制品化镜像;镜像 digest 与驱动/CUDA 版本矩阵纳入节点镜像管理 论文附录 A 明确以 Docker + NVIDIA Container Toolkit 交付(镜像 shang12138/qserve-mlsys25-aeP(第 18 页);容器平台落位为云实践 E
容量规划变量:权重(W4)+ KV 缓存(KV4,页内含 per-head FP16 缩放/零点)+ 激活 + 框架开销 E 容量模型进编排:按显存预算反推最大 batch(论文口径即「同预算内最大可达吞吐」);为回退 FP16/W8A8 预留余量或配套降载 KV 页结构与 per-head 统计量内联为论文事实 P(第 8 页);「W4 省 3.5GB、KV4 内存减半」为论文消融文字结论 P(第 13-14 页);容量公式与回退余量为工程建议 I
配置面:量化粒度按 GPU 选型(A100 per-channel / L40S per-group)、组大小 g=128 与否(W4A8KV4g128) E 配置随模型制品下发(模型卡注明量化格式与粒度);变更走灰度 + 精度回归 粒度选择依据(L40S CUDA 核更强)与两种格式定义为论文事实 P(第 12 页 §6.3、第 10-11 页 §6.1);配置治理为工程建议 I
与主流服务栈的关系:官方仓库 README 称 QServe 已于 2024 年 12 月集成进 NVIDIA TensorRT-LLM E 生产环境优先评估推理框架内置实现/等效 W4A8KV4 配方,自建 QServe 库仅作对照或特殊调优 集成说法来自官方仓库 README 新闻(2026-09-15 在线核验)R;论文本身未描述该集成 P;平台选型建议为编辑推断 I
可观测:吞吐(tokens/s)、显存水位、批量上限、精度抽样 E 监控最大可达吞吐与 OOM 边界批量、显存构成(权重/KV)、Wikitext 困惑度或下游任务抽样分数;异常回退 W8A8/FP16 配置并告警 论文以吞吐为效率指标、困惑度/常识/长上下文为精度指标 P(第 10-13 页);监控设计为编辑建议 I、接入为云实践 E
放置要点(编辑推断):I ①QServe 的价值主张集中在「同预算下更高吞吐 + 低价位卡承载同 batch」,最适合大批量、成本敏感的云端推理池;②论文负载口径固定为输入 1024/输出 512,真实流量分布不同时收益需复测;③仓库近两年几乎无提交(见 #links),把它当「论文级参考实现 + TRT-LLM 集成思路」比当「活跃开源服务框架」更符合现状。

7. 成本 / 性能 / SLO

7.1 指标口径(论文使用的)

P(第 12 页 §6.3)效率主指标=同显存约束内最大可达吞吐(tokens/s;输入 1024 / 输出 512;A100 80GB / L40S 48GB 预算;A100 用 per-channel、L40S 用 per-group 权重量化)。精度指标=WikiText2 困惑度(序列 2048,越低越好)、五项常识任务零样本平均(PIQA/ARC-e/ARC-c/HellaSwag/WinoGrande,越高越好)、LongBench 长上下文。TTFT、TPOT、单请求延迟、能耗:论文未明确披露。

7.2 主效率结果上下文(表 4 全量转录,第 13 页)

表 4 转录:绝对吞吐 tokens/s 与对 TRT-LLM 三精度最优者的加速比(P;同显存预算,输入 1024/输出 512;OOM=该精度下超显存)
GPU系统Llama-3 8BLlama-2 7BMistral 7BLlama-2 13BLLaMA-1 30BYi 34BLlama-2 70BQwen1.5 72B
L40S-48GTRT-LLM-FP161326444156692OOMOOMOOMOOM
TRT-LLM-W4A161431681145736814831311917
TRT-LLM-W8A8263412712569440123364OOMOOM
QServe (Ours)365623943774132750486928659
加速比*1.39×1.88×1.47×3.02×3.41×2.39×2.40×3.47×
A100-80GTRT-LLM-FP1625031549237148880145OOMOOM
TRT-LLM-W4A16237015492403871352569358143
TRT-LLM-W8A8239623342427127736164923453
QServe (Ours)3005290829701741749797419340
加速比*1.20×1.25×1.22×1.36×2.07×1.23×1.17×2.38×

P(第 11 页图 15、第 13 页表 4、第 12-13 页 §6.3)补充口径:图 15 几何平均加速比对 TRT-LLM v0.9.0 为 L40S 2.36×、A100 1.68×(同为 80GB/48GB 显存预算);表 4 表注「QServe 在 L40S 上对比 TRT-LLM 在 A100 有竞争力吞吐,有效把 LLM 服务美元成本降低 3×」;§6.3 正文「34B 以下 7 个模型中的 5 个在 L40S 用 QServe 服务甚至高于 A100 用 TRT-LLM」「L40S 上跑 Llama-2-7B 比 Atom 高 10% 吞吐」;对 Atom/QuaRot(A100)为 2.5-2.9×(第 2 页引言)。I 摘要「1.2×/1.4×/2.4×/3.5×」与表 4「1.20×/1.39×/2.38×/3.47×」为舍入关系;§6.3 文字「1.47× 到 3.47× 覆盖七个模型」与表 4 八列(最小 1.39×)存在口径出入——页面以表 4 精确值为准并保留各处原始表述。

7.3 容量与成本公式(参数化,编辑推断)

权重显存 ≈ 参数量 × 0.5 字节(W4)+ 两级缩放/零点开销(per-channel FP16 缩放 + 每组 UINT8 缩放/零点)
KV 显存/token ≈ 2(K与V) × 层数 × KV 头数 × 头维 × (4bit + per-head FP16 缩放/零点摊销)/8
单实例可容 batch ≈ (显存预算 − 权重 − 激活/框架开销 − 回退余量) ÷ (单请求 KV 字节 × 序列长)
每百万 token 成本 ≈ 实例时单价 ÷ (batch × 单请求 tokens/s × 3600) × 10^6(记录单价查询日期)

I 公式中可由论文支撑的量:KV4 使 KV 显存约减半、W4 省 3.5GB(Llama-2-7B,图 16 文字结论)、同预算内吞吐倍数(表 4);其余(单价、激活开销、回退余量、请求长度分布)需按部署实测填写,本页不给出伪精确数字。P 论文对「美元成本降 3×」的表述以 L40S 吞吐 ≥ A100 吞吐为前提(表 4 表注),未给出任何价格数据。E 云单价随时段/区域/折扣变化,核算时以查询当时厂商目录为准并记录日期。

7.4 敏感项与数据缺口

8. 安全与可运维性

8.1 安全

8.2 可运维性(含恢复与回滚)

9. 适用 / 不适用场景

适用(触发条件 + 理由)

  1. 大批量、成本敏感的云端推理服务,且显存预算限制并发。触发:同显存预算下吞吐不达 SLO,或批量被显存卡住。理由:同预算内最大可达吞吐对 TRT-LLM v0.9.0 在 A100 提升 1.20×~2.38×、L40S 提升 1.39×~3.47×(8 模型,输入 1024/输出 512)P(第 13 页表 4);KV4 让 L40S-48G 容纳与 A100-80G 相同 batchP(第 13 页 §6.3)。
  2. 采购/扩容决策点上的「低价位卡 + 量化」路线评估。触发:新购 GPU 或云实例选型。理由:论文显示 34B 以下 7 模型中 5 个「L40S+QServe」吞吐超过「A100+TRT-LLM」,表 4 表注称有效降低美元成本 3×P(第 12-13 页);I 落地前须以当期云价与自身流量复算。
  3. KV 显存压力大、上下文较长的批量服务。触发:KV 占显存比例高、想在不换卡的情况下扩 batch 或上下文。理由:消融显示 KV4 使 GPU 内存使用减半、该步吞吐 +1.47×(L40S、Llama-2-7B、64 请求×1024/512)P(第 13-14 页图 16);长上下文精度退化小(LongBench 平均 38.52→38.38,Llama-3.1-8B-Instruct)P(第 13 页表 5)。
  4. 需要「INT8 张量核友好」量化格式的自研 kernel 团队。触发:自建推理栈、想复用 W4A8 主循环设计。理由:保护区间 + 乘后减 + vadd4 的 RLP 设计、计算感知权重重排均有完整推导与消融P(第 5-10 页);官方仓库 Apache-2.0 允许商用集成R(2026-09-15 核验)。

不适用(触发条件 + 理由)

  1. 低批量、边缘或端侧部署。触发:batch 小(GEMM 计算强度 m<78)、显存富余。理由:论文明确「现有 INT4 只加速低批量边缘推理」的反面诉求是大批量云端服务,且其 roofline 显示小 m 时 W4A16 的省带宽路径理论上已更优P(第 1 页摘要、第 3 页 §3.1);收益对象是批量吞吐而非单请求。
  2. 以单请求延迟(TTFT/TPOT)为首要 SLO 的交互式场景。触发:目标是个位数毫秒级每 token 延迟或首字延迟。理由:论文只报同预算最大可达吞吐,未报告 TTFT/TPOT/单请求延迟P(第 12 页 §6.3;全文无延迟指标)。I 「吞吐倍数」不能自动兑换成「延迟倍数」。
  3. 追求 W4A4 理论峰值、且有能力改造 kernel 的极端显存压缩场景。触发:需要 W4A4 才能装下的模型/批量。理由:QServe 的立场是 W4A4 理论增益在现有 GPU 架构上兑现不了、其实现走 INT8 张量核路径,不提供 W4A4 主循环P(第 3-5 页 §3.2、图 5)。
  4. 把官方仓库当活跃开源产品依赖的团队。触发:需要长期社区支持、多框架适配、新模型开箱即用。理由:仓库截至 2026-09-15 共 25 commits、无 release、README 最新动态为 2025 年 2 月(「OmniServe is now publicly available!」),近一年半近乎无更新R(2026-09-15 核验);README 称 QServe 已于 2024 年 12 月集成进 TensorRT-LLM,I 生产路径建议优先评估框架内置实现而非自行维护论文仓库。
  5. 对量化精度零容忍的业务。触发:无法接受任何困惑度/下游任务退化。理由:QoQ 相对 W8A8/W4A16 至多增加 0.16 困惑度、对 FP16 有 0.40%~1.03% 常识任务损失、KV4 一步 +0.14 困惑度P(第 11-12、13-14 页)——非零退化是设计前提。

10. 实验与指标

10.1 实验设置与口径 P(第 10-12 页)

设置与指标口径(页码均已核验)
模型精度评测:Llama-1(7B/13B/30B)、Llama-2(7B/13B/70B)、Llama-3-8B、Mistral-7B、Mixtral-8x7B、Yi-34B(第 11 页 §6.1 Benchmarks);效率评测:Llama-3-8B、Llama-2-7B、Mistral-7B、Llama-2-13B、LLaMA-1-30B、Yi-34B、Llama-2-70B、Qwen1.5-72B 共 8 个 P(第 13 页表 4)
量化格式激活 per-token 对称 INT8;KV per-head 非对称 INT4;「W4A8KV4g128」=渐进分组量化(组 128),「W4A8KV4」=per-channel 对应版本 P(第 10-11 页 §6.1)
实现QoQ 用 HuggingFace/PyTorch 实现;QServe 系统用 CUDA + PTX 汇编、提供纯 PyTorch 前端;吞吐基准 PyTorch 2.2.0 + CUDA 12.2 P(第 11 页 §6.1)
基线TensorRT-LLM v0.9.0(FP16/W8A8/W4A16);Atom(W4A4)与 QuaRot(W4A4)main 分支截至 2024-04-18;精度另对比 SmoothQuant、GPTQ-R、AWQ;paged attention 除 QuaRot(不支持)外全部启用 P(第 11-12 页 §6.1/§6.3)
硬件与指标A100-80G-SXM4 与 L40S-48G;主指标=同显存预算(80GB/48GB)内最大可达吞吐,输入 1024/输出 512;A100 用 per-channel、L40S 用 per-group 权重量化(L40S CUDA 核更强)P(第 12 页 §6.3)
基线限制Atom 仅支持 Llama-2-7B;QuaRot 不支持 GQA——测基线时跳过不支持的模型组合 P(第 12 页 §6.3)

10.2 精度结果(表 2 关键列 / 表 3 全量 / 表 5)

表 2 转录(节选):WikiText2 困惑度、序列 2048,越低越好(P,PDF 第 11 页;Llama-2-7B 列为全精度配置对比,多模型列为 QoQ g128 vs FP16)
精度 / 算法(Llama-2-7B)困惑度模型(QoQ g128 vs FP16)QoQ g128FP16
FP165.47Llama-3-8B6.706.14
W8A8 SmoothQuant5.54Llama-2-13B5.064.88
W4A16 GPTQ-R(g128)5.63Llama-2-70B3.463.32
W4A16 AWQ(g128)5.60Llama-1-30B4.274.10
W4A4 QuaRot(灰)6.10Mistral-7B5.415.25
W4A4 QuaRot†(g128,灰)5.93Mixtral-8x7B4.133.84
W4A4 Atom†(g128,灰)6.03Yi-34B4.734.60
W4A4 Atom†(g128,Pile 校准)6.12Llama-1-7B5.885.68
W4A8KV4 RTN / AWQ / QoQ6.51 / 6.28 / 5.75Llama-1-13B5.235.09
W4A8KV4g128 RTN / AWQ / QoQ5.99 / 5.83 / 5.67Llama-1-30B4.274.10
表注QoQ 全称 quattuor-octō-quattuor(拉丁语 4-8-4,第 1 页);†=QuaRot/Atom 对激活也施加组量化;W4A4 下 Mixtral-8x7B 为 NaN(不支持);灰色结果用 WikiText2 作校准集,其余主要用 Pile validation(†、灰色与 NaN 为第 11 页表 2 表注;校准集说明在第 12 页 §6.2 正文)

P(对比表述在第 12 页 §6.2 正文;表 2 数值在第 11 页)口径:对 Llama-2-7B,QoQ 相对 W8A8 SmoothQuant 与 W4A16 AWQ 至多增加 0.16 困惑度,相对 W4A4 QuaRot 至多改善 0.49。表 2 共 10 个模型列(本页转录 Llama-2-7B 全配置对比与 QoQ g128 vs FP16 的多模型对比;完整逐格值见 PDF 第 11 页)。

表 3 转录:五项常识任务零样本平均准确率(PIQA/ARC-e/ARC-c/HellaSwag/WinoGrande)、序列 2048、越高越好(P,PDF 第 12 页)
模型配置平均模型配置平均
Llama-2-7BFP1668.98Llama-2-70BFP1676.57
W4A4 QuaRot64.69W4A4 QuaRot75.43
W4A4g128 Atom59.73W4A4g128 Atom67.52
W4A8KV4 QoQ67.57W4A8KV4 QoQ75.91
W4A8KV4g128 QoQ67.95W4A8KV4g128 QoQ76.40
Llama-2-13BFP1671.72论文口径(第 12 页正文)
W4A4 QuaRot69.01WinoGrande 上 QoQ 比 QuaRot 高 4.82%;
W4A4g128 Atom63.51相对 FP16,QoQ 在 7B/13B/70B 仅损失
W4A8KV4 QoQ70.561.03% / 0.89% / 0.40%
W4A8KV4g128 QoQ70.83
表 5 转录:LongBench(Llama-3.1-8B-Instruct,QoQ W4A8KV4g128,P,PDF 第 13 页;10 任务得分与平均)
配置DuReader RetrievalGovReportHotpotQAMultiNewsMusiqueQMSumSAMSumTriviaQATRECMultiFieldQA-En平均
BF1635.0734.5416.6826.8411.6823.4843.5091.6572.5029.2238.52
QoQ35.4534.0917.4626.7312.0523.4544.4291.4571.0027.6538.38

P(结论句在第 12 页 §6.2 正文;表 5 数值在第 13 页)结论:QoQ 相对 BF16 基线在长上下文上保持最小退化(平均 38.52→38.38)。注:表 5 表头为斜排文字,文本提取易错位;本表列序与数值已按 220dpi 放大原页逐列复核(DuReader Retrieval 至 MultiFieldQA-En 从左至右),纠正了早期提取中任务名与数值的一列错位。

10.3 效率与消融

KV4 注意力 kernel(表 1,A100,核级延迟)

表 1 转录:注意力核延迟(ms)(P,PDF 第 10 页;A100;TRT-LLM KV8 核为基线)
Seq len8-bit KV4-bit KV(朴素)4-bit KV(QServe)
1280.090.10(0.87×)0.07(1.29×)
2560.140.16(0.86×)0.11(1.32×)
5120.230.27(0.87×)0.16(1.44×)
10240.420.48(0.88×)0.28(1.49×)
15360.620.69(0.90×)0.41(1.51×)

P(第 10 页)表 1 图注:朴素 KV4 注意力在 L40S 上比 TRT-LLM-KV8 快 1.7×,但在 A100 上因 CUDA 核 roofline 转折点提前而慢 1.1-1.2×。四项优化:FP32 全换 FP16(计算 roof 翻倍)、位技巧把反量化算术强度降到每元素 2 次运算、简化控制逻辑、kernel 起始预取缩放/零点——对 TRT-LLM KV8 核达 1.5×(A100,attention kernel 级)(第 10 页 §5.3)。P(第 14 页 §6.4)改进拆解(64×1024 输入):基础 KV4 0.48ms → 位技巧 0.44 → 简化控制流 −0.05 → QKᵀ/SV 转 FP16 各 −0.03 → 预取后 0.28ms,端到端注意力改进 1.7×。I 注意区分三个口径:表 1 是注意力核延迟;1.7× 是注意力环节的端到端改进;表 4 的 1.20×~3.47× 才是整服务吞吐

量化技术消融(图 16,Llama-2-7B、L40S、64 请求×1024/512)

图 16 转录:逐步量化技术的困惑度与吞吐(P,PDF 第 13-14 页;起点为 RTN W8A8KV8 per-channel+per-token,第 13 页 §6.4)
累积配置WikiText-2 困惑度L40S 吞吐(tokens/s)说明
W8A8KV8(8bit 起点)5.581367RTN W8A8(per-channel 权重 + per-token 激活)
+ W4 权重量化(W4A8KV8)6.001538吞吐 ×1.12、省 3.5GB GPU 显存(正文)
+ 块旋转与平滑5.82—(图未标该步柱值)抑制激活离群,困惑度改善 0.18
+ 块级 MSE 权重裁剪5.66再改善 0.16
+ KV4(W4A8KV4)5.802254困惑度恶化 0.14;吞吐 ×1.47、GPU 内存使用减半(正文)
+ SmoothAttention5.75改善 0.05,无系统开销
+ 渐进分组量化5.702190再改善 0.04,去量化开销仅微增(吞吐 2254→2190)
+ 激活感知重排(=QoQ 全家桶)5.67再改善 0.03
对照:Atom(W4A4KV4)6.121732同图 SOTA 对照
对照:QuaRot(W4A4KV4)6.19688

I 图 16 的 GPU 显存面板(权重 + KV 缓存堆叠柱,坐标 0-32GB)无数值标注,论文文字仅承诺「W4 省 3.5GB」「KV4 使 GPU 内存使用减半」两处结论;任何具体 GB 读数(如全配置约 16GB)都是编辑读图近似,本页不引用。

系统消融与去量化开销(图 17-18,第 14 页)

P(第 14 页)同 batch 对比(L40S,输入 1024/输出 512):Llama-2-7B 对 TRT-LLM 的 1.88× 可分解为 1.45×(同 batch)×1.3×(更大 batch);Llama-2-13B 两个因子同等重要。图 18:QServe per-group W4A8 GEMM 的去量化开销与 TRT-LLM-W4A16 相当、远小于 Atom-W4A4(后者至多 90%)——但 QServe 计算在 INT8 张量核上、享受 2× 更高吞吐。I 图 18 为柱状图、无数值标注,上述为图注/正文文字结论,不代表逐 batch 精确占比。

各结果条件字段完整性(缺项一律显式标注)
实验硬件精度批量/负载基线定位
吞吐主表(表 4)A100-80G-SXM4 / L40S-48G(同预算 80/48GB)QServe W4A8KV4(A100 per-channel、L40S per-group)vs TRT-LLM FP16/W4A16/W8A8输入 1024 / 输出 512;batch 为预算内最大可达TRT-LLM v0.9.0 三精度最优者P 第 13 页
困惑度(表 2)论文未明确披露W4A8KV4(g128) 及对比配置WikiText2、序列 2048FP16 / W8A8 / W4A16 / W4A4P 第 11 页
常识任务(表 3)论文未明确披露同上零样本、序列 2048FP16 / QuaRot / AtomP 第 12 页
长上下文(表 5)论文未明确披露QoQ W4A8KV4g128LongBench 10 任务BF16P 第 13 页
注意力核(表 1)A100KV4 vs KV8seq 128-1536(§6.4 拆解用 64×1024 输入)TRT-LLM KV8 核P 第 10、14 页
量化消融(图 16)L40SW8A8KV8→W4A8KV4 逐步64 请求 × 1024/512组内逐步互比 + Atom/QuaRotP 第 13-14 页
同 batch 拆解(图 17)L40S同上7B batch 4-64、13B batch 2-32TRT-LLM / Atom / QuaRotP 第 14 页
附录参考吞吐(表 6)未注明 GPU 型号(脚本名 benchmark_a100.sh)ITRT-LLM W8A8KV8 vs QServe未披露TRT-LLM W8A8KV8P 第 18 页
公平性限制(引用前必读):P ①全部效率数字仅在「论文所述 8 模型 + A100/L40S 两卡 + 输入 1024/输出 512 + 同显存预算 + 基线 TRT-LLM v0.9.0」语境成立,不可外推到其他模型/负载/版本,不可与本站其他论文的数字直接比较;②「吞吐 1.39×~3.47×」是服务级最大可达吞吐,不得与 1.5×(GEMM 核级)、1.29×~1.51×(注意力核级)、1.7×(注意力环节端到端)混用;③基线陈旧(TRT-LLM v0.9.0 为 2023 年版本、QuaRot/Atom 取 2024-04-18 main),绝对值不代表当前软件栈;④摘要/引言倍数与表 4 存在舍入与口径差异,页面以表 4 为准;⑤图 16 显存面板与图 18 去量化占比无数值标注,只能引用论文文字结论。

10.4 建议复现步骤(编辑推断)

  1. I 取官方仓库代码(已核验归属/许可,pin commit/digest);或直接使用附录 A 的预构建 Docker 镜像(x86_64 + A100/L40S、约 512G 磁盘)P(第 18 页)。
  2. I 精度复测:目标模型跑 FP16/BF16 基线与 QoQ W4A8KV4g128(校准集默认 Pile validation),对齐 WikiText2(序列 2048)、五项常识任务(lm-eval)与 LongBench 口径;可用开源库 deepcompressor 复现精度结果(论文仅提名称,未给 URL)P(第 11-13、18 页)。
  3. I 效率复测:A100-80G-SXM4 与 L40S-48G、输入 1024/输出 512,从 batch 2 起扫描至显存预算上限,记录最大可达吞吐;对照表 4 形状(小模型差距小、大模型/低配基线 OOM 处差距大)。附录 A 提醒绝对吞吐随机器条件浮动、应以相对加速比为准P(第 18 页)。
  4. I 目标业务实测:以真实上下文长度分布与并发区间测「基线栈 vs QServe」差值(吞吐、显存、硬任务抽样精度),并补测论文缺失的 TTFT/TPOT;再决定启用范围与量化粒度(per-channel/per-group)。
  5. I 若生产栈为 TensorRT-LLM:先评估框架内置实现(官方仓库 README 称 2024 年 12 月已集成R),再决定是否需要论文仓库级自建。

12. 给架构师的决策清单

I 以下为落地前的勾选项;标注(P)的条目对应论文证据,(R)对应仓库核验项,其余为工程判断。

13. 证据台账

下表为核心结论的证据映射;逐条引文与核验记录见构建文件 sources/qserve.evidence.json(31+ 条,EV-01~EV-32)。核验日期为

核验范围声明:两轮核验。第一轮(2026-09-14,记录于 evidence.json):PDF 全部 19 页渲染为 130dpi PNG,第 1-14、18 页共 15 页逐项目检(含第 14 页图 16 显存面板 300dpi 局部放大);第 15-17、19 页经文本提取交叉核对。sources/qserve.txt(summarize --extract 产物)可读但双栏提取有交错与表格错序,仅作检索索引。第二轮(2026-09-15,本页写作时):以版面保留(-layout)文本提取重新提取第 1-2、3-6、6-9、9-11、10-12、13、14、18 页,对表 1-6、图 2b/15/16/17 图注与正文结论逐格逐句复核,全部一致;并在线复核官方仓库(只读)。已知提取陷阱:摘要/引言的舍入倍数(1.4×/3.5×)与表 4 精确值(1.39×/3.47×)并存、§6.3「七个模型」区间与表 4 八列不一致、PDF 嵌入元数据 Subject「mlsys 2024」与印刷版权行 2025 不一致——三处均已对照原页确认并在页面并排说明。
关键结论 → 证据级别 → 定位 → 核验状态
关键结论级别定位(PDF 页码)核验状态
题名/作者/共同一作分工/MLSys 2025 Santa Clara/arXiv v3;摘要末句印明仓库 github.com/mit-han-lab/omniserve;项目页印于第 1 页P/R第 1 页已核验(原页目检 + 两轮文本复核);仓库 2026-09-14/15 在线核验
摘要级结论:现有 INT4 去量化开销 20-90%;QoQ=W4A8KV4;Llama-3-8B 1.2×(A100)/1.4×(L40S)、Qwen1.5-72B 2.4×/3.5×(对 TRT-LLM);L40S QServe 可超 A100 TRT-LLMP第 1 页摘要(精确倍数见表 4)已核验;舍入关系与表 4 逐一对照
问题背景:Atom 比 TRT-LLM W4A16/W8A8 慢 20-25%;CUDA 核运算≈50 次 INT4 张量核 MAC;图 2b batch64 印刷柱值 2104 vs 986/817;解码≈6× prefillP第 1-3 页引言、图 2已核验(原页目检 + 文本复核)
roofline:A100 FP16/INT8/INT4=312/624/1248 TOPS、2TB/s;m<78 W4A16 优、m>78 W8A8 优、W4A8 两头占优;KV4 等效加倍带宽;batch64 时注意力占比过半P第 3-4 页图 3、§3.1 及脚注已核验
为什么不是 W4A4:主循环 100+ 次迭代主导;W4A16 需 INT4→FP16、Atom 需 INT32→FP32 转换;FP32 CUDA 核仅 INT4 张量核 2%;单部分和去量化≈50 MAC;双份寄存器限制 warpP第 4 页 §3.2、图 4已核验
渐进分组量化:两级缩放(per-channel INT8 + per-group INT4);[-113,120]→128 溢出反例;饱和指令拖慢 67%;s_u8≤17 ⇒ 保护区间 [-119,119]P第 5-6 页式 4/5、图 6已核验(公式与推导逐行)
与 VSQuant/DoubleQuant/DGQ 对比;DGQ 的 W4A8 GEMM 慢于 cuBLAS W8A8;QServe W4A8 per-group GEMM 对 cuBLAS W8A8 达 1.5×(GEMM 核级)P第 6 页已核验(口径=GEMM 核级,非端到端)
SmoothAttention:Key 每头固定离群 ~10×、Value 无;λ=max(|K|)^0.5;RoPE 配对约束 λ_i=λ_{i+D/2};融合进 W_Q/W_K、运行时零开销(图 16)P第 6 页图 7、式 7-9;第 13-14 页已核验
通用优化:块输入 scaled Hadamard 旋转;块输出平滑 α≈0(照搬则 ppl 至多 +0.05);激活感知重排替代混合精度;权重裁剪(q/k 投影用块输出 MSE)P第 7 页图 8-10、§4.3已核验
运行时精度映射:GEMM 全部 W4A8→INT8 张量核→FP16;注意力全部 FP16 CUDA 核;激活量化融合进 LayerNorm/激活 kernel;out_proj 前独立量化节点P第 7-8 页图 11已核验
KV 缓存:分页 + in-flight batching 同 vLLM/TRT-LLM;KV 量化 per-head 动态(对比 per-tensor 静态);FP16 缩放/零点内联页内、在线更新P第 8 页 §5.1已核验
计算感知重排:CUDA 核仅 INT8 张量核 1/32;ldmatrix 在 W4A8 失效(字节/元素不一致);32×32 tile 计算顺序落盘、32 通道拼 128bit、零运行时开销P第 8-9 页图 12已核验
快速去量化:32 个 UINT4 重排 w0,w16,w1,w17… 仅 3 次逻辑运算解包;per-channel 零点并入尾注(t_X 预计算融合进前趋访存受限 kernel);per-group 乘后减 + vadd4 + MSB 补 24 零(保护区间保证不溢出)P第 9-10 页图 13-14、式 11-13已核验
通用 GEMM 优化:软件流水/异步拷贝、L1 swizzle、L2 分区置换、小 m 时 k 切片归约P第 10 页 §5.2.4已核验
KV4 注意力:表 1 核延迟(A100)8bit 0.09-0.62ms vs 朴素 0.87-0.90× vs QServe 1.29-1.51×;朴素 A100 慢 1.1-1.2×/L40S 快 1.7×;四项优化后 1.5×(核级);§6.4 拆解 0.48→0.28ms=1.7×(注意力环节)P第 10 页表 1、§5.3;第 14 页 §6.4已核验(逐格对照)
评估设置:8 模型;TRT-LLM v0.9.0、QuaRot/Atom main@2024-04-18;paged attention 除 QuaRot;A100/L40S 同预算最大可达吞吐、1024/512;A100 per-channel / L40S per-group;PyTorch 2.2.0+CUDA 12.2;Atom 仅 7B、QuaRot 无 GQAP第 10-12 页 §6.1/§6.3已核验
表 2 困惑度(Llama-2-7B 列全量 + 多模型);QoQ vs W8A8/W4A16 至多 +0.16、vs QuaRot 改善至多 0.49;灰色行用 WikiText2 校准;Mixtral 的 W4A4 为 NaNP表 2 数值第 11 页;0.16/0.49 对比表述第 12 页 §6.2已核验(逐格对照;2026-09-15 复核补注页码)
表 3 五任务平均(3 模型全量);WinoGrande QoQ 比 QuaRot 高 4.82%;对 FP16 损失 1.03%/0.89%/0.40%P第 12 页表 3已核验(逐格对照)
表 4 吞吐全量(2 GPU×8 模型);几何平均 L40S 2.36×/A100 1.68×;「美元成本降 3×」;5/7 模型 L40S 反超 A100;比 Atom 高 10%(7B、L40S)P第 11 页图 15、第 13 页表 4、第 12-13 页 §6.3已核验(逐格对照;舍入/口径差异已并排说明)
表 5 LongBench(10 任务全量 38.52→38.38);量化消融图 16 全柱值(5.58→5.67、1367→2254、+W4 省 3.5GB、KV4 减半/×1.47);同 batch 拆解 1.88×=1.45××1.3×;图 18 去量化开销结论P第 13-14 页表 5、图 16-18已核验;图 16 显存面板/图 18 无数值标注,仅文字结论
附录 A:Docker 镜像 shang12138/qserve-mlsys25-ae;x86_64 + A100/L40S;512G 磁盘、1h 拉镜像、1h+2-4 GPU 小时基准;Apache-2.0 代码/MIT 数据;DOI 10.5281/zenodo.14991385;表 6 参考吞吐;deepcompressor(无 URL)P第 18 页已核验;DOI 未在线访问
官方仓库现状:归属 MIT HAN Lab、描述含 QServe/LServe、Apache-2.0、main 分支、未归档;25 commits、无 release、README 最新动态 2025-02;commit 02b2925(2025-02-21);README 称 2024-12 集成进 TensorRT-LLMR论文出处第 1 页;在线核验 2026-09-14(API)/2026-09-15(页面,只读)已核验(可达性、归属、许可、分支、动态)
项目页 hanlab.mit.edu/projects/qserve 可达R论文出处第 1 页;2026-09-14 HTTP 200已核验(可达性;内容未逐项审阅)
云实例/容器/监控映射示例(A100/L40S 类实例、容器服务、NVIDIA Container Toolkit 等)E各云厂商公开实例目录与容器/监控产品文档未逐一在线核验;使用前按当时目录复核
成本/容量公式、SLO/监控/回滚设计、决策清单、控制面-数据面划分、数据路径图编号与面板编排、表 6 GPU 型号推断(benchmark_a100.sh)、基线陈旧性影响评估I本报告 §3-§12 与 sources/qserve.evidence.json编辑标注完成;不含伪精确数字,无标注处不引用读图值