股票
板块
用户
资讯
首页
天眼
自选
发现
开户
首页
天眼
自选
发现
我的

昇腾MindIE SD高性能量化稀疏联合注意力EagleQBSA,视频生成端到端加速1.6倍


背景介绍


在多轮交互、多模态理解、长时视频生成等任务中,大模型的上下文长度高速膨胀至百万级,注意力机制带来的计算和访存开销已成为制约模型推理效率的重要瓶颈。为缓解这一问题,稀疏注意力通过仅对Attention Map的部分关键区域进行计算,有效降低了计算复杂度;量化技术则通过压缩数据表示精度,显著降低矩阵乘法的计算量和带宽需求。这两条路线天然正交,具备叠加优化的空间。


基于此,在上一代自适应块稀疏注意力特性AdaBSA的基础上,针对昇腾950系列产品的硬件特性,进一步提出了量化-稀疏联合注意力机制Eagle Quant Block Sparse Attention(EagleQBSA)。EagleQBSA相比BF16精度的块稀疏注意力单算子性能加速1.5倍,相比非量化非稀疏注意力单算子加速14.7倍。在Wan2.2 27B-A14B 模型T2V和I2V视频生成任务中,采用EagleQBSA相比BF16全量注意力,端到端加速1.61~1.64倍,且在精度测评数据集Vbench上基本不掉分。


EagleQBSA量化叠加稀疏方案设计


稀疏和量化技术分别通过减少注意力计算量和压缩数据表示精度来提高注意力的计算效率。尽管从理论上看二者是相互正交的,具备叠加使用的潜力,但是在实践中,稀疏结构引入的分布漂移和量化带来的精度误差往往相互耦合放大,最终导致模型生成质量的崩塌。为了保证量化后的稀疏注意力模块的精度,EagleQBSA方案聚焦注意力中经稀疏选择以后的QKV矩阵的分布,设计了分布感知的混精量化方案。与传统的全FP8格式量化不同,EagleQBSA采用QK矩阵per-block INT8量化叠加V矩阵per-channel FP8量化的方案(如图2.1所示),其中QK per-block INT8量化能够最大限度保留Attention Map的精度,从而避免加剧稀疏注意力的分布偏离,V矩阵per-channel FP8量化能够高效捕捉V矩阵不同通道的数值分布差异与动态范围,确保模型最终的生成质量。


图2.1 EagleQBSA方案计算流程


通过对视频生成任务中整网获取的QKV矩阵进行分析发现,由于视频的时空局部性,注意力的QK矩阵在整个序列上分布差异较大,但在同一block内部,局部QK序列的数据分布往往相对集中,因此适用于序列维度per-block量化。实证分析表明,将QK矩阵按分块量化成FP8 E4M3格式,仅3bit的尾数不足以区分不同token在Attention Map中的细微权重变化,而采用INT8格式进行线性量化能够利用更多比特位来提高分辨率,实现更高的量化精度。


对于P和V矩阵,二者进行S1xS2与S2xD的矩阵乘计算,得到维度为S1×D的O矩阵,其中S1是Q的分块大小,S2是K的分块大小,D是headDim的大小。若沿S2维度进行量化,由于S2维度同时是矩阵乘的累加维度,量化分块必须与累加粒度对齐,导致分块尺寸受限、数据复用效率降低,产生较大性能开销。因此,实践中通常选取per-channel量化,对D维度(即通道维度)进行量化,此时单个反量化系数需要覆盖Sx1的广大范围,对应数据的数值分布较为离散,动态范围超出了INT8量化的适配能力,因此P/V采用FP8量化。 


昇腾亲和的量化叠加稀疏Attention算子优化


昇腾950系列产品采用CV融合架构,Cube Core与Vector Core之间可直接进行数据搬运提高了访存效率。同时,新增了Regbase开发范式,支持对Vector Core进行寄存器级精细读写和计算。利用这些新的架构特性,EagleQBSA团队重点优化了FA算子中Softmax计算的归约和量化操作,进一步提高Vector的计算效率,从而提升了算子的整体性能。


融合数据排布和指令调度的CV协同优化:利用Cube Core的后处理单元Fixpipe,在将 矩阵乘法结果搬运到Vector Core的同时进行随路分形转换,将Attention Score由行主序转换为列主序。因此,在Softmax计算中,如图3.1所示,同一行的128个FP16数据在单个寄存器内的复杂树形归约转换为了同时对128列数据进行两两归约,提高了归约指令的执行效率,Vector算力利用率得到进一步提升。


Attention Map量化近似计算优化:在当前的底层API实现中,需要经过FP16→FP32→FP8的间接转换链路,才能将FP16的 矩阵量化为FP8,导致了额外的计算开销。针对这一瓶颈,考虑到Attention Map矩阵 的非负特性,使用简单的位运算将FP16类型四舍五入为FP8类型,实现了 矩阵的近似量化计算,将量化开销压缩到接近硬件直转的水平。


图3.1 Vector归约操作优化


昇腾多模态生成量化叠加稀疏推理验证分析


为评估EagleQBSA方案的精度与性能,本文首先测试了量化稀疏注意力EagleQBSA单算子相对多个基线,如量化非稀疏FP8 FIA算子、稀疏非量化BF16 BSA算子,以及非量化非稀疏BF16 FaScore算子的性能收益,然后在多模态大模型Wan2.2 27B-A14B上开展T2V和I2V生成任务的对照实验,验证EagleQBSA方案的整网精度和性能。


EagleQBSA单算子性能验证分析


图4.1展示了在从8K到128K的序列长度下(B=1, N=40, D=128),量化稀疏EagleQBSA、稀疏非量化BF16 BSA、量化非稀疏FP8 FIA、非量化非稀疏BF16 FaScore之间的性能对比。实测数据表明:在同等稀疏率下,分析叠加量化的收益,EagleQBSA算子相对稀疏非量化BSA算子加速约1.5倍;在开启量化下,分析稀疏的收益,EagleQBSA算子对量化非稀疏FP8 FIA,稀疏率为0.5时,平均加速3.2倍,稀疏率为0.9时,平均加速约15.1倍,稀疏率越高Attention计算量越少,加速比与稀疏率成正比;分析稀疏叠加量化的综合收益,EagleQBSA算子相比非量化非稀疏BF16 FaScore,当序列长度为64k,稀疏率设置为0.9时加速可达14.7倍。 


图4.1不同算子在各序列长度下相对基线FaScore算子的加速比


视频生成推理性能与精度验证分析


本小节主要展示EagleQBSA方案在多模态大模型Wan2.2 27B-A14B上的性能与精度表现。实验中,EagleQBSA方案的整网配置和对应的基线如下:



EagleQBSA:线性模块FFN计算的数据类型是MXFP8,注意力模块Self Attention采用EagleQBSA,其中QK为INT8,PV为FP8。为避免DiT早期高噪声阶段的结构信息损失,整网前四分之一的时间步使用BF16的全量注意力算子FaScore,只在后四分之三时间步才开启量化稀疏。


BF16基线:线性模块FFN和注意力模块Self Attention计算的数据类型都是BF16。BF16基线是视频精度最佳的方案,作为整网精度标杆。


W8A8基线:线性模块FFN和注意力模块Self Attention计算的数据类型分别是MXFP8、BF16,作为整网性能标杆,即线性模块保持和EagleQBSA相同的设置,仅对注意力模块做修改,对比得出EagleQBSA注意力方案的整网性能收益。



文生视频任务评测


本小节展示EagleQBSA方案在Wan2.2 27B-A14B模型的文生视频(T2V)任务上的整网性能与精度表现。


在端到端的性能上, EagleQBSA方案相比W8A8基线的端到端加速比为1.64倍,具体端到端耗时见表4.1。在本节的实验设置中,输出视频分辨率为1280×720,视频帧数一共是65帧,推理步数是40步,自注意力部分的token序列长度为60k,稀疏掩码的平均稀疏率为63%。


在模型精度上,图4.2分别展示了Wan2.2-T2V-A14B模型在Ascend 950PR卡上生成多段720p视频的结果,肉眼观察EagleQBSA与基线方法相比无明显差异。此外,测试了Wan2.2-T2V-A14B接入EagleQBSA前后在Vbench上的得分,使用的t2v数据集为t2v_sora,一共48条文本输入。使用精度最高的BF16方案作为基线,最终的综合得分如表4.2所示,与精度最高的BF16基线相比,使用EagleQBSA方法后的整体精度误差小于0.1%。


(1a)BF16基线:stylish woman


(1b)EagleQBSA:stylish woman


(2a)BF16基线:giant wooly mammoths


(2b)EagleQBSA:giant wooly mammoths


(3a)BF16基线:Victoria crowned pigeon


(3b)EagleQBSA:Victoria crowned pigeon


图4.2 Wan2.2-T2V-A14B 不同方法文生视频对比图



表4.1:Wan2.2-T2V-A14B不同方法的耗时统计


表4.2:Wan2.2-T2V-A14B BF16基线与

EagleQBSA的Vbench评分



图生视频任务评测


本小节展示EagleQBSA方案在Wan2.2 27B-A14B模型的图生视频(I2V)任务上的整网性能与精度表现。


为了进一步验证 EagleQBSA 的泛化性,对Wan2.2-I2V-A14B展开进一步的实验,且将输入图像分为横屏和竖屏两种类型,分辨率各不相同。在I2V的端到端对比实验中,采用控制变量方法,EagleQBSA的线性部分采取和基线方法一样的计算精度。


在模型精度上,图4.3分别展示了Wan2.2-I2V-A14B模型在Ascend 950PR卡上生成多段720p视频的结果,肉眼观察EagleQBSA与基线方法相比无显著劣化。此外,测试了不同方法在同一数据集上的Vbench的得分。使用精度最高的BF16基线作为基线,最终的综合得分如表4.4所示,与精度最高的BF16基线相比,使用EagleQBSA方法后的整体精度误差小于0.1%。


从端到端耗时来看,EagleQBSA在Wan2.2-I2V-A14B上相对BF16基线加速1.61倍,具体耗时见表4.3。在本节的实验设置中,输出视频分辨率上限为1280×720,视频帧数一共是65帧,推理步数是40步,稀疏掩码的平均稀疏率为67%。


(1a)BF16基线:A girl walks


(1b)EagleQBSA:A girl walks


(2a)BF16基线:Two puppies


(2b)EagleQBSA:Two puppies


图4.3 Wan2.2-I2V-A14B 不同方法图生视频对比图



表4.3 Wan2.2-I2V-A14B不同方法的耗时统计


表4.4 Wan2.2-I2V-A14B BF16基线与EagleQBSA的Vbench评分


MindIE SD调用方式


EagleQBSA已经集成进MindIE SD加速套件,可通过API调用:


安装MindIE SD组件:


cd MindIE-SDpython setup.py bdist_wheelpip install dist/*.whl


调用量化稀疏Attention接口


import mindiesdout, _ = torch.ops.mindiesd.eagle_quant_block_sparse_attention(    query=q_q,    key=k_q,    value=v_q.view(torch.int8),    query_scale=q_scales,    key_scale=k_scales,    value_scale=v_scales,    block_sparse_mask=smask,    block_shape=[128, 128],    q_input_layout="BNSD",    kv_input_layout="BNSD",    num_key_value_heads=n2,    scale_value=128 ** -0.5,    inner_precise=4,    softmax_lse_flag=0,    actual_seq_lengths=[s1]*b,    actual_seq_lengths_kv=[s1]*b,    query_dtype=torch.int8,    key_dtype=torch.int8,    value_dtype=torch_npu.float8_e4m3fn,    output_dtype=torch.bfloat16)


整网调用示例和算子详细接口可参考:

https://gitcode.com/Ascend/MindIE-SD/wiki/Eagle_Quant_block_sparse_attention算子优化文档.md


总结


本文聚焦量化与稀疏叠加融合推理加速技术,提出一种混精量化联合稀疏注意力方案,实现模型推理性能成倍提升。方案采用面向QK向量的序列维度分组INT8量化与面向V向量的Channel维度FP8量化,在块稀疏注意力特性AdaBSA基础上,实现了量化-稀疏联合注意力机制Eagle Quant Block Sparse Attention (EagleQBSA)。EagleQBSA通过昇腾亲和的归约指令调度、分形排布和数学近似计算有效缓解了算子低比特矩阵乘法下的Vector bound。各序列长度下的单算子实验表明,EagleQBSA对比BF16的BSA算子加速1.5倍。在64k序列长度,0.9稀疏率场景下,EagleQBSA相比BF16的全量注意力算子加速14.7倍。整网端到端实验表明,该方案在Wan2.2 27B-A14B模型的T2V和I2V的视频生成任务中,实现1.61~1.64倍的端到端性能提升,Vbench指标满足要求,且人眼观察几乎无精度损失。欢迎广大开发者和客户使用EagleQBSA加速特性。


原文链接
多空观点 观点仅供交流,不构成投资建议
点赞
踩一踩
收藏
分享

评论 (0)

0/200
声明:社区内容仅代表用户个人观点,不构成任何投资建议。投资有风险,入市需谨慎。