跳到内容

压缩方案

PTQ 压缩

执行训练后量化,以降低可量化权重(例如,线性层)的精度到较低的比特宽度。支持的格式有:

方案 描述 是否需要数据? vLLM 硬件兼容性
W8A8-FP8 权重和激活的 8 位浮点 (FP8) 量化,使用 8 位算术运算实现大约 2 倍的权重缩小。使用通道级量化将权重压缩到 8 位,并使用动态每 token 或静态每张量量化将激活压缩到 8 位。也可采用按通道生成或按张量生成的权重尺度。通道级权重量化结合动态每 token 激活是性能最佳的选项。W8A8-FP8 不需要校准数据集。激活量化在 vLLM 推理期间进行。适用于通用性能和压缩,特别是服务器和批量推理。 不需要校准数据集,除非您正在进行静态每张量激活量化。 最新的 NVIDIA GPU(Hopper 及更高版本)和最新的 AMD GPU。推荐用于计算能力 >= 8.9 的 NVIDIA GPU(Hopper、Ada Lovelace、Blackwell)。
W8A8-INT8 权重和激活的 8 位整数 (INT8) 量化,使用 8 位算术运算实现大约 2 倍的权重缩小。使用通道级量化通过 GPTQ 将权重压缩到 8 位,并使用动态每 token 量化将激活压缩到 8 位。对于 INT8,权重量化可以是每张量或每通道的。W8A8-INT8 适用于通用性能和压缩,特别是服务器和批量推理。激活量化在 vLLM 推理期间进行。激活可以是静态或动态的。此外,INT8 激活也可以是非对称的。W8A8-INT8 有助于提高高 QPS 场景或 vLLM 离线服务期间的速度。W8A8-INT8 适用于通用性能和压缩,特别是服务器和批量推理。 需要校准数据集进行权重量化和静态每张量激活量化。 支持所有 NVIDIA GPU、AMD GPU、TPU、CPU 和其他加速器。推荐用于计算能力 < 8.9 的 NVIDIA GPU(Ampere、Turing、Volta、Pascal 或更早版本)。
W4A16 仅将权重量化为 4 位整数 (INT4) 精度,激活保留为 16 位浮点 (FP16) 精度。W4A16 可将权重缩小约 3.7 倍,但需要 16 位算术运算。W4A16 还支持非对称权重量化。W4A16 为内存受限且对延迟敏感的应用提供最大程度的压缩,并在低 QPS 环境下通过更多的权重压缩实现有用的加速。所链接的示例利用了 GPTQ 算法来减少量化损失,但也可以利用 AWQ 等其他算法进行 W4A16 量化。推荐用于任何 GPU 类型。 需要校准数据集。 所有 NVIDIA GPU、AMD GPU、TPU、CPU 和其他加速器
W8A16 将模型权重编码为 8 位整数,激活编码为 16 位整数。W8A16 压缩比 FP32 提供更小的模型输出尺寸,并在具有原生 8 位整数单元的硬件上进行推理时更快。与浮点数相比,功耗和内存带宽更低。 需要校准数据集。 所有 NVIDIA GPU、AMD GPU、TPU、CPU 和其他加速器
NVFP4 NVIDIA Blackwell GPU 架构引入的 4 位浮点编码格式。NVFP4 通过使用高精度尺度编码和两级微块缩放策略,在宽动态范围的张量值之间保持数值精度。NVFP4 压缩为每个张量生成一个全局尺度,以及为每 16 个元素组生成局部量化尺度。为权重和激活生成全局尺度和局部量化尺度。您无法更改组大小。 需要校准数据集。 所有 NVIDIA Blackwell GPU 或更高版本
W8A8-FP8_BLOCK 使用块级量化将权重压缩为 FP8(通常为 128×128 块),并对激活使用动态每 token 组(128)量化。不需要校准数据集。激活量化在 vLLM 推理期间进行。 不需要校准数据集。 最新的 NVIDIA GPU(Hopper 及更高版本)和最新的 AMD GPU。推荐用于计算能力 >= 8.9 的 NVIDIA GPU(Hopper、Ada Lovelace、Blackwell)。

稀疏化压缩

稀疏化通过将选定的权重值剪枝为零来减少模型复杂度,同时保留参数子集中的基本权重。支持的格式包括:

方案 描述 是否需要数据? vLLM 硬件兼容性
2:4 半结构化稀疏性 使用半结构化稀疏性 (SparseGPT),其中,对于张量中的每四个连续权重,两个被设置为零。使用通道级量化将权重压缩到 8 位,并使用动态每 token 量化将激活压缩到 8 位。在性能上优于 W8A8-FP8,且其 评估分数 几乎没有下降。当剩余的非零权重不足以重现原始分布时,小型模型可能会出现准确性下降。 需要校准数据集。 支持所有 NVIDIA GPU、AMD GPU、TPU、CPU 和其他加速器。推荐用于计算能力 >= 9.0(Hopper 和 Blackwell)。
非结构化稀疏性 非结构化稀疏量化在模型中将单个权重置零,而不强制执行规则模式。与块或通道剪枝不同,它移除贡献最小的权重,从而得到一个细粒度的稀疏矩阵。 不需要校准数据集。 所有 NVIDIA GPU、AMD GPU、TPU、CPU 和其他加速器