AG百家乐网站地址

你的位置:百家乐ag > AG百家乐网站地址 > ag平台真人百家乐 4比特量化三倍加速不掉点!清华即插即用的SageAttention迎来升级

ag平台真人百家乐 4比特量化三倍加速不掉点!清华即插即用的SageAttention迎来升级

发布日期:2024-11-29 08:26    点击次数:99

AIxiv专栏是机器之心发布学术、技能施行的栏目。已往数年ag平台真人百家乐,机器之心AIxiv专栏给与报说念了2000多篇施行,粉饰世界各大高校与企业的顶级实验室,有用促进了学术相易与传播。如果您有优秀的责任念念要共享,海涵投稿八成关系报说念。投稿邮箱:[email protected][email protected]

论文共同第一作家张金涛、黄浩峰分别来自清华大学计较机系和交叉信息商议院,论文通信作家陈键飞副西宾特等他配合作家均来自清华大学计较机系。

大模子中,线性层的低比特量化依然迟缓落地。但是,关于留意力模块,当今简直各个模子王人还在用高精度(例如 FP16 或 FP32)的留意力运算进行磨练和推理。而且,跟着大型模子需要处理的序列长度束缚加多,Attention(留意力运算)的时候支拨逐步成为主要支拨。

此前,清华大学陈键飞团队提议的 8-Bit 的即插即用 Attention(SageAttention),将 Attention 中的 QK^T 量化至 INT8,将 PV 保握为 FP16 精度并使用 FP16 精度的矩阵乘法累加器,同期提议 Smooth K 技能保握了量化 Attention 的精度,结束了 2 倍加速于 FlashAttention2,且在各类大模子上均保握了端到端的精度发达。

当今,SageAttention 依然被业界及社区等闲地使用于多样开源及贸易大模子中,比如 CogvideoX、Mochi、Flux、Llama3、Qwen 等。

近日,陈键飞团队进一步提议了 4-Bit 的即插即用 Attention(SageAttention2),相较于 FlashAttention2 和 xformers 分别结束了 3 倍以及 4.5 倍的即插即用的推理加速,且在视频、图像、文本生成等大模子上均保握了端到端的精度发达。

论文标题:SageAttention2: Efficient Attention with Thorough Outlier Smoothing and Per-thread INT4 Quantization论文承接:https://arxiv.org/abs/2411.10958开源代码:https://github.com/thu-ml/SageAttention

即插即用例如

SageAttention2 结束了高效的 Attention 算子,可以结束即插即用的推理加速。输入任性 Q, K, V 矩阵,SageAttention2 可以快速复返 Attention Output (O)。

具体来说,SageAttention2 使用起来很浮浅,克隆仓库(git clone https://github.com/thu-ml/SageAttention)并实施 python setup.py install 后,只需一瞥代码便可以得回 Attention 的输出,可以使用该接口浮浅地替换任性模子中的 Attention 函数:

恶果上,以开源视频生成模子 CogvideoX-1.5-5B 为例,使用 SageAttention2 可以端到端加速 1.8 倍,且生成的视频无损。

更遑急的是,SageAttention2 提供了比 SageAttention 更等闲的硬件撑握。除了在 RTX 4090 上可以 3 倍加速于 FlashAttention 外,在 L20、L40、L40S 可以结束 2 倍的加速,在 A100、A800、A6000 上可以结束 1.45-1.6 倍的加速(基于 SageAttention)。

接下来,商议团队将从绪言、挑战、步调以及实验恶果四个方面先容 SageAttention2(总体历程图如下图)。

绪言

跟着大模子需要处理的序列长度越来越长,Attention 的速率优化变得越来越遑急。下图展示了一个尺度的 Transformer 模子中各运算的时候占比随序列长度的变化:

为了浮浅指代留意力运算中的矩阵,咱们先回来一下留意力的计较公式:

尽管 SageAttention 提议将 Q,K 量化至 INT8,将 P,V 保握 FP16 精度且给与 FP16 的矩阵乘法累加器来加速 Attention 的速率。但是,这么作念的瑕玷是:1)INT8 的矩阵乘法只达到了一半的 INT4 矩阵乘法的速率,2)使用 FP16 的乘法累加器的 FP16 的矩阵乘法的加速只在 RTX4090 和 RTX3090 显卡上有用。

为了克服上述瑕玷,SageAttention2 提议将 Q, K 量化至 INT4,并将 P, V 量化至 FP8 来加速 Attention。但是,这么作念的挑战是很大的。

4-Bit 留意力量化有什么问题?

商议团队发现凯旋将留意力运算中的 Q, K 量化为 INT4 后将会导致在简直通盘模子和任务上王人会得回极差的终端,例如,在 CogVideoX 文生视频模子中,会得回悉数污秽的视频;Llama2-7B 进行四选一采选题任务上得回 25% 的准确率。

经过仔细分析后,商议团队发现主如果两个原因导致了量化留意力的不准确:

(1)INT4 的数值限制比拟 INT8 特等小,ag 真人百家乐导致其量化短处在 Q,K 矩阵中出现一些额外值时会变得十分彰着,碰巧大多模子王人在 Q, K 中发达出来了较大的通说念维度的额外值。这极大削减了 QK^⊤矩阵乘法的精度。

(2)商议团队发现 Nvidia 的显卡上,FP8 的矩阵乘法辅导 (mma.f32.f8.f8.f32) 的乘法累加器并不是官方声称的 FP32 精度,而是独一 FP22 精度,这导致了 PV 矩阵乘法出现较大的累加短处。

技能决议

为了科罚上述的两个挑战,商议团队提议了对应的科罚目的。

(1)保留 SageAttention 中对 K 进行平滑处理的同期,提议对 Q 进行平滑处理:Q – mean (Q)。其中 mean (Q) 是沿着通说念维度的平均值向量。完成该平滑操作后需要在 Attention 计较过程中将 mean (Q) 和 K^T 的向量与矩阵乘法的终端抵偿到 S 中。

这使得比拟凯旋量化 Q, K 至 INT4 的准确度有质的改动,如下表展示了对比了该步和谐凯旋量化 Q, K 至 INT4 在 Cogvideo 和 Llama3.1 上的端到端发达。

矩阵 Q 平滑前后的数据漫衍可视化的终端如下,可以发现平滑后的 Q 对 INT4 数据限制的利费用更高:

(2)对 Q, K 进行 Per-thread 量化。关于矩阵 Q, K,SageAttention2 给与了凭据 mma 辅导对矩阵内存排布的条目,对 Q,K 中的 Token 按照 GPU 线程进行分组,使量化粒度比 SageAttention 中的 per-block 细化 16 倍,极大提高了 4Bit 的 QK^⊤乘法准确度的同期不引入任何额外支拨。

具体来说,在 SageAttention 中,每个 Q 的块将被辩认为 c_w 个段,由 GPU 流处理器(SM)中的 c_w 个 GPU warp 处理。然后,每个包含 32 个线程的 warp 会使用 NVIDIA 的 mma.m16n8k64 PTX 辅导来实施 QK^⊤运算。凭据这一辅导的布局条目,商议团队发现一个 warp 内的 Q [8×(n%8)] 可以共用一个量化缩放参数,而一个 warp 内的 K [8×(n%8)] 和 K [8×(n%8+1)] 也可以共用一个量化缩放参数,其中 n 是 token 索引。

这种量化步调更为细腻且不加多额外支拨。这是因为它凭据 MMA 辅导的布局将不同的 GPU 线程分派到不同的量化 Token 组,每个线程只对应一个量化缩放参数进行反量化。而非 Per-token 量化那样,每个线程对应多个量化缩放参数。

如下表所示,可以发现 per-thread 量化的准确度比 SageAttention 中给与的 per-block 量化高得多,准确度和 per-token 量化简直莫得离别。

(3)对 FP8 的 PV 矩阵乘法给与 FP32 的寄存器将每次 FlashAttention 分块粒度的 PV 的 FP22 的乘法终端累加起来。这种作念法可以有用地幸免 FP22 的乘法累加器沿着序列长度积聚过多的短处,将 FP22 累加器带来的短处规则在 FlashAttention 分块的粒度中,提高了 FP8 的 PV 乘法的准确度。

(4)针对 P 和 V,商议团队对比了多种量化的数据类型,对比发现使用 E4M3 数据姿色的 FP8 精度最准确,基本接近了 FP16 的准确度。因此给与将 P 和 V 量化至 E4M3。

下图展示了 SageAttention2 的算法历程:

SageAttention2 共结束了两种 Kernel,区别在于对 Q, K 进行 INT4 量化如故 INT8 量化:

此外,SageAttention2 还提议一种可选的对矩阵 V 进行平滑处理的技能,可以进一步提高 PV 矩阵乘法的准确度。具体来说,当某些模子中 V 矩阵具有通说念维度的偏片时,可以将 V 减去其通说念维度的平均值 mean (V) 往复除偏移,之后进行闲居的量化 Attention 运算。只需要对最终 Attention 的 Output 加上 mean (V) 即可保握计较的正确性。

这种作念法可以升迁准确度的原因如下图所示。在 FP22 的默示限制内,数值越大,比拟 FP32 的短处越大。而 P 的限制是 0~1 之间,那么当 V 矩阵的列有较大的数值偏片时,PV 的 FP22 累加器的精度就越差,通过平滑 V 去除偏移后,就可以加强 PV 矩阵乘法的准确度。

实验恶果

SageAttention 结束了底层的 GPU CUDA Kernel,在算子速率以及各个模子端到端准确度上王人有十分可以的发达。

具体来说,算子速率比拟于 FlashAttention2 和 xformers 有梗概 3 倍以及 4.5 倍的加速:

算子的准确度方面亦然比对 Q, K 进行 SmoothQuant 和 Hadamard 变换要愈加准确:

各模子在确凿场景的端到端精度发达中,在视频、图像、文本生成等大模子上均保握了端到端的精度发达:

下图是在 HunyuanVideo 中的可视化实例:

下图是在 Cogvideo 中的可视化实例:

下表展示了各个言语、视频、图像生成模子中 SageAttention2 的端到端精度发达:

端到端的速率发达上ag平台真人百家乐,SageAttention2 两个 Kernel 的结束均可以有用地对长序列模子进行加速,比如可以端到端 1.8 倍加速 CogVideoX1.5-5B,其他模子上也均有 1.6 到 1.8 倍的提速。