炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!
(来源:科技行者)
你可能没意识到,现在那些能生成几秒钟视频的AI模型,跑一次要算多少东西。
一段720p、几秒钟的视频,拆成token之后能有十几万个。模型里的自注意力机制要让每一个token都去看一遍其他所有token,这个计算量是token数量的平方级增长。十几万的平方是多大的数字,你可以自己算一下。这就是为什么生成一段视频常常要等上十几分钟甚至更久,瓶颈就卡在这里。
于是研究者们想了一个办法:既然不是每个token之间的关系都同等重要,那能不能只算重要的那部分,跳过不重要的,省下大部分计算量?这个思路叫稀疏注意力,前些年已经有不少论文在做。但2026年8月这篇来自德州农工大学的论文《Partition the Support, Reconstruct the Residual》提出了一个挺尖锐的问题:现有的这些"偷懒"方法,真的偷懒偷得对吗?
大家都在偷懒,但偷懒的方式可能从一开始就错了
先说清楚稀疏注意力具体是怎么"偷懒"的。
模型不会让每一个token单独去和所有其他token计算注意力,那样调度开销太大,硬件跑不快。实际做法是把token分组,比如把128个相邻的query(查询token)打包成一组,把key(被查询的token)也打包成组,然后一整组一整组地决定要不要算。这样GPU才能高效并行执行。
问题就出在"打包成组"这一步。
论文作者发现,很多人衡量稀疏注意力效果的时候,只看单个token的注意力有多集中,就是说一个query平均只需要看多少比例的key就能抓住大部分信息。但真正执行的时候,是一整组query共享同一个路由决策的,不是每个token单独决定。这中间就出现了一个巨大的鸿沟。
论文里给了一个具体例子。在Wan2.2这个模型上,单独看每个query,只需要看6.2%的key就能拿到90%的注意力权重,看起来稀疏得很。但当把8个query打包成一组,让它们共享同一套key之后,需要保留的比例暴涨到22.9%。将近4倍的差距。
为什么会这样?
因为这8个query各自感兴趣的key可能压根不重叠。A关心第10到第20个token,B关心第50到第60个,虽然A和B单独看都很"专注",但把他们凑成一组共享路由,就得把两边都覆盖到,稀疏性瞬间被稀释了。
**per-query的稀疏程度,不能代表分组之后的真实稀疏程度。**
这就好比你和三个室友一起点外卖拼单凑免运费。你自己只想点一份15块的炒饭,看起来很省钱。但室友们各自想吃的东西分布在完全不同的几家店,为了凑单你们不得不多点好几样根本不想吃的菜。每个人单独看需求都很"精简",但凑在一起下单之后总花费反而涨上去了。如果不考虑这种"共享路由"带来的稀释效应,直接按照单个query的稀疏度去设计系统,实际跑起来的时候会发现根本没省下预想的计算量。
这只是论文发现的第一个问题。第二个问题更微妙。
保留了多少注意力权重,不等于输出的误差有多小
第二个反直觉的发现是:**保留的注意力权重占比很高,不代表跳过部分带来的输出误差就一定小。**
这听起来有点绕,拆开说。假设一个query原本要看100个key,稀疏化之后只保留其中80个权重最高的,丢掉20个。传统的评估方式会说"我保留了95%的注意力质量,误差应该很小"。
但论文用数学推导证明了这个直觉是错的。跳过部分带来的输出误差,不仅取决于被丢掉的那部分权重占多少比例(论文里叫omitted mass,被省略的注意力质量),
**引用块**:omitted mass指的是被丢弃、不参与实际计算的那部分key所对应的注意力权重总和,这部分权重原本在softmax归一化后会贡献到最终输出里。
还取决于被丢掉的那部分和被保留的那部分,它们各自算出来的输出到底差多远。公式写出来是这样的:
残差 = 被省略的质量 × (省略部分单独算出的输出 - 保留部分算出的输出)
也就是说,即使被省略的质量很小,只要省略掉的那部分和保留部分的输出方向差异巨大,误差依然可能很大。论文在Cosmos3-Nano这个模型上实测发现,保留了相同比例注意力质量的不同query,输出误差可以差出好几倍。
这就像考试估分。你说"我这次考试蒙对的题只占5%,正确率应该很高",但如果蒙对的恰好是压轴大题占了30分权重,蒙错的方向又离正确答案十万八千里,那这5%照样能把你的总分拖下一大截。**光看丢了多少,不看丢的东西和留下的东西差多远,这个评估方式从根上就是不完整的。**
如果继续沿用"保留权重越多越好"这个单一指标去设计稀疏策略,很可能在实际执行时踩坑,出现权重保留率很高但生成画面质量却明显下降的情况。
怎么分组,直接决定了剩下的误差好不好"修补"
论文还发现了第三个结构性问题,这个问题直接指向了他们后面提出的解决方案。
不管怎么设计稀疏策略,跳过一部分计算之后,输出和真实结果(也就是全部算一遍的dense结果)之间总会有个差距,这个差距叫残差。
**引用块**:残差(residual)在这里指的是完整注意力计算得到的输出,减去稀疏计算得到的输出,两者之间的差值,代表被跳过的那部分交互对最终结果造成的影响。
既然残差总会存在,那能不能想办法用稀疏计算的结果去"估算"这个残差,然后补回去?
论文用了一个简单的数学模型:假设残差可以用稀疏输出的一个仿射函数(就是线性变换加一个偏移量)来近似表示。这个假设成不成立,很大程度上取决于分组方式选得好不好。
论文对比了两种分组策略。一种是"语义分组",简单说就是分别对query和key做聚类,相近的token分到一组,这是之前很多论文的常见做法。另一种是论文自己提出的"响应耦合分组",后面细讲。
结果发现,在完全相同的稀疏执行条件下,仅仅换一种分组方式,残差能被仿射函数解释的比例就能提升3.2到14.9个百分点,同时残差里"解释不了"的那部分能量还能降到语义分组基线的0.285到0.653倍。
这说明什么?
**分组方式不只是影响计算效率,还直接决定了后续能不能用一个简单廉价的修补机制去挽回损失的精度。**
这就好比修理一台漏水的水管。如果漏水点分散在管道的各个角落,你得挨个去堵,费时费力还不一定堵得干净。但如果你在安装管道的时候就有意识地把容易出问题的接口都集中安排在同一段区域,那漏水的时候只需要检查这一段就能把问题解决大半。响应耦合分组做的事情,本质上就是提前把"容易出误差的地方"聚拢起来,让后面的修补工作变得更简单、更有效。
基于这三个发现,论文提出了自己的解决方案,叫SparsePR。
SparsePR:先把误差聚拢,再用少量"抽查"去纠正
SparsePR这个名字来自两个核心组件的缩写,Response-Coupled Partitioning(响应耦合分组)和Probe-Fitted Residual Reconstruction(探针拟合残差重建)。整个方法完全是训练无关的,也就是说不需要重新训练模型,直接套用在已经训练好的视频生成模型上,在推理阶段实时生效。
先说第一个组件,响应耦合分组是怎么工作的。
传统的分组方法通常是query和key各自独立聚类,比如根据激活值的欧氏距离直接分组。SparsePR的做法不一样,它先随机采样一小批query,用这批query去"试探"所有的key,看看每个key在这批query面前的响应模式是什么样的。响应模式相近的key会被分到同一组。
**引用块**:key-response coordinates(键响应坐标)指的是不直接用key本身的向量做聚类,而是先计算它在一批采样query下产生的注意力logit分布,把这个分布特征当作聚类的依据。
这一步做完之后,每个key分组会有一个"中心点",代表这一组key的典型响应特征。接下来,用这些中心点反过来构建一套新的坐标系统,去衡量每个query和这些key分组中心的关系有多接近。query之间如果对这些key组的响应模式相似,就会被分到同一组。
这个流程听起来是两步走,但论文强调这是一个不需要反复迭代的单遍构建过程。先用query确定key怎么分组,再用key分组反过来确定query怎么分组,一次搞定,不需要来回调整。
为什么要这样设计?
因为直接用激活值的空间距离去分组,衡量的是"两个token长得像不像",但真正影响注意力计算的是"两个token在实际计算中的表现像不像"。这两者未必是一回事。
打个比方,两个学生可能长相完全不同(激活值差异大),但他们做同一套试卷时得分模式完全一致,同样的题都对同样的题都错(响应模式一致)。如果按外貌分班,这两个学生大概率被分到不同班级;但如果按做题表现分班,他们应该在同一个班里,因为他们真正的"学习需求"是一致的。响应耦合分组做的正是后者,按照token在真实计算任务中的表现去分组,而不是按照它们的表面特征。如果继续按外貌分组,就会出现前面提到的那个问题:单独看很稀疏,凑在一起路由就变得很密集。
再说第二个组件,探针拟合残差重建。
这一步解决的是前面说的"残差怎么补"的问题。SparsePR不会去猜残差长什么样,而是真金白银地抽出一小批query(论文里用的是每个头64行),对这些行做完整的、不打折扣的精确计算,得到它们真实的残差是多少。
**引用块**:probe(探针)在这里指的是从全部query中挑出来做精确计算的一小部分样本,用它们真实计算出来的结果去校准整体的近似策略,类似质检时的抽样检测。
这批探针的选择也不是随机的,而是按照前面分好的query组,均匀地从每一组里抽取,保证每个组都有代表性样本被精确计算过,论文管这个方法叫"query-group-stratified",也就是按组分层抽样。
有了这批探针的真实残差之后,SparsePR用一个岭回归(一种带正则化的线性回归方法)去拟合一个映射关系:给定稀疏计算的输出,能不能预测出对应的残差应该是多少。这个映射关系拟合出来之后,就可以应用到所有没有被精确计算的query上,用这个便宜的映射去估算它们的残差,然后加回到稀疏输出上做修正。
这个过程还有一个细节值得说,就是"输出子空间"的限制。论文没有让这个线性映射随意地输出任何方向的修正,而是限定修正结果只能落在探针样本实际观察到的残差方向范围内,也就是取探针残差矩阵做奇异值分解后保留前16个主方向。这样做是为了避免映射在没见过的方向上瞎猜,把误差外推到不靠谱的地方。
这整套流程可以类比成产品质检里的"抽检定标"。工厂生产一万件产品,不可能每件都送去实验室做全套检测,成本太高。但可以抽取64件做精细检测,拿到这64件的真实缺陷数据后,再去分析这些缺陷和某个便宜易测的指标(比如外观、重量)之间有没有规律,一旦找到规律,剩下九千九百多件产品就可以用这个便宜指标去快速估算它们的潜在缺陷,而不需要每件都送去做昂贵的全套检测。如果没有这一步抽检定标,工厂要么全检(成本爆炸,对应稠密注意力),要么完全不检(误差失控,对应普通稀疏注意力)。SparsePR做的正是找到中间那条路。
论文里用图2直观展示了这套流程。左边展示的是响应耦合分组相比语义分组,能让同样的α(目标保留质量)下需要联合覆盖的key组数量更少(从5个降到2个)。右边展示的是探针拟合的三步走:测量真实残差、拟合预测器、用预测器去补全其他行的残差。整张图把两个组件怎么协同工作说得很清楚。
稀疏执行怎么落地,误差怎么算才公平
方法讲完了,还有一个容易被忽略但很重要的细节,就是这套系统在真实硬件上是怎么跑起来的,以及论文怎么衡量"到底省了多少"。
SparsePR把Q、K、V都重新排列成按分组连续存放的布局,这样硬件可以高效地批量处理每个分组。选择哪些格子(query组和key组的组合)要精确计算,是按照真实的计算开销(组内token数量的乘积)来分配预算的,而不是简单按格子数量。
**引用块**:ρ_route(路由密度)指的是在整个query-key交互矩阵里,被选中做精确计算的比例,是衡量稀疏程度的核心指标之一。
论文在计算总体执行密度的时候,把探针行的开销也算进去了,这一点其实挺良心的。因为探针虽然只占极小比例(论文里从0.054%到0.145%不等),但确实是额外的计算成本,如果不计入总账,最终报出来的"省了多少计算量"数字就会失真。类似的道理也用在了延迟测量上,论文报告的端到端时间包含了分组构建、路由决策、张量重排、稀疏注意力本身、探针精确计算、残差拟合、修正应用、输出还原这一整条链路上的所有环节,不是只统计"核心的稀疏矩阵乘法"这一步。
这种记账方式听起来是个技术细节,但其实反映了论文作者一个挺朴素的态度:不想用讨巧的方式让数字好看。很多加速方法论文只报告"稀疏矩阵乘法本身省了多少时间",却不提分组、路由这些额外开销,实际部署的时候用户会发现真实提速远没有论文说的那么夸张。SparsePR选择把所有开销都摊开算,这样报出来的1.48到2.61倍加速,是用户真正能感受到的加速。
实验结果:四个模型,稠密质量,一半多的速度
论文在四个具有代表性的视频生成和世界模型上做了测试,覆盖了文本生成视频(HunyuanVideo)、图像生成视频(Wan2.2-I2V)、以及两个物理世界预测模型(Cosmos-Predict2.5和Cosmos3-Nano)。
**引用块**:世界模型(world model)在这里指的是不仅生成好看的视频画面,还要求生成内容符合物理规律的模型,比如球体会自然下落、液体会正确流动,NVIDIA的Cosmos系列就是这类模型的代表。
测试的核心逻辑是,稠密(也就是不做任何简化,全部精确计算)作为参照基准,看SparsePR和其他几个同类稀疏方法(SpargeAttn、SVG2、SVOO、SVG-EAR)相比,谁能在更省计算量的同时,画质掉得更少。
在HunyuanVideo这个模型上,SparsePR只用了21.92%的执行密度(也就是把原本要算的东西砍掉了将近80%),端到端速度提升到2.61倍,PSNR(衡量画面和稠密基准接近程度的指标,越高越接近)达到31.844分,比同期最强的对比方法SVG-EAR(31.043分)还要高,同时SubCons(主体一致性,衡量视频里同一个物体前后是不是保持一致)达到0.976,和稠密基准完全一样。
**引用块**:PSNR(峰值信噪比)是图像和视频质量评估里常用的指标,数值越高说明测试结果和参照标准越接近,通常30分以上算是比较接近了。
在Wan2.2-I2V-A14B上,SparsePR在21.97%的密度下取得1.80倍加速,PSNR为30.658,LPIPS(另一个衡量图像相似度的指标,越低越好)只有0.044,是所有对比方法里最低的,SVG-EAR是0.093,接近SparsePR的两倍。
在Cosmos-Predict2.5这个物理世界模型上,SparsePR的表现更明显。SSIM(结构相似性指标)达到0.942,PBench的物理质量分数77.75,几乎和稠密基准的77.76分持平,速度提升1.51倍。要知道其他对比方法在这个模型上普遍出现物理质量分数明显下滑的问题,比如SVG2掉到76.14分,SVOO掉到76.03分。
在Cosmos3-Nano上,这个模型体积相对较小(16B参数),SparsePR在25.96%密度下取得1.48倍加速,PBench物理质量分数77.30,几乎贴合稠密的77.31分。而同期对比方法比如SVG-EAR在这个模型上物理质量分数掉到了72.85,SubCons也从0.950跌到0.872,出现了明显的质量损失。这说明SparsePR在不同规模、不同类型的模型上表现出的一致性更强,不是只在某一类模型上凑巧表现好。
论文还做了非常细致的消融实验,把响应耦合分组和探针拟合残差重建拆开分别测试,结果发现探针拟合这一步贡献了误差降低的主要部分,而响应耦合分组在探针预算有限的情况下,能进一步把误差压得更低。换句话说,这两个组件不是简单叠加,而是相辅相成,分组分得好,探针要修补的东西就更规整,修补效果自然更好。
论文还测试了不同密度下(12%到35%)两种分组方式的表现差异,发现响应耦合分组在所有密度水平下都稳定优于语义分组,这个优势不是碰运气凑出来的,而是贯穿整个操作范围的系统性优势。
写在后面
读完这篇论文,印象最深的其实不是SparsePR这个方法本身有多精巧,而是论文作者提出的那个反问:现有的稀疏注意力评估体系,可能从测量标准开始就是错的。
大部分同类工作都在卷"怎么找到更准的重要区域",本质上还是在同一套评估框架里精益求精。这篇论文跳出来问了一句:你测的东西真的对应你想优化的东西吗?单个token的稀疏度不等于分组后的稀疏度,保留的权重比例不等于输出误差,这两个反直觉的发现放在一起看,其实指向了一个更普遍的问题,很多领域里我们习惯用一个容易测量的代理指标去代表真正关心的东西,久而久之忘了去检验这个代理指标到底靠不靠谱。
另一个值得琢磨的细节是,SparsePR选择用64个精确计算的探针去校准整个近似过程,而不是试图设计一个更聪明的公式去直接预测误差。这背后其实是一种朴素但常常被忽视的工程智慧:与其花大力气去猜一个复杂系统的行为,不如花很小的成本去真实测量它,再用测量结果去校准便宜的近似。这个思路在很多需要在精度和成本之间找平衡的场景里,可能都值得借鉴。
如果视频生成模型继续往更长时长、更高分辨率发展,token数量还会继续膨胀,稀疏注意力这条路大概率会变得更重要而不是被绕过去。到那个时候,"怎么分组"和"怎么补误差"这两个问题恐怕还会被反复重新审视。
Q&A
Q1:SparsePR是什么?
A:SparsePR是一种训练无关的稀疏注意力加速方法,通过响应耦合分组和探针拟合残差重建两个组件,在不重新训练模型的前提下,让视频生成和世界模型的推理速度提升1.48到2.61倍,同时画面质量几乎和完整计算的结果一样。
Q2:为什么单个query看起来很稀疏,分组之后反而变密集了?
A:因为分组后的query要共享同一套路由决策,即使每个query单独关注的区域很集中,如果组内不同query关注的区域彼此不重叠,凑在一起就得覆盖更大范围,导致整体密度上升,论文里Wan2.2模型的实测数据从6.2%涨到22.9%就是这个原因。
Q3:SparsePR相比其他稀疏注意力方法有什么优势?
A:SparsePR在四个不同的视频生成和世界模型上都保持了接近稠密计算的画质,尤其在物理世界模型Cosmos-Predict2.5和Cosmos3-Nano上,物理质量分数几乎和完整计算持平,而同期对比方法普遍出现明显质量下滑,这说明SparsePR的稳定性和普适性更强。