SLoPe: Double-Pruned Sparse Plus Lazy Low-Rank Adapter Pretraining of LLMs
SLOPE 是一种针对大语言模型的新型预训练方法,它将双重剪枝的 N:M 稀疏权重与仅应用于最后 1% 训练迭代的“懒惰”低秩适配器策略相结合,在保持与稠密模型相当的模型准确度的同时,实现了训练和推理阶段显著的加速(高达 1.54 倍)和显存减少(高达 0.63 倍)。
现代人工智能世界正日益由大语言模型所定义,这些庞大的数字大脑通过在海量文本库上进行训练,来理解并生成人类语言。这些系统功能强大,但也伴随着沉重的代价:它们需要极高的计算能力来进行训练,以及海量的内存来进行运行。为了使这些模型使用起来更快、更便宜,研究人员长期以来一直尝试通过移除其内部结构中看似不重要的部分来简化它们,这一过程被称为“剪枝”(pruning)。想象一座巨大的图书馆,你决定移除所有不常被阅读的书籍;建筑变得更小且更易于导航,但如果你移除的书籍过多或移除了错误的书籍,图书馆就会失去回答问题的能力。在数字领域,这种简化往往会导致准确性的丧失,使模型变得不再那么可靠。此外,虽然移除数据可以节省空间,但在学习的每一步中,计算机仍必须执行检查哪些部分需要保留以及哪些需要丢弃的复杂工作,这往往抵消了速度上的优势。
一组研究人员开发了一种名为 SLOPE 的新方法,旨在解决速度、内存和准确性之间这种持久的权衡问题。他们的方法允许这些庞大的语言模型在显著减少资源消耗的情况下进行训练和使用,且不牺牲其理解语言的能力。其创新的核心在于他们如何处理模型的学习过程。他们并没有试图从一开始就保持模型的简单,而是让模型在几乎整个训练期间都使用标准的、简化的结构进行学习。然后,在训练时间最后的极小部分,他们引入了一个微小的、灵活的增量,帮助模型恢复任何丢失的精度。这个增量不是一个沉重的、全尺寸的组件,而是一个轻量级、高效的层,其作用类似于一种微调工具,允许模型在无需存储或处理大量额外数据的情况下重新获得锐度。
研究人员还解决了一个曾阻碍简化这些模型尝试的特定瓶颈。在标准的计算机操作中,模型必须从两个不同的方向查看其内部数据:一次是为了预测下一个词,另一次是为了纠正其错误。以往的简化方法在第一个方向上表现良好,但在查看第二个方向的数据时,会迫使计算机进行额外的、缓慢的工作。新方法改变了操作顺序,使得简化过程能同时在两个方向上高效运行。这使得计算机能够更快地处理数据,并利用专门为处理这些特定零与非零模式而设计的专用硬件。通过重新排列数据在纠错阶段处理之前的剪枝方式,研究人员确保了模型在以更高速移动处理数据的同时,仍能保持同样有效的学习能力。
当在参数量从数亿到数百亿不等的模型上进行测试时,结果非常显著。新方法将训练过程加速了高达 1.25 倍,并使最终模型在运行时的速度提升了高达 1.54 倍。或许更重要的一点是,在某些情况下,它将运行这些模型所需的计算机内存减少了一半以上。研究人员发现,通过仅在训练的最末尾添加其轻量级、灵活的层,模型可以达到非常接近那些规模大得多的、未经过简化的版本的准确度水平。这种方法避免了一个常见的陷阱,即简化后的模型需要通过一个昂贵的、使用全尺寸数据的最终重训阶段才能重新变得有用。相反,模型在其整个生命周期内都保持高效,从开始学习的那一刻起,直到回答用户问题的时刻。
这项研究表明,只要以特定的策略应用简化,人工智能完全可以兼具效率与高性能。研究人员表明,何时添加额外容量至关重要;在学习过程的最末端引入少量的灵活性,比试图在整个过程中维持这种灵活性能获得更好的结果。这一发现挑战了模型必须要么完全复杂、要么完全简单的假设,转而表明一种混合方法——即模型大部分时间保持简单,但在终点线处获得针对性的提升——能提供两全其美的效果。这项工作为使先进人工智能变得更易获取、更快、且对驱动它的硬件要求更低,提供了一条清晰的前行之路。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。