详细内容或原文请订阅后点击阅览
LLM 量化的终极手册
深入研究 LLM 量化和技术照片由 Siednji Leon 在 Unsplash 上拍摄 CPU 上的 LLM?是的,你没听错。从处理对话到创建自己的图像,AI 自诞生以来已经取得了长足的进步。但它也带来了瓶颈。随着模型的扩展,它们的计算需求也在增加。AI 开始严重依赖计算能力。为了满足这些需求,我们转向了 GPU,剩下的就是历史了。许多设备没有强大的 GPU,因此错过了 AI 功能。有必要缩小这些模型的大小和功能,以便在计算能力有限的设备(如手机或仅配备 CPU 的计算机)上运行 AI 模型。早期的努力包括修剪和蒸馏等技术。然而,这些方法对于通常具有大规模架构的 LLM 来说并不可行。最近 LLM 的 AI 革命或多或少是基于云服务器进行训练、部署和推理的。然而,主要参与者现在正在将 LLM 功能扩展到边缘设备。微软的 copilot+PC 就是一个很好的例子,值得期待。随着我们走向边缘部署,优化 LLM 大小变得至关重要,同时又不影响性能或质量。实现这种优化的一种有效方法是通过量化。在本文中,我们将深入探讨量化和一些最先进的量化方法。我们还将了解如何使用它们。目录·量化:是什么和为什么 ∘ 线性/缩放
来源:走向数据科学最新的 SOTA 量化方法
它涉及将权重从 FP16 转换为 INT8,从而有效地将 LLM 的大小减半。该方法声称可以有效地将 LLM 的大小减少到 175B 参数,而不会降低性能。
在了解论文 [1] 的细节之前,重要的是要了解 LLM 具有新兴特征 - 从训练数据中产生的模式,对模型的性能至关重要。其中一些特征可能具有很大的幅度,并且可以对模型的整体性能产生很大的影响。
论文 新兴特征涉及的步骤:
- LLM.int8() 方法从矢量量化开始。这意味着每个向量(矩阵中的一行)都使用其自己的归一化常数单独量化。因此,每个特征的相对重要性得以保留。对于每个向量,都会计算一个归一化常数,用于缩放向量,以便它们可以表示为 8 位整数。通过使用归一化常数,LLM 中的大多数特征都被量化。对于出现的异常值(具有异常大幅度的特征),使用混合精度分解方案。这会将这些异常特征隔离到单独的 16 位矩阵乘法中,确保准确处理它们,同时仍允许超过 99.9% 的值以 8 位相乘。
优点LLM 可以量化并立即用于推理而不会降低性能。
优点 缺点代码实现