只有快点破不掉!到极限压缩的全二值化BiBERT-量子比特,
近年来,预训练语言模型在自然语言处理方面做得很好,但在真实世界的硬件上,其庞大的参数妨碍了实施。
近日,机器学习顶级会议ICLR2022接收论文结果正式公布,至少有9项工作显示了神经网络在量化方向上的相关进展。
本文介绍了实现56.3倍、31.2倍FLOPs和模型大小节约的第一个自然语言任务用的全二值量化BERT模型BiBERT。
这项研究由[北京航空航天大学][刘祥龙]教授小组[南洋理工大学][百度公司]进行。
[2001]预训练的语言模型在自然语言处理方面很出色,但具有大量的参数,妨碍了它们在真实世界中的硬件部署。
现有的模型压缩包括参数化、蒸馏、修剪和参数共享。
其中,参数量化方法通过有效地将浮点参数转换为定点表达式,使模型紧凑。
虽然研究者们提出了q-bert[1]、Q8BERT[2]、GOBO[3]等多项建议,但量化模型仍然面临着表达能力有限和优化困难的严重问题。
幸运的是,知识蒸馏可以更好地解决精度损失问题,作为量化模型辅助优化模仿全精度教师模型的特征表达的惯用手段。
在本文中,来自北航、NTU和百度的研究人员建议BiBERT将权重、激活和嵌入量化为一个比特(不仅将权重量化为一个比特,还将激活保持在四个比特以上)
这样可以在模型推理中使用逐位运算操作,大大加快了将模型放置在实际硬件中时的推理速度。
我们研究了BERT模型二值化过程中的性能损失。作者基于信息理论引入了高效的Bi-Attention(二值注意力)机制。提出定向蒸馏,解决后向传播过程中蒸馏优化方向不一致的问题。
首次证明BERT模型的全二值化是可能的。它在GLUE数据集中的准确性远远超过了现有BERT模型的二值化算法,甚至超过了更高的比特表示模型。
在模型的计算量和体积方面,BiBERT理论上会导致56.3倍和31.2倍的FLOPs和模型尺寸的减少。
bi-attention:一种将注意力二值化的机制
在BERT模型的注意机制中,softmax函数得到的归一化注意的权重被视为遵循概率分布,如果直接将其二值化,信息将完全丢失,信息熵将退化为0(参见图2、
在应用sign函数之前,可以通过移动输入张量的分布来缓解这些信息的降级。
其中,位移参数也被称为二值化阈值,希望二值化后的熵最大化。
softmax函数的排序意味着存在一个固定的阈值,该阈值最大化了二值化表示的熵。
得到Hard Attention的提示[4],作者使用bool函数对注意力权重进行二值化。
通过应用bool函数,注意的权重中值低的要素被二值化为0,所以通过得到熵最大的注意的权重,可以过滤重要部分的要素。
最终的二值注意机制表示如下:。
其中BV是sign函数二值化得到的value值,BA是注意力二值化的权重,是一种很好设计的bitwise-affine矩阵乘法(BAMM)的运算器,由和位移构成,用于对齐训练和推理特征进行有效的位计算。
DMD:定向蒸馏
作者发现注意的权重是两个二值化的激活直接相乘。
因此,决策边缘的值很容易被二值化到另一侧,直接优化注意力权重往往会在培训过程中出现优化方向的不匹配。(参照图3、
▲图3优化方向不一致
因此,作者设计了一个新的蒸馏方案,对上游的Query,Key和Value矩阵,建立类似的矩阵,进行活性蒸馏:
不久| || |“l2正则化。在以往的研究中,这样构建的矩阵忽略了尺度和数值大小的影响,反映了对特定模式网络的语义理解,更稳定地表现了特征间的内生相关关系,更适合二值网络和全精度网络之间的知识传递。”被认为是。
因此,蒸馏损失可以表示为隐含层、预测结果和上述活化相似性矩阵的损失之和:
其中L表示transformer的层次结构
来修改标记元素的显示属性。
作者的实验证明,所提出的[BiBERT]可以很好地解决在GLUE基准数据集任务的一部分中二值化BERT模型精度崩溃的问题,使模型的稳定优化成为可能。
表1说明了所提出的Bi注意和DMD都能显著提高二值化后模型的性能。
△表1熔融实验
在表2和表3中,作者展示了比其他BERT二值化方法,甚至更高比特量化方案更好的[BiBERT]。
(表2BERT的二值化方法的比较(数据增强)
△表3BERT的二值化方法的比较(有数据增强)
50%是指二值化后注意力权重的一半为0,表中没有特别说明,但使用12层BERT模型进行量化。
此外,作者还对训练中的信息熵进行了测量(见图4、,提出了一种通过注意机制有效恢复完全丢失的信息熵的方法。
△图4训练中的信息熵
同时,作者绘制了训练时loss下降曲线和准确性,比BiBERT基线收敛明显快,准确性更高。
(图5的训练时的损失和精度曲线。)
作者提出的BiBERT作为第一种BERT模型全二值化的方法,为后续BERT二值化的研究奠定了理论基础,分析了其性能下降的原因,提出了Bi证明和DMD的方法,有效地提高了模型的性能。
它超过了现有BERT模型的二值化方法,优于使用更多比特的量化方案,理论上可以减少56.3倍的FLOPs和节省31.2倍的模型存储。
希望这份工作能成为将来研究的基础。
立即打开基于飞桨的开源深度学习模型压缩工具PaddleSlim。
paddleslim:https://github.com/paddlepaddle/paddleslim
传输门会议论文:https://openreview.net/forumid=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。
*本文经量子比特授权刊登,观点仅归作者所有
-结束了