本文研究了对现有的大型语言模型 (LLMs) 进行剪枝,然后使用原始训练数据的一小部分 (<3%) 进行重新训练,是否可以成为重复全面重新训练的合适替代方法,以减少计算量。为此,我们开发了一组实用和有效的 LLM 压缩最佳实践,将深度、宽度、注意力和 MLP 剪枝与基于知识蒸馏的重新训练相结合;我们通过详细的经验探索,为每个轴的剪枝策略、轴的组合方法、蒸馏策略和搜索技术,确定了这些最佳实践,以到达最优的压缩架构。我们使用这个指南将 Nemotron-4 系列的 LLM 压缩了 2-4 倍,并将它们的性能与相似大小的模型在各种语言建模任务上进行了比较。使用我们的方法从已经预训练的 15B 模型中派生 8B 和 4B 模型,每个模型需要的训练令牌比从头开始训练少多达 40 倍;这导致训练整个模型族 (15B、8B 和 4B) 的计算成本节省了 1.8 倍。与从头开始训练相比,Minitron 模型的 MMLU 分数提高了多达 16%,在性能上与其他社区模型(如 Mistral 7B、Gemma 7B 和 Llama-3 8B)相当,并优于文献中的最先进的压缩技术。我们已经在 Huggingface 上开源了 Minitron 模型权重,并提供了相应的补充材料,包括在 GitHub 上可用的示例代码。
提问交流