量化和修剪方法让你的 LLM 更精简

本文介绍了每种技术的实际用途,为什么跳过它们会花费真正的金钱和真正的延迟,然后实践人们目前在生产中运行的五种特定方法。

来源:KDnuggets

团队对模型进行三周的微调,获得他们想要的评估数字,然后尝试实际服务它。仅检查点就有 140GB。这个数字排除了普通公司机架上的几乎所有 GPU,迫使我们重写部署计划,并将本应发布的一周变成了一场没有预算的四台 A100 的争夺战。

这个时刻比应有的情况更常见,而且几乎总是可以避免的。该模型不需要在每个参数都完好无损的情况下以全精度发货。它需要以最精简的版本来交付,但仍能完成这项工作,而实现这一目标的两种技术——量化和修剪——既不陌生也不新鲜。只是那些认为“缩小规模”意味着“让情况变得更糟”的团队没有充分利用它们。

本文将介绍每种技术的实际作用,为什么跳过它们会花费真正的金钱和真正的延迟,然后实践人们现在在生产中运行的五种特定方法,每种方法都有您今天可以适应的工作代码。

量化和剪枝实际上是什么

这两者经常混在一起,在进一步讨论之前有必要将它们彻底分开,因为它们以不同的方式解决不同的问题。

量化会降低构成模型的数字的精度。存储为 16 位浮点数的权重(例如 0.0023847)会被四舍五入并使用更少的位(8 位整数或 4 位整数)重新表示。模型中的参数数量根本没有改变。以前存在的每一个重量仍然存在。它只是占用更少的空间并且计算速度更快,就像以较低位深度保存的高分辨率照片仍然显示帧中的每个对象一样,只是着色精度较低。

两种技术都会缩小模型。他们只是沿着不同的轴缩小它,正如您将在本文后面看到的,它们干净地堆叠在一起,而不是竞争同一个工作。

结论