HyQuant 给注意力竖线 token 留全精度,32K 解码核加速 3.58 倍

HyQuant: Hybrid-Precision Quantization for LLM Attention

Jiatong Ding, Bingxin Xing, Yu Zhang, Dian Ding, Xiaodong Yi, Xianbin Ouyang, Feihu Zhou, Kun Zhang, Zhenyu Guo, Hao Pan, Guangtao Xue, Yiming Zhang

cs.AI

2026-08-28

HyQuant 把注意力图上的持久竖线和局部窗口留在全精度,其余 KV 压到 4 bit。Qwen3-8B 的 LongBench 接近 FlashAttention-2,32K 前缀解码核加速 3.58 倍、端到端 1.17 倍。

这篇在解决什么

长思维链把上下文推到数万 token。Prefill 受大矩阵乘法限制,Decode 反复读写 KV,内存带宽才是瓶颈。注意力并不是匀的:热图上常有少量位置被后面许多 query 反复盯着,形成竖线,通常不到 5% 的 token。均匀低比特会把误差打在这些高分位置上,再被后续 query 放大。

已有工作要么按稀疏掩码丢掉长尾(MInference),要么按层做混合精度(KVTuner),很少在 token 粒度上把「竖线」留在全精度。

方法

HyQuant 把 key 位置分成三块:竖线集合、最近滑动窗口、其余待量化集合。竖线分数是列方向注意力质量的累计,从非窗口前缀里取 top-ρ,默认 5%。窗口大小预先固定。识别用轻量归约,每 64 个 token 做一次,论文称占总运行时间 3% 到 5%。最多缓存 64 个 FP16 query 向量做列质量估计,额外显存很小。

Prefill 里,量化路径和全精度路径融进同一个类 FlashAttention 核:低比特走大多数 GEMM,竖线和窗口走 FP16/BF16,在线 softmax 一次做完。Decode 里 KV 同样混合存储,解量化融进注意力扫描,不把全精度缓存物化出来。和「先解量化再标准注意力」的 KIVI/KVTuner 实现不同。竖线集合在 Prefill 尾部 query 上选定后,Decode 不再每步重算全局重要性,新 token 先进入暂存再并入混合布局。

结果

Llama-3.1-8B 上,全局 top-1% / top-5% key 分别盖住 58.83% / 64.09% 的注意力质量,再加窗口 W=128 到 85.63%;Qwen3-8B 对应 47.30% / 54.10% / 82.53%。Qwen3-8B 第 28 层上,只把 top-1%/5% 留全精度、其余 4 bit,中间注意力输出的 MSE 能贴近均匀 8 bit。

LongBench v1,Qwen3-8B thinking 模式平均分:HyQuant 45.04,FlashAttention-2 44.59,KIVI 37.68,SageAttention 38.13,KVTuner 40.45。Llama-3.1-8B-Instruct 上 46.73 对 FA2 的 46.63。Qwen3-8B 数学:GSM8K 96.52 对 FA2 95.88、KIVI 92.48;MATH500 78.73 对 FA2 80.14,这项略低于全精度。

H100 上解码核时延,1K 前缀 1.32 倍,32K 到 3.58 倍(6.354 ms/token 降到 1.775)。端到端解码相对 FA2 从 1.04 倍到 1.17 倍。KIVI/KVTuner 的端到端相对 FA2 在 0.69–0.80 倍,因为先解量化再算。32K 前缀、单卡 80GB 时,HyQuant 在 batch 32 仍能跑到 231.6 token/s,FA2 和对照在 batch 32 显存打满。消融里加大窗口或提高竖线比例都能降 Prefill MSE、略抬 LongBench,论文把 top-5% 当作精度和 KV 预算的折中。

为什么重要

这是把 MInference 看到的竖线从「稀疏掩码」改成「精度分配」:长尾仍在,只是低比特。融合核避免了「解量化后再走一遍标准注意力」的带宽税,所以 kernel 加速能在长前缀上显现。对长 CoT 解码更有用,短上下文增益有限。

部分 LongBench 分略高于 FA2,论文把它当成评测抖动,不当成量化提高了能力。

局限与存疑

短任务上竖线策略帮助不大。实验在 H100 上,高端卡短上下文往往还没走到内存墙,端到端加速会缩。最大模型 Qwen3-32B,没有 80B。Agent 和代码场景未测。MATH500 低于 FA2(78.73 对 80.14),「近无损」主要成立在 LongBench 和 GSM8K。5% 竖线相对纯 4 bit 大约多 15% 非窗口 KV,再加上窗口本身。

术语

原文与代码

相关论文

全部论文解读