学会高效:在大型语言模型中构建结构化稀疏性
这篇论文研究了大语言模型在资源受限设备上推断计算中的挑战与改进方法,通过重新引入 ReLU 激活函数并探索其稀疏模式,作者提出了一种实用的策略,可以显著减少推断计算量,达到三倍的性能提升。
Oct, 2023
利用激活稀疏性是大型语言模型(LLM)推理过程中显著加速的一种有希望的方法,但是激活稀疏性由激活函数决定,而常用的 SwiGLU 和 GeGLU 等函数显示出有限的稀疏性,仅用 ReLU 替换这些函数无法实现足够的稀疏性,此外,不充分的训练数据还会进一步增加性能下降的风险。为了解决这些挑战,我们提出了一种新颖的 dReLU 函数,旨在改善 LLM 的激活稀疏性,以及高质量的训练数据混合比例以促进有效稀疏化。此外,我们利用 Mixture-of-Experts(MoE)模型中 Feed-Forward Network(FFN)专家内的稀疏激活模式进一步提高效率。通过将我们的神经元稀疏化方法应用于 Mistral 和 Mixtral 模型,每次推理迭代只激活 25 亿和 43 亿个参数,同时实现更强大的模型性能。评估结果表明,这种稀疏性实现了 2-5 倍的解码加速。值得注意的是,在手机上,我们的 TurboSparse-Mixtral-47B 每秒实现 11 个标记的推理速度。我们的模型可在 https://huggingface.co/PowerInfer 获得。
Jun, 2024
我们在小型语言模型(SLMs)中实现了稀疏激活,并通过新的归因测量指标以达到精确的稀疏激活,实验证明我们的方法可以在只损失 < 5% 的模型准确性的情况下实现 80% 的稀疏化比率,可与大型语言模型(LLMs)中实现的稀疏激活相媲美。
Jun, 2024
本文介绍了一种名为 “ProSparse” 的有效稀疏化方法,通过将大型语言模型中的激活函数替换为 ReLU,并采用沿正弦曲线逐渐增加的因子的渐进稀疏正则化,实现了更高的激活稀疏性而不降低模型性能,从而提供了实际的推理加速。
Feb, 2024
使用稀疏性加速预训练大型语言模型 (LLMs) 的训练过程,通过观察前向迭代中被激活的神经元的稀疏性,排除不活跃的神经元以提高计算速度,这一方法在实践中实现了与标准训练相媲美甚至更好的性能,持续预训练中吞吐量提升了 45%,在监督微调中节省了 38% 的训练时间,提供了一个简单、硬件无关且易于部署的额外 LLM 训练框架。
Jun, 2024
传统修剪方法在大型语言模型中的使用具有挑战性,因为训练过程代价高且计算需求大。我们首次引入隐藏状态特征的信息熵作为修剪度量设计,即 E-Sparse,以提高大型语言模型的 N:M 稀疏性准确性,并通过引入信息熵和几种创新技术来快速优化信息分布和应对 N:M 稀疏性对准确性的影响。E-Sparse 通过 FasterTransformer 实现为 Sparse-GEMM,并在 NVIDIA Ampere GPU 上运行。对 LLaMA 系列和 OPT 模型进行的广泛实验表明,E-Sparse 可以显著加速模型推理(高达 1.53 倍),并实现显著的内存节省(高达 43.52%),在可接受的准确性损失范围内。
Oct, 2023
本论文提出了一种名为 BESA 的新颖大型语言模型修剪技术,通过施加分块重构损失来减少整体修剪误差并以可微分方式分配层特定的稀疏性,从而确保修剪后的模型性能降低程度减少,实验结果表明 BESA 在仅五小时内能够高效地修剪带有 70B 参数的 LLMs,达到了最先进的性能水平。
Feb, 2024
通过基于 Hessian 灵敏度感知的混合稀疏剪枝方法,我们提出了一种剪枝 LLMs 的方法,以至少达到 50% 的稀疏度,而不需要任何重新训练,该方法适应性地分配稀疏度,减少了剪枝引起的错误,同时保持了整体稀疏度水平,并且在稀疏度极高时表现出更显著的优势,此外,我们的方法与量化兼容,从而进一步压缩 LLMs。
Oct, 2023