近年来,预训练语言模型在自然语言解决上表现出色,但其宏大的参数量妨碍了它在真实世界的硬件设施上的部署。近日,机器学习顶会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.
发表回复