丽贝卡·摩恩
2024年8月16日 10:55
NVIDIA 引入结构化修剪和提炼方法来创建高效的语言模型,在保持性能的同时显著减少资源需求。
大型语言模型 (LLM) 因其有效性和多功能性而在自然语言处理和理解中越来越重要。然而,它们的部署需要大量资源。据 NVIDIA 技术博客报道,NVIDIA 研究人员已经证明,将结构化权重修剪与知识提炼相结合可以有效地创建更小、更经济高效的语言模型。
修剪和蒸馏
修剪通过删除层(深度修剪)或神经元、注意力头和嵌入通道(宽度修剪)来减小模型大小。此过程通常会进行重新训练以恢复准确性。模型蒸馏将知识从较大、复杂的模型(教师)转移到较小、较简单的模型(学生),旨在保留原始模型的大部分预测能力,同时提高速度并减少资源消耗。
经典知识提炼 vs. SDG 微调
蒸馏可分为两种主要方式:
- SDG微调: 使用从较大的教师模型生成的合成数据来微调较小的、预训练的学生模型,模拟最终的标记预测。
- 经典知识提炼: 学生在训练数据集上模仿老师的logits和其他中间状态,提供更丰富的反馈,提高训练的准确性和效率。
这些方法是互补的,NVIDIA 的方法专注于经典知识提炼。
修剪和蒸馏程序
NVIDIA 的流程包括:
- 从 15B 模型开始,估计每个组件的重要性,并将其修剪为 8B 模型。
- 使用模型蒸馏进行轻度再训练,以原始模型作为老师,修剪后的模型作为学生。
- 进一步修整和提炼小型 8B 模型为 4B 模型。
这种迭代方法确保一个阶段的输出模型可作为下一个阶段的输入模型,从而优化资源效率。
重要性分析
了解模型中哪些部分至关重要对于修剪至关重要。NVIDIA 提出了一种基于激活的重要性估计策略,与基于梯度的策略相比,该策略具有成本效益且简单易懂。
利用经典知识提炼进行再训练
再训练涉及最小化嵌入输出损失、logit 损失和 transformer 编码器特定损失的组合,确保较小的模型保留原始模型的大部分准确性。
修剪和蒸馏的最佳实践
NVIDIA 的广泛研究确定了几项最佳实践:
- 浆纱: 首先训练最大的模型,然后迭代地修剪和提取。
- 修剪: 对于≤15B的模型,宽度修剪优先于深度修剪。
- 再培训: 仅使用蒸馏损失,必要时结合 logit 和中间态蒸馏。
Llama-3.1-Minitron:应用最佳实践
NVIDIA 将这些做法应用于 Llama 3.1 8B 模型,从而生成了高效的 Llama-3.1-Minitron 4B 模型。该模型的表现优于类似规模的最先进的开源模型,例如 Phi-2 2.7B 和 Gemma2 2.6B。
教师微调
在特定数据集上对未修剪的 8B 模型进行微调可以纠正分布变化,确保在提炼过程中提供最佳指导。
仅深度和仅宽度修剪
对于仅深度修剪,NVIDIA 从 8B 模型中修剪了 16 个层,重点关注对下游任务性能影响最小的层。对于仅宽度修剪,他们减少了 MLP 中间维度和隐藏大小,然后重新训练注意力头数量和层数。
准确度和性能基准
表 1 将 Llama-3.1-Minitron 4B 变体与其他模型的性能进行了比较,结果显示其在准确度和资源效率方面有显著提升。性能基准测试表明,与原始 8B 模型相比,Llama-3.1-Minitron 4B 模型的平均吞吐量提高了约 2.7 倍。
结论
结合修剪和经典知识提炼,提供了一种经济有效的方法来创建更小的 LLM,与从头开始训练相比,具有更高的准确性。NVIDIA 的 Llama-3.1-Minitron 4B 模型体现了这种方法,为高效的语言模型部署提供了强大的解决方案。
图片来源:Shutterstock
(标签翻译)人工智能(t)加密(t)区块链(t)新闻
关键词:AI,crypto,blockchain,news