共计 3018 个字符,预计需要花费 8 分钟才能阅读完成。
近年来,预训练语言模型在自然语言解决上表现出色,但其宏大的参数量妨碍了它在真实世界的硬件设施上的部署。近日,机器学习顶会 ICLR 2022 接管论文后果曾经正式颁布,至多有 9 项工作展现了神经网络量化方向的相干停顿。本文将介绍首个用于自然语言工作的全二值量化 BERT 模型——BiBERT,具备高达 56.3 倍和 31.2 倍的 FLOPs 和模型尺寸的节俭。这项钻研工作由北京航空航天大学刘祥龙传授团队、南洋理工大学和百度公司飞桨团队共同完成。
预训练语言模型在自然语言解决上表现出色,但其宏大的参数量妨碍了它在真实世界的硬件设施上的部署。现有的模型压缩办法包含参数量化、蒸馏、剪枝、参数共享等等。其中,参数量化办法高效地通过将浮点参数转换为定点数示意,使模型变得紧凑。研究者们提出了许多计划例如 Q -BERT[1]、Q8BERT[2]、GOBO[3] 等,但量化模型仍旧面临重大的表达能力无限和优化艰难的问题。侥幸的是,常识蒸馏作为一种习用的辅助优化的伎俩,令量化模型模拟全精度老师模型的特色表白,从而较好地解决精度损失问题。
在本文中,来自北航、NTU、百度飞桨的钻研人员提出了 BiBERT,将权重、激活和嵌入均量化到 1 比特(而不仅仅是将权重量化到 1 比特,而激活维持在 4 比特或更高)。这样能使模型在推理时应用逐位运算操作,大大放慢了模型部署到实在硬件时的推理速度。咱们钻研了 BERT 模型在二值化过程中的性能损失,作者在信息实践的根底上引入了一个高效的 Bi-Attention(二值注意力)机制,解决前向流传中二值化后的注意力机制的信息进化问题;提出方向匹配蒸馏(Direction-Matching Distillation)办法,解决后向流传中蒸馏的优化方向不匹配问题。
图 1 BiBERT 的整体框架图
BiBERT 首次证实了 BERT 模型全二值化的可行性,在 GLUE 数据集上的准确性极大地超过了现有的 BERT 模型二值化算法,甚至超过了更高比特示意的模型。在模型计算量和体积上,BiBERT 实践上可能带来 56.3 倍和 31.2 倍的 FLOPs 和模型尺寸的缩小。
办法
Bi-Attention:二值化注意力机制
咱们的钻研表明,在 BERT 模型的注意力机制中,softmax 函数失去的归一化注意力权重被视为遵循一个概率分布,而间接对其进行二值化会导致齐全的信息丢失,其信息熵进化为 0(见图 2)。
图 2 间接对 softmax 函数利用二值化导致齐全的信息丢失
一个缓解这种信息进化的罕用措施是,在利用 sign 函数之前对输出张量的散布进行移位,能够示意为:
其中,移位参数也被认为是二值化的阈值,心愿能使二值化后的熵达到最大。
咱们留神到,softmax 函数是保序的,这意味着存在一个固定的阈值使二值化示意的信息熵最大化。受到 Hard Attention 的启发 [4],作者用 bool 函数来二值化注意力权重 A:
通过利用 bool 函数,留神权重中值较低的元素被二值化为 0,因而失去的熵值最大的留神权重能够过滤出要害局部的元素。最终二值注意力机制能够被示意为:
其中,BV 是通过 sign 函数二值化失去的 value 值,BA 是二值化注意力权重,是一个精心设计的 Bitwise-Affine 矩阵乘法(BAMM)运算器,由和位移组成,用于对齐训练和推理表征并进行无效的位计算。
DMD: 方向匹配蒸馏
作者发现,因为注意力权重是两个二值化的激活间接相乘而得,因而,处于决策边缘的值很容易被二值化到相同一侧,从而间接优化注意力权重经常在训练过程中产生优化方向失配问题。(见图 3)
图 3 优化方向失配
因而,作者设计了新的蒸馏计划,即针对上游的 Query、Key 和 Value 矩阵,构建相似性矩阵进行对激活的蒸馏:
其中,||·|| 示意 L2 正则化。之前的钻研工作表明,以这种形式构建的矩阵被认为可能反映网络对于特定模式的语义了解,并忽视尺度和数值大小影响,可能更加稳固地示意特色之间的内生相关性,更适宜二值和全精度网络之间的常识传递。
因而,蒸馏损失能够示意为对暗藏层、预测后果和上述激活相似性矩阵的损失之和:
其中 L 示意 transformer 的层数,
试验
作者的试验证实了所提出的 BiBERT 可能杰出地解决二值化 BERT 模型在 GLUE 基准数据集的局部工作上精度解体的问题,使模型可能稳固优化。表 1 表明所提出的 Bi-Attention 和 DMD 均能够显著晋升模型在二值化后的体现。
表 1 融化试验
表 2 和表 3 中,作者展现了 BiBERT 优于其余 BERT 二值化办法,甚至优于更高比特的量化计划:
表 2 基于 BERT 的二值化办法比照(无数据加强)
表 3 基于 BERT 的二值化办法比照(有数据加强)
其中,50% 示意要求二值化后有一半的注意力权重为 0,且表中无非凡阐明均采纳 12 层的 BERT 模型进行量化。此外,作者测量了在训练过程中的信息熵(见图 4),作者提出的办法无效地复原了注意力机制中齐全损失的信息熵。
图 4 训练过程中的信息熵
同时,作者绘制了训练时的 loss 降落曲线和准确率,BiBERT 相比于基线显著更快收敛、准确性更高。
图 5 训练时的 Loss 和准确率曲线
总结
作者提出的 BiBERT 作为第一个 BERT 模型的全二值化办法,为之后钻研 BERT 二值化建设了实践根底,并剖析了其性能降落的起因,针对性地提出了 Bi-Attention 和 DMD 办法,无效进步模型的性能体现。BiBERT 超过了现有的 BERT 模型二值化办法,甚至优于采纳更多比特的量化计划,实践上 BiBERT 可能带来 56.3 倍的 FLOPs 缩小和 31.2 倍的模型存储节俭。心愿该工作可能为将来的钻研打下松软的根底。
BiBERT 行将基于百度飞桨开源深度学习模型压缩工具 PaddleSlim 开源,尽请期待。PaddleSlim: https://github.com/PaddlePaddle/PaddleSlim
传送门
会议论文: https://openreview.net/forum?id=5xEgrl_5FAJ
Reference
[1] Sheng Shen, Zhen Dong, Jiayu Ye, Linjian Ma, Zhewei Yao, Amir Gholami, Michael W. Mahoney, and Kurt Keutzer. Q-BERT: hessian based ultra low precision quantization of BERT. In AAAI, 2020.[2] Ofir Zafrir, Guy Boudoukh, Peter Izsak, and Moshe Wasserblat. Q8BERT: quantized 8bit BERT. In NeurIPS, 2019.[3] Ali Hadi Zadeh, Isak Edo, Omar Mohamed Awad, and Andreas Moshovos. GOBO: quantizing attention-based NLP models for low latency and energy efficient inference. In MICRO, 2020.[4] Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron Courville, Ruslan Salakhudinov, Rich Zemel, and Yoshua Bengio. Show, attend and tell: Neural image caption generation with visual attention. In ICML, 2015.