关键词: Transformer、二值注意力、硬件加速、极低比特量化
当注意力机制被“瘦身”到极致。
Transformer 架构的成功,很大程度上归功于其强大的注意力机制,它能捕捉序列中任意两个位置之间的依赖关系。然而,这种能力是有代价的:注意力计算的时间复杂度和空间复杂度随序列长度呈二次方增长。在视觉任务中,当处理高分辨率图像(如 1024×1024)时,这意味着巨大的计算开销和内存占用,成为了制约模型部署的关键瓶颈。
为了突破这一瓶颈,业界已探索了多种路径,包括架构层面的稀疏注意力、线性注意力,硬件层面的 FlashAttention,以及数值精度层面的模型量化。其中,模型量化通过将高精度浮点数(如 FP32)压缩为低精度整数(如 INT8)来加速计算和节省内存,是实践中非常有效的一环。然而,量化注意力模块,尤其是其中的矩阵乘法,面临着独特的挑战——它负责动态地计算词元间的相似度,对精度损失极其敏感。
那么,我们能否将注意力机制的量化推向极致?能否用 1 比特,即每个数值仅用 0 或 1 来表示,来替代原本复杂的浮点数计算,从而在根本上改变规则?这听起来似乎有些疯狂,因为将信息压缩到 1 比特,意味着巨大的信息损失,难道不会导致模型性能断崖式下跌吗?

来自香港理工大学和 OPPO 研究院的团队,在最新论文《BinaryAttention: One-Bit QK-Attention for Vision and Diffusion Transformers》中给出了一个令人振奋的答案:不仅可以,而且在保持甚至超越全精度性能的同时,还能实现 2 倍于 FlashAttention2 的加速!
核心洞察: 论文指出,注意力机制的核心在于捕捉查询(Query)与键(Key)之间的相似性关系,而非精确的数值大小。

通过理论证明,他们将原始的浮点点积相似性,巧妙地转化为二进制空间中的汉明距离或角度余弦。更重要的是,作者提出的定理 1 揭示了二进制化后的查询和键的外积期望,与原始高斯分布下的协方差矩阵之间,存在一个简洁的线性关系,这意味着二进制表示保留了原始数据的统计结构。这为 1 比特注意力提供了坚实的理论基础。

基于这一洞察,BinaryAttention 应运而生。它不仅将相似度计算完全二值化,还通过引入可学习偏置来弥补信息损失,并对后续的注意力权重和值(Value)进行 8-bit 量化,实现了端到端的硬件友好加速。
实验数据有力地支撑了他们的论点:
* 速度: 在 A100 GPU 上,BinaryAttention 的注意力核心速度比 FlashAttention2 快 2 倍以上,在 1024×1024 的高分辨率下,端到端推理吞吐量提升高达 1.5 倍。
* 精度: 在 ImageNet 分类任务上,BinaryAttention-Base 模型达到了 82.04% 的 Top-1 准确率,超越了全精度 DeiT-Base (81.8%)。在 COCO 目标检测和实例分割任务上,BinaryAttention 同样展现了媲美甚至超越全精度基线的性能。
那么,BinaryAttention 是如何在 1 比特的极限压缩下,做到“既快又好”的?接下来,我们将深入其技术细节,一探究竟。

二、BinaryAttention 核心创新:在二进制空间重建相似性
BinaryAttention 的核心在于,通过一系列精巧的设计,将标准注意力中的浮点运算,尤其是计算量最大的 QK 相似度计算,转化为高效的位运算。整个方法包含三个关键组成部分:缩放二值化表示、偏置增强,以及注意力权重与值的混合量化。下图清晰地展示了这一流程。

2.1 理论基石:为什么 1 比特可行?
在具体实现之前,论文首先从理论上论证了将查询(Q)和键(K)二值化的可行性。
标准注意力中的相似度由点积 ( QK^T ) 决定。论文提出了两个视角来重新审视这个点积:
- 距离视角:如果对 Q 和 K 进行 L2 归一化,则点积与欧氏距离的平方存在线性关系。因此,Softmax 注意力本质上是在基于欧氏距离进行加权求和。
- 方向视角:点积也等于模长乘积与余弦值的乘积。在 L2 归一化下,注意力系数正比于余弦相似度,即仅取决于方向。
将 Q 和 K 二值化为 ( tilde{Q} ) 和 ( tilde{K} ) 后,二值化后的点积与它们之间的汉明距离直接相关。这意味着,在二值化后的汉明空间中,注意力系数可以表示为 ( exp(-text{Hamming Distance}) ),这与原始欧氏空间中的形式如出一辙。更重要的是,这种转换完美保留了原始空间中的方向信息。
论文的核心理论贡献是定理 1,它从统计角度为这个观点提供了强有力的支撑。定理 1 表明,假设查询 ( Q ) 和键 ( K ) 服从均值为零的联合高斯分布,其协方差矩阵为 ( Sigma )。那么,二值化后的外积 ( tilde{Q}tilde{K}^T ) 的期望为:
[
mathbb{E}[tilde{Q}tilde{K}^T] = frac{2}{pi} arcsin(Sigma)
]
这个定理的直观解释是:即使对 Q 和 K 进行了极端的 1 比特量化,它们的二值化表示的外积期望,仍然能够通过一个简单的 ( arcsin ) 函数,精确地反映原始 Q 和 K 之间的协方差结构。这确保了二值化的表示能够保留原始数据的关键统计信息。
2.2 缩放二值化表示:从符号到量级
基于理论保证,BinaryAttention 首先将 Q 和 K 二值化。但它做的不是简单的符号函数 ( text{sign}(cdot) ),而是缩放二值化:
[
tilde{Q} = alpha_Q cdot text{sign}(Q – mu_Q), quad tilde{K} = alpha_K cdot text{sign}(K – mu_K)
]
这里的 ( mu_Q ) 和 ( mu_K ) 分别是沿着词元维度和通道维度计算的 Q 和 K 的均值,( alpha_Q ) 和 ( alpha_K ) 是相应的缩放因子。
引入这两个缩放因子至关重要。如果没有它们,二值化后的向量只能位于单位超球面上,丢失了原始向量的量级信息。而缩放因子则充当了“能量”补偿的角色,使得二值化表示能够更好地逼近原始 Q 和 K 的分布。消融实验证实,不使用缩放因子会导致明显的精度下降。
经过缩放二值化后,Q 和 K 之间的相似度计算 ( tilde{Q}tilde{K}^T ),完全可以通过 XNOR + popcount 的位运算来高效实现,这是二进制计算的核心优势。
2.3 偏置增强:为二进制空间注入结构信息
尽管二值化保留了方向信息和统计相关性,但它不可避免地丢失了原始点积中精细的幅度差异。这会导致计算出的注意力权重分布过于“均匀”(Softmax 后的概率接近均匀分布),难以有效区分重要和不重要的词元。
为了解决这个问题,BinaryAttention 引入了一个偏置项 ( B ):
[
text{Attention}(Q, K, V) = text{Softmax}left( frac{tilde{Q}tilde{K}^T}{sqrt{d}} + B right) V
]
这个偏置项 ( B ) 是可学习的,它为二值化后的注意力相似度矩阵注入了结构信息,帮助模型恢复或增强对关键区域的聚焦能力,防止注意力分布“坍塌”成无效的均匀分布。
这个偏置项充当了一个“修正器”的角色,用于增强二值化后注意力分布的表示能力。其实现有多种可选方案:
- 密集可学习矩阵:为每个查询-键对学习一个独立的偏置值,以增加二进制空间中相似度矩阵的秩。
- 位置敏感偏置:例如直接采用 Transformer 中常用的相对位置编码,为注意力计算注入空间结构信息。
- 上下文感知偏置:根据查询和键的内容动态生成偏置。
在实验中,作者采用了可学习的相对位置偏置。

表 5:基于 ImageNet-1K 与 DeiT 架构,针对 BinaryAttention 的缩放二值表示、偏置增强、自蒸馏策略的消融实验。
从表 5 的消融实验结果可见,添加偏置后,DeiT-T 和 DeiT-S 模型的精度分别提升了 0.44% 和 0.27%,证明了其有效性。对于参数量更大的模型(DeiT-B),偏置带来的增益相对较小,这符合直觉:更大的模型维度本身就能在二进制空间中保留更丰富的结构信息。
2.4 混合量化:实现端到端加速
在将 QK 相似度计算二值化后,BinaryAttention 进一步对注意力权重 A 和值 V 进行 8-bit 量化,以实现整个注意力前向过程的端到端加速。
- 注意力权重
A的量化:由于 Softmax 的输出被限制在[0, 1]区间内,因此可以直接使用无符号 8-bit 整数(uint8)进行量化,缩放因子固定为1/255。这样,A就被映射为[0, 255]的整数A_q。 - 值
V的量化:V的分布通常更复杂,且可能存在通道级的异常值。因此,采用通道级别的 8-bit 有符号整数(int8)量化策略,即对V的每个通道独立计算一个缩放因子。
最终,整个注意力输出 O = A * V 的计算,被转化为一个高效的 INT8 矩阵乘法:O = dequantize( matmul_i8(quantize_u8(A), quantize_i8(V)) )
通过这种混合量化设计,BinaryAttention 将计算负载最大的两个部分都转换成了硬件友好的低精度运算:Q*K^T 是位运算,A*V 是 INT8 矩阵乘法。
三、硬件感知实现:在 GPU 上释放极致性能
有了理论和方法,最后一步是如何在硬件上高效实现。BinaryAttention 借鉴了 FlashAttention-2 的 IO 感知分块策略,并针对二进制和 INT8 算子进行了深度定制。
其核心算法流程如算法 1 所示。
- 二进制矩阵乘法(BinaryMatmul):这是最核心的一步。它利用了 NVIDIA Tensor Core 提供的
mma.s32.b1.b1.s32PTX 指令,专门用于计算二进制值之间的点积。该指令直接在硬件层面完成 XNOR 和 popcount 操作,理论峰值吞吐量高达 4992 TOPS/s,远超 FP16(312 TFLOPS/s)和 INT8(624 TOPS/s)。 - INT8 矩阵乘法(IntMatmul):在将注意力权重
A量化为 uint8,值V量化为 int8 后,它们的乘积通过 Tensor Core 的mma.s32.u8.s8.s32指令进行计算,同样可获得极高的吞吐量。 - 内存优化:和 FlashAttention 一样,BinaryAttention 也将 Q、K、V 分块加载到 SRAM 中,在片上完成所有计算,最后将结果写回 HBM。这最大限度地减少了数据搬运,使计算性能不再受限于内存带宽。
图 3 展示了 BinaryAttention 与主流加速库的核函数速度对比。可以看出,BinaryAttention 在各种序列长度下都保持了领先优势,在长序列场景下优势更为明显。

图 3:A100 GPU 上的注意力核函数速度对比。在 A100 GPU、头维度 128 条件下,测试不同注意力实现的核函数速度。

图 4:A100 GPU 上端到端吞吐量与加速比对比。实验采用 ViT 模型。
四、实验结果与讨论:性能与精度的双赢
在图像分类、目标检测、实例分割和图像生成等多个任务上,对 BinaryAttention 进行了全面评估。实验结果充分证明了其高效且高精度的特性。
4.1 图像分类
在 ImageNet-1K 分类任务上,BinaryAttention 表现极为出色,如表 1 所示。

表 1:ImageNet-1K 数据集上图像分类任务的对比结果。
从表 1 可以看到:
- 超越全精度基线:BinaryAttention-Base 在
224x224分辨率下达到 82.04% 的 Top-1 准确率,超过了全精度 DeiT-Base(81.8%)。 - 超越同类型高效方法:BinaryAttention-S/B 的准确率均高于同为高效注意力设计的 SageAttention-S/B。
- 高分辨率优势明显:在
384x384高分辨率下,BinaryAttention-Base 准确率提升至 83.64%,不仅超越了 DeiT-Base (83.1%),且所需计算量(OPs)更少。
更重要的是,BinaryAttention 可以与现有的线性层量化方法(如 PTQ4ViT)无缝结合。两者结合后(BinaryAttention + PTQ4ViT),模型在保持高精度(83.55%)的同时,计算量(13.5G OPs)达到了极具竞争力的水平,展现了其在端侧部署的巨大潜力。
4.2 目标检测与实例分割
在 COCO 数据集上,BinaryAttention 在 Mask R-CNN 和 Cascade Mask R-CNN 等检测模型上也取得了与全精度基线相当甚至更好的效果,如表 2 所示。

表 2:COCO 数据集上目标检测与实例分割任务的对比结果。计算量 OPs 基于 1024×1024 输入分辨率计算。
这证明了 BinaryAttention 不仅在分类任务上有效,在处理更复杂的、依赖精细特征定位的视觉任务(如检测、分割)时,同样表现出色,能够有效保留长程依赖与细粒度特征。
4.3 图像生成
扩散模型(如 DiT 和 SiT)对注意力机制的计算质量非常敏感。

表 4:ImageNet 256×256 分辨率下类条件图像生成任务的对比结果。
如表 4 所示,在 DiT 和 SiT 扩散模型上评估生成性能时,BinaryAttention 在较小模型上的 FID(弗雷歇初始距离)和 IS(初始分数)指标均优于全精度基线。在 DiT-XL/2 模型上,当使用较高的无分类器引导尺度(cfg=1.50)时,BinaryAttention 取得了 2.19 的优异 FID 值,且计算量(OPs)更低。这证明 BinaryAttention 适配扩散 Transformer 架构,其 1 比特 QK 注意力机制不会降低生成质量,为高效图像生成提供了一种轻量化注意力方案。
如图 5 所示,在 DiT-XL/2(cfg=1.50)上,BinaryAttention 生成的图像在细节和结构上与使用 FlashAttention2 的全精度模型生成结果相比无明显差异,展现了其强大的表达力。

图 5:基于 DiT-XL/2(分类器自由引导尺度 cfg=1.50),使用 FlashAttention2 与 BinaryAttention 生成图像的定性对比。BinaryAttention 生成的图像细节充足、结构合理,与 FlashAttention2 的生成质量相当,证明 1 比特 QK 注意力不会降低扩散 Transformer 的生成保真度。
4.4 内存与计算开销分析

表 7:基于 DeiT-T 模型,在 512×512 与 1024×1024 分辨率下,三种注意力机制的内存占用对比。
表 7 对比了不同注意力机制的内存开销。分析表明,使用稠密可学习偏置会随分辨率提高而显著增加内存占用,而采用可分解偏置(如空间与方向偏置之和)则能将此开销降至几乎可忽略的水平。BinaryAttention 结合可分解偏置设计,在精度与内存效率之间取得了良好平衡,使其能够灵活适配不同硬件部署场景。

表 8:在 A100 GPU 上测量的注意力核函数与量化组件的延迟数据。
表 8 展示了核心计算与量化过程的时间开销。BinaryAttention 的注意力核函数延迟仅为 88.2ms,显著低于其他对比方法。其量化过程(包括对 Q、K、V 的量化)总延迟为 4.7ms,仅占注意力核计算时间的约 5%。极低的量化开销与高效的核设计相结合,证实了 BinaryAttention 的硬件优化是有效的,其二值与 8 位混合量化策略能够实现真实的加速效果。
结论
BinaryAttention 是一项创新性工作,它在不改变 Transformer 模型结构的前提下,通过将 QK 注意力计算极致地压缩至 1 比特,并结合 I/O 感知的硬件实现,为视觉和扩散 Transformer 提供了一种极具潜力的高效加速方案。
这项工作带来了以下几点重要启示:
- 极低比特量化在注意力机制中的可行性:理论与实验均证明,注意力机制的核心在于捕获“关系”而非精确的“数值”。二进制表示足以有效地保留这种关系结构。
- 软硬件协同设计的重要性:BinaryAttention 的成功,离不开对底层硬件指令(如 Tensor Core 的二进制运算)的深刻理解和巧妙利用。这再次表明,提升 AI 模型效率需要将算法创新与硬件特性紧密结合。
- 高性能与高精度的兼得:通过缩放因子、偏置增强、自蒸馏等训练技巧,BinaryAttention 在极限量化压缩下依然能保持甚至超越全精度模型的性能,打破了“量化必然牺牲精度”的刻板印象。
当然,BinaryAttention 也存在一些局限性,例如其 V 矩阵乘法仍采用 8-bit 量化,且目前主要优化了注意力模块本身。未来的工作可以沿着以下方向继续探索:
- 进一步量化:将 V 乘法的量化精度推向 4-bit 甚至更低。
- 端到端全量化:将 BinaryAttention 与线性层、MLP 层等的极致量化(如 1-bit)相结合,构建完整的低比特 Transformer。
- 更广泛的应用:将 BinaryAttention 拓展至自然语言处理等领域,特别是在长文本处理场景中,其速度优势可能更加显著。
总而言之,BinaryAttention 提供了一个全新的思路,即在保证模型表达能力的前提下,通过极致的算法量化和硬件优化,为 Transformer 模型的大规模部署扫清效率障碍。随着模型与数据规模的持续增长,此类追求极致效率的探索将成为推动 AI 技术发展的关键力量之一。
关注“鲸栖”小程序,掌握最新AI资讯
本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:http://www.itsolotime.com/archives/27205


