论文题目: ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models
论文链接: https://arxiv.org/abs/2310.04564
参数规模超过十亿(1B)的大型语言模型(LLM)已经彻底改变了现阶段人工智能领域的研究风向。越来越多的工业和学术研究者开始研究LLM领域中的难题,例如如何降低LLM在推理过程中的计算需求。
本文介绍一篇苹果发表在人工智能顶会ICLR 2024上的文章,本文针对LLM中激活函数对LLM推理效率的影响展开了研究,目前LLM社区中通常使用GELU和SiLU来作为替代激活函数,它们在某些情况下可以提高LLM的预测准确率。但从节省模型计算量的角度考虑,本文作者认为,经典的ReLU函数对模型收敛和性能的影响可以忽略不计,同时可以显着减少计算和权重IO量。因此作者主张在LLM社区重新评估ReLU的地位(尽可能多的使用ReLU)。
此外,作者还探索了一种基于ReLU的LLM稀疏模式,该模式可以对已激活的神经元进行重新利用来生成出新的高效token。综合这些发现和设计,本文实现了基于ReLU的高效LLM计算方案,相比其他激活函数,将LLM的推理计算量大幅减少三倍。
01. 引言
为了提高LLM的推理效率,研究者们提出了包括量化、推测解码、剪枝和权重稀疏化等多种加速手段。通过引入激活函数的稀疏性可以在LLM的精度和计算量之间实现非常可观的效率平衡,尤其是在GPU等现代硬件上。在传统神经网络中经常使用的ReLU激活函数被认为可以有效诱导模型进行稀疏激活,来提高网络的推理效率。本文作者对OPT模型(激活函数使用ReLU)中每层神经元的激活稀疏度进行了测量,如下图(a)所示,所有层的稀疏度均超过90%,这种稀疏度可以在模型训练时GPU 和 CPU 之间的权重IO节省大量时间。对于 OPT 模型,这种稀疏性将推理所需的计算量从每个token的 6.6G FLOPS 减少到 4.5G FLOPS,从而节省了 32% 的计算量(如下图c所示)