Nunchux 发布 VC-Attention:免训练低比特注意力给视频 DiT 提速,可惜内核还没公开

VC-Attention 这篇论文值得细读,可惜本地暂时用不上:内核目前没公开,Nunchux 自家栈里跑的是专有扩展版。

它是 Nunchux AI 放出的免训练低比特注意力内核,专门针对视频 Diffusion Transformer。视频 DiT 慢,大头一直在注意力,报告里的例子很直观:Wan2.2-14B 生成 5 秒 720p,大约 7 万个 token,在 RTX 5090 上注意力占掉 64% 以上的生成时间。

它瞄准两个老问题:

  1. V 的量化误差。SageAttention2 那套对 Q、K 做了平滑,但在 Wan2.2 上 82% 的输出误差来自 value 项。
  2. 两次矩阵乘之间的 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 这类稀疏注意力叠着用,也不妨碍蒸馏和多卡并行。对工程落地来说,这比单项跑分有意思得多。

1 个赞

3.58倍是4bit下的数,我更关心8bit在5090上能快多少

馋了

ExpCast 这个思路挺骚的,直接把浮点编码当对数表用

楼上说的那个其实不算新 图形学里拿浮点位模式近似log早就有人玩过 这里是用到了softmax上

k-means 在线聚类每步都跑肯定扛不住,所以才只在前 25% 步做、后面复用排列。生成后期内容变化小是真的,但不同 prompt、不同运动幅度下 25% 是不是都够,想看看论文有没有做这块的消融

没开源的论文我一般看完就算了,等 SageAttention 那边吸收思路更现实

PSNR 高 2 到 3 个 dB,放到视频上肉眼能看出区别吗

等大佬横评

1 个赞

只要最后能合进 ComfyUI 就行 :pray: