量化¶
量化以更小的内存占用为代价来换取模型精度,从而允许在更广泛的设备上运行大型模型。
目录
- AutoAWQ
- AutoRound
- BitsAndBytes
- BitBLAS
- GGUF
- GPTQModel
- INC
- INT4 W4A16
- INT8 W8A8
- FP8 W8A8
- NVIDIA 模型优化器
- AMD Quark
- 量化 KV 缓存
- TorchAO
支持的硬件¶
下表显示了 vLLM 中各种量化实现与不同硬件平台的兼容性
| 实现 | Volta | Turing | Ampere | Ada | Hopper | AMD GPU | Intel GPU | Intel Gaudi | x86 CPU |
|---|---|---|---|---|---|---|---|---|---|
| AWQ | ❌ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ❌ | ✅︎ | ❌ | ✅︎ |
| GPTQ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ❌ | ✅︎ | ❌ | ✅︎ |
| Marlin (GPTQ/AWQ/FP8) | ❌ | ❌ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ | ❌ |
| INT8 (W8A8) | ❌ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ | ✅︎ |
| FP8 (W8A8) | ❌ | ❌ | ❌ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ |
| BitBLAS | ✅︎ | ✅ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ | ❌ |
| BitBLAS (GPTQ) | ❌ | ❌ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ | ❌ |
| bitsandbytes | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ | ❌ |
| DeepSpeedFP | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ | ❌ |
| GGUF | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ✅︎ | ❌ | ❌ | ❌ |
| INC (W8A8) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅︎ | ❌ |
- Volta 指的是 SM 7.0,Turing 指的是 SM 7.5,Ampere 指的是 SM 8.0/8.6,Ada 指的是 SM 8.9,Hopper 指的是 SM 9.0。
- ✅︎ 表示在指定的硬件上支持该量化方法。
- ❌ 表示在指定的硬件上不支持该量化方法。
注意
有关 Google TPU 上的量化支持信息,请参阅 TPU-Inference 推荐模型和功能 文档。
注意
随着 vLLM 继续发展并扩展其对不同硬件平台和量化方法的支持,此兼容性图表可能会发生变化。
有关硬件支持和量化方法的最新信息,请参阅 vllm/model_executor/layers/quantization 或咨询 vLLM 开发团队。