压缩方案
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 和其他加速器 |