问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

LLM 推理量化评估:FP8、INT8 与 INT4 的全面对比

创作时间:
作者:
@小白创作中心

LLM 推理量化评估:FP8、INT8 与 INT4 的全面对比

引用
CSDN
1.
https://blog.csdn.net/m0_59235699/article/details/144274900

一、背景

本文简要介绍一篇关于 LLM 推理量化评估的文章。虽然文中某些结论可能与许多人的直觉不符,但在真实业务场景中,我们得出的结论却与这些发现非常相似。例如,在面试中与一些候选人讨论 LLM 推理量化时,尽管不少人使用了 H20/H800/4090 等 GPU 用于 LLM 推理,仍普遍坚持使用 INT8 量化,而极少尝试 FP8 推理;此外,也有不少人认为 NVIDIA 的高端 GPU(如 A100 和 H100)主要适用于训练场景,在推理中的成本过高,从而忽视了在推理中使用这些硬件的优势和潜力。

我们的一些实践经验是:针对 LLM 推理场景,FP8 往往比 INT8、AWQ-INT4 这些方案具有更小的损失,比如 FP8 往往在 1% 以内,而 AWQ-INT4 甚至可能达到 2%-3%,尤其是 INT8、AWQ-INT4 在不同的任务上差异会比较大;使用 H100/H800 进行 LLM 推理,往往可以获得比 A30/A100/H20 更低的推理成本;最后,在公司中关注精度指标(算法研究员、业务)与负责性能/成本指标的往往是不同的团队,此时 FP8 可能是个权衡之下不错的选择。

PS:其实有些时候使用模型量化甚至不如直接选择一个同系列小模型,比较典型的例子是 LLaMA-2 7B 和 LLaMA-2 13B。如下图 Table 3 所示,LLaMA-2 13B 量化后的精度可能和 LLaMA-2 7B 差不多,如果量化带不来相应倍数(13B/7B)的加速,反而不如直接使用小模型。

二、论文摘要

尽管 LLM 量化在推理加速方面非常流行,但各种量化格式的准确性-性能之间的权衡仍然存在很大的不确定性。本文中,作者对量化准确度进行了全面的研究,评估了整个 LLaMA-3.1 系列模型在学术基准和现实任务中的常见量化格式(FP8、INT8、INT4)。此外,作者还研究考察了量化模型与未量化模型生成的文本之间的差异。除了基准之外,作者还提出了一些量化改进,使得能够获得最先进的准确度结果。

作者的实验涵盖了 500,000 多次单独评估,并得出了几个关键发现:

  1. FP8 权重和激活量化(W8A8-FP)在所有模型上基本都是无损的。
  2. INT8 权重和激活量化(W8A8-INT)在适当调整后,准确度下降幅度很低,仅为 1%-3%。
  3. INT4 权重量化(W4A16-INT4)与 W8A8-INT 不相上下。

为了解决在给定环境的“最佳”格式问题,作者使用流行的开源 vLLM 框架在各种 GPU 上进行推理分析,发现 W4A16 适合 Latency 敏感场景(Synchronous Inference)以及中端 GPU 上的 Throughout 敏感场景(Asynchronous Inference)。同时,W8A8 很适合高端 GPU 上的 Throughout 敏感场景。

三、实验环境

3.1 评估基准

主要包含 3 类评估:

  • 学术基准:主要是 Open LLM Leaderboard V1 和 Open LLM Leaderboard V2,包括 MMLU、MMLU-Pro、GSM、GPQA、ARC-Challenge 等。
  • 现实世界基准:主要是 Arena-Hard-Auto-v0.1、HumanEval、HumanEval+、LMSYS Chatbot Arena 等。
  • 文本相似性分析:主要是 ROUGE 和 BERTScore 等。其中,ROUGE-1 衡量量化与非量化模型输出之间的 Token 级重叠,而 ROUGE-L 则通过关注最长公共子序列来捕捉结构相似性。BERTScore 评估基于 RoBERTa-large 模型上下文嵌入计算的 Token 级上下文相似度。

3.2 评测模型

当前大部分量化方法都会采用 LLaMA 系列模型来进行量化评估,比如 [2404.14047] An Empirical Study of LLaMA3 Quantization: From LLMs to MLLMs 2 [2] 中专门针对 LLaMA 3 系列模型进行了评估。最新的一些量化方法 [2410.05265] PrefixQuant: Static Quantization Beats Dynamic through Prefixed Outliers in LLMs [3] 和 [2410.12168] COMET: Towards Partical W4A4KV4 LLMs Serving [4] 等也都聚集在 LLaMA 3 系列模型。因此本文中作者也以 LLaMA 3 Instruct 模型作为主要评估模型。

3.3 量化方法

本文主要评估了 3 种量化类型:

  • W8A8-FP:所有线性层的权重和激活都是 FP8 格式。
  • W8A8-INT8:Transformer Block 中所有线性层的权重和激活都使用 INT8 格式。
  • 对于权重:采用对称式 Per Channel 的 GPTQ 量化方法。
  • 对于激活:采用 Per Token 的动态量化技术。
  • W4A16-INT4:Transformer Block 中所有线性层权重被量化为 INT4,而激活值则保持在16 位精度。权重通过 GPTQ 量化进行压缩,应用于每组 128 个连续元素,并采用均方误差(MSE)最优的裁剪因子。

其实对于 W4A16-INT4 量化有很多方案,不过作者这里主要专注于在当前 vLLM 推理框架中已经支持的高效方案。如下图 Table 1 所示,作者对比了常见的 GPTQ 和 AWQ 方案,总体来说,作者观察到:

  • 在学术基准中,两种方法的结果基本持平。AWQ 的优势只有 0.23 和 0.35(100分)。
  • 在现实基准中,GPTQ 始终以 2.9 和 0.8 的较大差异优于 AWQ,因此作者选择 GPTQ 作为权重量化的主要方法。

3.4 机器成本

如下图 Table 9 所示为作者选择评估的 GPU 服务器以及其价格(综合考虑购买成本、运维成本等各方面的因素),其中 8xH100 价格大概为 8xA100 价格的两倍,也符合预期。这也就是说,如果在 H100 上推理性能可以超过 A100 的两倍,那么使用 H100 推理就会更有性价比。

如下图是 Pricing | Lepton AI [5] 上的服务器价格,其 H100 与上述 Lambda Labs 的基本一致,但是其 8xA100 和 1xA6000 的价格却将近是 Lambda Labs 的两倍,甚至 8xA100 比 8xH100 还贵,有点离谱:

四、精度评估

4.1 学术基准&现实世界基准

如下图 Table 2 所示为其在 Open LLM Leaderboard V1 上的评估结果,几种方法都获得了很不错的精度恢复,只有 W4A16-INT 在 8B 模型上损失稍大,这也与我们的经验相符(模型越小、量化 Bit 数越少越容易出现比较大的损失)。

由于很多模型在 HellaSwag、MMLU 和 ARC 等基准上已经达到人类基线,此外部分新模型出现了数据污染现象,导致 Open LLM Leaderboard V1 已经不太好评估各种模型、方案的差异。因此相应作者进一步升级提出了 Open LLM Leaderboard V2(Open-LLM performances are plateauing, let’s make the leaderboard steep again [6])。如下图 Table 3 所示为本文作者在 Open LLM Leaderboard V2 上的评估结果,可以看出,各种评分也确实有了明显下降,而各种量化方案的差异也进一步突出出来。

  • W4A16-INT 在 3 个模型上的精度差距都进一步扩大,尤其是 LLaMA 3 8B 上下降了 4% 左右。
  • 奇怪的是,W8A8-INT 在 70B 和 405B 上的量化损失也达到了 2% 左右,反而在 8B 模型上没有什么损失。

如上图 Table 3 右侧同样包含了现实世界基准的评估,现实基准与学术基准类似。

需要关注的是:W8A8-FP 在所有的评估中都基本上没有损失,而 W8A8-INT 和 W4A16-INT 则在不同的任务上有不同的表现。

4.3 文本相似性评估

如下图 Figure 6 所示,在文本相似性的几个评估中,FP8 也基本都获得了最优的结果,而 INT8 和 INT4 各有优劣。

五、性能评估

5.1 Latency 敏感场景

作者将这种场景称为 Synchronous Deployment,具体来说是指用户对 Latency 很敏感,期望延迟越低越好。Continuous Batching 会增加吞吐,但同时也会导致 Latency 的增加,因此这种场景通常会使用很小的 Batch Size,这里使用的 Batch Size 为 1,也就是同时只有一个用户请求。

如下图 Table 5 所示,作者对比了不同模型规模、GPU 类型以及量化方案及应用场景下同步部署的推理性能。其中黑体为成本最低的方案,可以看出:

  • W4A16-INT 相比 BF16 可以将成本降低 2x-3x,Latency 降低 1.5x-2x。
  • 对于 405B 模型,W4A16-INT 可以大幅降低显存开销,使用更少的 GPU 即可以实现相应的推理,这也有效地降低了通信带来的延迟,最终甚至可以实现 6x-7x 的成本降低。

需要说明的的是:当 Batch Size 很小时,LLM Inference 存在明显的 Memory Bound,W4A16-INT 可以明显降低访存,这也是为什么 W4A16-INT 往往在比较小的 Batch Size 能实现比较明显加速的主要原因。

5.2 Throughput 敏感场景

作者将这种场景称为 Asynchronous Deployment,具体来说是指用户对吞吐很敏感,期望吞吐越高越好。LLM Inference 场景要想实现比较高的吞吐,需要尽可能大的 Batch Size,因此这里同时会有多个用户请求。

如下图 Table 6 所示,作者同样进行了全面的测试,可以看出:

  • 在高端 GPU(A100、H100)上,W8A8 比 W4A16-INT 更具性价比,当然 H100 上使用 FP8 比 INT8 也是更优的选择。
  • 在同样的量化方案下:H100 比 A100 更具性价比(Query/$ 更高),更是明显优于 A6000。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号