VC-Attention 这篇论文值得细读,可惜本地暂时用不上:内核目前没公开,Nunchux 自家栈里跑的是专有扩展版。
它是 Nunchux AI 放出的免训练低比特注意力内核,专门针对视频 Diffusion Transformer。视频 DiT 慢,大头一直在注意力,报告里的例子很直观:Wan2.2-14B 生成 5 秒 720p,大约 7 万个 token,在 RTX 5090 上注意力占掉 64% 以上的生成时间。
它瞄准两个老问题:
- V 的量化误差。SageAttention2 那套对 Q、K 做了平滑,但在 Wan2.2 上 82% 的输出误差来自 value 项。
- 两次矩阵乘之间的 softmax 还在 FP32 上跑,到了 B200/H200 上反倒成了最长的一段。
对应的两招:
- V-Smooth:在线 k-means 把相似的 value token 聚到一起,每个 128 token 的块减掉均值,只量化残差(8bit 用 E4M3,4bit 用 NVFP4),均值再借 online softmax 现成的行和加回去,不用跑第二遍。聚类只在前 25% 的去噪步做,排列每 4 步复用一次,摊下来占注意力时间 3%–4%。
- ExpCast-FP8:利用 E4M3 字节本身近似对数的性质,一次乘加直接从 log 域分数写出 FP8 字节,跳过 FP32 的 exp 和 cast。79.6% 的情况和标准路径写出同一个字节,其余差 1 个码,只用于 8bit。
数字方面,Wan2.2 上注意力相对 BF16 FlashAttention-4,B200 快 1.59 倍,RTX 5090(4bit)快 3.58 倍;精度上 8bit 的 PSNR 比 SageAttention2 高 2.3 dB,4bit 比 SageAttention3 高 2.9 dB。B200 上对 SageAttention2 那个 6.02 倍要打折看,后者本来就没有 Blackwell 内核。
我个人更在意的是另一点:它只改单次交互的计算成本,所以能和 Sparse VideoGen、Radial Attention 这类稀疏注意力叠着用,也不妨碍蒸馏和多卡并行。对工程落地来说,这比单项跑分有意思得多。