模型量化
Model Quantization
通过低精度表示压缩模型权重,降低显存占用和计算开销
子问题
1.量化方案选择与精度权衡
2.量化kernel优化
3.混合精度策略
4.量化感知训练集成
5.在线运行时量化的JIT物化与流式权重加载
6.MoE层专用量化的block对齐与TP分片约束
7.第三方量化方案的插件式注册与平台白名单同步
各项目的解法1 solutions
Signals
横向对比
| 维度 | vLLM |
|---|---|
| 量化注册方式 | Literal类型 + 懒加载字典 + @register装饰器扩展 |
| 方案覆盖度 | 22种内置方案(FP8/GPTQ/AWQ/BnB/GGUF/CompressedTensors等) |
| 层感知分发 | isinstance检查Linear/MoE/Attention三类层,返回专用Method |
| 在线量化 | Fp8OnlineLinearMethod通过meta device + patched_weight_loader实现JIT量化 |
| 平台适配 | Platform.supported_quantization白名单 + get_min_capability GPU能力校验 |
| 混合精度 | GPTQ dynamic字段支持正则匹配层级覆盖不同bits/group_size |
| kernel选择 | 运行时根据硬件能力选择Marlin/CUTLASS/DeepGEMM/Triton kernel |
最佳实践
1.FP8适合高端GPU,GPTQ/AWQ适合通用场景
2.使用Marlin kernel加速量化推理
3.用懒加载注册表避免import时触发torch.compile
4.三阶段协议(create_weights/process_after_load/apply)解耦权重生命周期
5.AWQ根据token数量动态切换反量化matmul与专用gemm kernel