Efficient Expert Pruning for Sparse Mixture-of-Experts Language Models: Enhancing Performance and Reducing Inference Costs
作者: Enshu Liu, Junyi Zhu, Zinan Lin, Xuefei Ning, Matthew B. Blaschko, Shengen Yan, Guohao Dai, Huazhong Yang, Yu Wang
分类: cs.LG
发布日期: 2024-07-01
🔗 代码/项目: GITHUB
💡 一句话要点
提出EEP高效专家剪枝策略,提升稀疏MoE语言模型性能并降低推理成本。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 专家剪枝 稀疏混合专家模型 无梯度优化 进化策略 模型压缩 大型语言模型 推理加速
📋 核心要点
- 大型SMoE模型参数量巨大,部署时面临GPU内存和推理速度的挑战,现有剪枝方法依赖梯度计算,成本高昂。
- EEP是一种无梯度进化策略,通过模型推理直接评估专家重要性,实现高效剪枝,降低模型规模。
- 实验表明,EEP能在大幅减少专家数量的同时,保持甚至提升下游任务性能,例如SQuAD数据集准确率显著提升。
📝 摘要(中文)
大型语言模型(LLM)的快速发展导致了具有数十亿到数万亿参数的架构,由于其对内存、处理能力和能源消耗的巨大需求,带来了重大的部署挑战。稀疏混合专家(SMoE)架构作为一种解决方案应运而生,它每个token仅激活参数的一个子集,从而在保持性能的同时实现更快的推理。然而,由于其庞大的参数数量和显著的GPU内存需求,SMoE模型在更广泛的部署中仍然面临限制。在这项工作中,我们引入了一种名为EEP(高效专家剪枝)的无梯度进化策略,以增强SMoE模型中专家的剪枝。EEP仅依赖于模型推理(即,没有梯度计算),并在保持甚至提高下游任务性能的同时实现更高的稀疏性。EEP可用于减少专家总数(从而节省GPU内存)和激活专家数量(从而加速推理)。例如,我们证明了在Mixtral 8x7B-Instruct中剪枝高达75%的专家可以在参数大幅减少的情况下,性能损失最小。值得注意的是,我们观察到某些任务的性能有所提高,例如在剪枝一半专家时,SQuAD数据集的准确性显着提高(从53.4%提高到75.4%)。凭借这些结果,EEP不仅降低了部署SMoE模型的门槛,而且还挑战了模型剪枝的传统理解,表明更少的专家可以在没有任何微调的情况下带来更好的特定任务性能。
🔬 方法详解
问题定义:论文旨在解决稀疏混合专家模型(SMoE)部署时面临的挑战,包括模型参数量大、GPU内存需求高以及推理速度慢的问题。现有剪枝方法通常依赖梯度信息,计算成本高,且可能对模型性能产生不利影响。
核心思路:论文的核心思路是提出一种无梯度进化策略(EEP),通过直接评估模型推理结果来判断专家的重要性,从而实现高效的专家剪枝。这种方法避免了梯度计算,降低了计算成本,并且能够更好地保留对特定任务有益的专家。
技术框架:EEP算法主要包含以下几个步骤:1. 初始化:随机选择一组专家子集作为初始种群。2. 评估:使用验证集评估每个专家子集的性能。3. 选择:根据性能指标选择表现最好的专家子集。4. 变异:对选定的专家子集进行变异操作,例如随机添加或删除专家,生成新的专家子集。5. 重复:重复步骤2-4,直到达到预定的迭代次数或性能收敛。
关键创新:EEP的关键创新在于其无梯度的进化策略。与传统的基于梯度的剪枝方法不同,EEP直接基于模型推理结果来评估专家的重要性,避免了梯度计算带来的高昂成本。此外,EEP的进化策略能够探索更广泛的专家组合空间,从而找到更优的剪枝方案。
关键设计:EEP的关键设计包括:1. 专家子集的表示方式:使用二进制向量表示专家子集,其中每个元素表示对应专家是否被选择。2. 性能评估指标:可以使用各种下游任务的性能指标,例如准确率、F1值等。3. 变异操作:可以采用多种变异操作,例如随机添加、删除或交换专家。4. 进化算法参数:需要设置合适的种群大小、迭代次数、变异概率等参数。
🖼️ 关键图片
📊 实验亮点
实验结果表明,EEP算法能够在Mixtral 8x7B-Instruct模型中剪枝高达75%的专家,同时保持甚至提升下游任务性能。例如,在SQuAD数据集上,剪枝一半专家后,准确率从53.4%提升至75.4%。该结果表明,EEP算法能够有效降低模型规模,并提升特定任务的性能。
🎯 应用场景
EEP算法可应用于各种基于SMoE架构的大型语言模型,降低模型部署成本,加速推理速度,尤其适用于资源受限的场景,如移动设备、边缘计算等。此外,该方法还可用于模型压缩和知识蒸馏,提升模型效率。
📄 摘要(原文)
The rapid advancement of large language models (LLMs) has led to architectures with billions to trillions of parameters, posing significant deployment challenges due to their substantial demands on memory, processing power, and energy consumption. Sparse Mixture-of-Experts (SMoE) architectures have emerged as a solution, activating only a subset of parameters per token, thereby achieving faster inference while maintaining performance. However, SMoE models still face limitations in broader deployment due to their large parameter counts and significant GPU memory requirements. In this work, we introduce a gradient-free evolutionary strategy named EEP (Efficient Expert P}runing) to enhance the pruning of experts in SMoE models. EEP relies solely on model inference (i.e., no gradient computation) and achieves greater sparsity while maintaining or even improving performance on downstream tasks. EEP can be used to reduce both the total number of experts (thus saving GPU memory) and the number of active experts (thus accelerating inference). For example, we demonstrate that pruning up to 75% of experts in Mixtral $8\times7$B-Instruct results in a substantial reduction in parameters with minimal performance loss. Remarkably, we observe improved performance on certain tasks, such as a significant increase in accuracy on the SQuAD dataset (from 53.4% to 75.4%), when pruning half of the experts. With these results, EEP not only lowers the barrier to deploying SMoE models,but also challenges the conventional understanding of model pruning by showing that fewer experts can lead to better task-specific performance without any fine-tuning. Code is available at https://github.com/imagination-research/EEP.