Addition is All You Need for Energy-efficient Language Models

2024年10月01日
  • 简介
    大型神经网络的大部分计算都花费在浮点张量乘法上。在这项工作中,我们发现一个浮点乘法器可以被一个高精度的整数加法器所近似。我们提出了线性复杂度乘法L-Mul算法,它用整数加法操作近似浮点数乘法。与8位浮点乘法相比,新算法的计算资源成本显著降低,但精度更高。与8位浮点乘法相比,该方法实现了更高的精度,但消耗的比特级计算资源显著减少。由于浮点数乘法需要比整数加法操作更高的能量,将L-Mul操作应用于张量处理硬件中,可以潜在地减少95%的按元素浮点张量乘法能量成本和80%的点积能量成本。我们计算了L-Mul的理论误差期望,并在广泛的文本、视觉和符号任务上评估了该算法,包括自然语言理解、结构推理、数学和常识问题回答。我们的数值分析实验与理论误差估计一致,表明具有4位尾数的L-Mul可以实现与float8_e4m3乘法相当的精度,而具有3位尾数的L-Mul优于float8_e5m2。流行基准测试的评估结果表明,将L-Mul直接应用于注意机制几乎没有损失。我们进一步表明,在变压器模型中用3位尾数的L-Mul替换所有浮点乘法,在微调和推理中实现的精度与使用float8_e4m3作为累加精度相当。
  • 图表
  • 解决问题
    本论文旨在解决神经网络中浮点数乘法计算量大、能耗高的问题,提出了一种用整数加法操作来近似浮点数乘法的算法L-Mul,并验证其在多个任务中的可行性和精度。
  • 关键思路
    论文提出的L-Mul算法通过整数加法操作来近似浮点数乘法,能够在保证高精度的同时显著减少计算资源和能耗,可用于张量处理硬件中的元素级浮点数乘法和点积计算,取得了与float8_e4m3相当的精度。
  • 其它亮点
    该算法在多个任务中进行了实验验证,包括自然语言理解、结构推理、数学和常识问答等,结果表明L-Mul算法能够取得与float8_e4m3相当的精度,且将能耗降低了95%和80%。此外,将L-Mul算法应用于注意力机制中,几乎没有信息损失。最后,将L-Mul算法应用于Transformer模型中,取得了与使用float8_e4m3相同的累积精度的等效精度。
  • 相关研究
    在相关研究中,近年来也有一些关于减少神经网络计算量和能耗的研究,如使用低精度浮点数、剪枝等方法。其中,使用低精度浮点数的方法是本论文的主要参考,但与之前的研究相比,L-Mul算法通过整数加法操作来近似浮点数乘法,不仅能够保证高精度,还能够显著减少计算资源和能耗。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论