VC-Attention: Value Smoothing and Softmax Casting for Low-bit Attention
Xingyang Li, Dongyun Zou, Shining Zhang, Jiacheng Chen, Haocheng Xi, Lvmin Zhang, Jun-Yan Zhu, Song Han, Zhekai Zhang, Yujun Lin, Muyang Li
cs.CV
2026-09-15
Nunchux AI、MIT 与斯坦福提出无需训练的 VC-Attention:在线 k-means 把相近 Value token 放进同一硬件块再量化残差,并用一次乘加把 log 分数写成 E4M3。B200 上注意力比 BF16 FlashAttention-4 快 1.59 倍,Wan2.2 整段生成快 1.19 倍。
视频 Diffusion Transformer 把整段 latent 摊成一条超长时空序列,注意力是部署成本的大头。Wan2.2-14B 一条 5 秒 720p 片段大约 7 万 token,RTX 5090 上注意力超过总时间的 64%。低比特 Tensor Core 能把 QK 和 PV 两段矩阵乘加速到 FP8 甚至 FP4,中间却卡了两件事。
第一件是精度。一个量化块的 scale 由最大元素决定,少数 outlier 把其余数压进很窄的可表示区间。SageAttention 一类方法已经把 Query 和 Key 的通道 outlier 抹平了。Value 的 outlier 落在少数 token 上,通道还随层、头、步变化,旋转和静态布局都去不掉。Wan2.2 上,QK 误差压下去之后,Value 误差仍占输出误差的 82%。
第二件是速度。B200 的 Tensor Core 吞吐比 Hopper 翻倍,指数运算没跟着翻。两边矩阵乘都进 FP8 之后,FP32 指数和 FP32 到 E4M3 的转换成了流水线最长一档。Attn-QAT 在 B200 上相对 BF16 FlashAttention-4 最多 1.3 倍,现场量化 Value 还会变慢。
VC-Attention 不训练、不按模型拟合,改的是 FlashAttention-4 内核里的两步。
V-Smooth 管精度。每个 batch、每个头对 Value token 跑一次在线 k-means,按簇标签重排 Key 和 Value。非因果自注意力里,Key 的列置换和 Value 的行置换对上,输出不变。硬件块 128 行减掉块均值,只量化残差:8-bit 走逐通道 E4M3,4-bit 走 NVFP4。均值是 16-bit 向量,大约 0.125 bit/元素。块均值靠 online softmax 已经在累加的行和,用一次外积补回去,不需要第二遍扫 Value。
为什么必须先聚类:序列顺序下块均值只拿走 8% 能量,DeltaQuant 的固定时空格子拿走 12%,排序之后 36%。Hadamard 旋转 Value 只动 0.2% 误差。聚类本身贵,分组步会给这次 attention 加 30% 时间。部署只在去噪前 25% 步分组,排列在相邻步复用,摊到整条轨迹只剩 3% 到 4%。
ExpCast-FP8 管速度。E4M3 字节本身就是对数值的对数表示,从 log 域分数到这个字节是一次仿射变换:一次融合乘加,再按最近偶数取整,clip 到正常范围。β 取 -0.35,把编码留下的 mantissa 误差居中,常数从格式读出来,不拟合模型。正常范围内行总变差上界 3.64%。Wan2.2 的 20.48 万行实测均值 1.6%。
预处理(RoPE、均值、gather、Hadamard、量化)全部融进量化核,中间高精度张量不回 HBM。手写 CuTe/CUDA 链相对未融合快 8.74 倍。8-bit 两件套上 B200 和 H200。4-bit 只开 V-Smooth,上 RTX PRO 6000 和 RTX 5090,因为 NVFP4 的逐 16 元素 scale 会重新把 softmax 卡住。
对照是同一模型同一 seed 的 BF16 FlashAttention-4,100 条 MovieGen Bench prompt。
| 方法 | Wan2.2 PSNR | HunyuanVideo-1.5 PSNR | 注意力加速 |
| SageAttention2 8-bit | 20.3 | 15.6 | B200 上慢于 BF16 |
| V-Smooth 8-bit | 22.6 | 18.4 | 精度配置 |
| V-Smooth+ExpCast | 20.5 | 17.5 | B200 1.59× / H200 1.46× |
| SageAttention3 4-bit | 13.9 | 10.9 | 与 4-bit V-Smooth 接近 |
| V-Smooth 4-bit | 16.8 | 13.8 | PRO 6000 2.27× / 5090 3.58× |
8-bit V-Smooth 相对 SageAttention2,Wan2.2 高 2.3 dB,HunyuanVideo-1.5 高 2.8 dB,LPIPS 降 13% 到 29%。接上 ExpCast 会吐回 0.7 到 2.1 dB,四模型上仍高于 SageAttention2。4-bit 相对 SageAttention3,Wan2.2 高 2.9 dB,LongCat-Video 高 3.6 dB。QK 再加 Hadamard 最多动 0.1 到 0.3 dB,剩下的误差不在 QK。
端到端一条 Wan2.2:B200 1.19×,H200 1.13×,PRO 6000 1.36×,5090 1.70×。B300 上双 FP8,注意力 1.47×、PSNR 18.4,朴素 FP8 是 1.31× 和 17.1 dB。
Attn-QAT 不训练时比 SageAttention2 低 3.4 到 6.7 dB,VBench 也被它扰动。它发表的 4-bit 数字靠重训。
视频 DiT 部署里,注意力量化已经不是「再压一点 QK」的问题。Value 的 token 级 outlier 和 softmax 的标量路径,才是 B200 这一代卡上的真瓶颈。VC-Attention 不改注意力图案、不改采样步数,可以和稀疏注意力、特征缓存、少步蒸馏叠在一起用。工作站卡上 4-bit 整段 1.36 到 1.70 倍,对本地出片更直接。
这是内核级渐进改进,不是新的生成范式。收益上限仍受注意力占比约束:B200 上注意力 1.59×,整段只有 1.19×。
V-Smooth 依赖非因果自注意力:Key 和 Value 一起置换才保证输出不变,因果解码器不能直接搬。分组只覆盖前 25% 去噪步,均匀撒同样步数会掉 2.6 dB,说明排列在后期不那么可复用。ExpCast 用速度换精度,MiniMax-H3 上融合核 PSNR 20.2,和 8-bit FlashAttention-4 持平,只比 SageAttention2 的 19.9 高 0.3 dB,落在最强无训练基线的 0.6 dB 带里。没有 4-bit 数据中心配置。保真度全是相对 BF16 输出的 PSNR/SSIM/LPIPS,VBench 的主体一致性和成像质量已经饱和,分不出方法。SageAttention2 在 B200 上只有 BF16 的 0.29×,论文写明它没有 Blackwell 内核。