TorchAO Quantization¶
Overview¶
TorchAO provides quantization tools for PyTorch and supports both pre-quantized checkpoint loading and runtime quantization.
Hardware Support¶
| Device | Support |
|---|---|
| NVIDIA Blackwell GPU (SM 100+) | ⭕ |
| NVIDIA Ada GPU (SM 89) | ✅ |
| NVIDIA Hopper GPU (SM 90) | ⭕ |
| NVIDIA Ampere GPU (SM 80+) | ⭕ |
| AMD ROCm | ⭕ |
| Intel XPU | ⭕ |
| Ascend NPU | ⭕ |
Legend: ✅ supported, ❌ unsupported, ⭕ not verified in this guide.
Model Type Support¶
Diffusion Model (Boogu-Image)¶
| Model | Checkpoint | Scope | Scheme |
|---|---|---|---|
| Boogu-Image Base/Edit | Boogu/Boogu-Image-0.1-Base-fp8, Boogu/Boogu-Image-0.1-Edit-fp8 | Diffusion transformer only | FP8 weight-only (W8A16) |
Configuration¶
Using Boogu-Image as an example:
vllm serve Boogu/Boogu-Image-0.1-Base-fp8 \
--omni \
--port 8091 \
--diffusion-quantization-config \
'{"transformer":{"method":"torchao_float8_weight_only"}}'
The equivalent command using the complete serialized TorchAO configuration is:
vllm serve Boogu/Boogu-Image-0.1-Base-fp8 \
--omni \
--port 8091 \
--diffusion-quantization-config \
'{
"transformer": {
"method": "torchao",
"quant_type": {
"default": {
"_type": "Float8WeightOnlyConfig",
"_version": 2,
"_data": {
"weight_dtype": {
"_type": "torch.dtype",
"_data": "float8_e4m3fn"
},
"set_inductor_config": false
}
}
}
}
}'
Parameters¶
| Parameter | Type | Default | Description |
|---|---|---|---|
method | str | - | Use torchao_float8_weight_only for the serialized FP8 weight-only shorthand, or torchao with a full quant_type configuration. |
quant_type | dict | - | Complete serialized TorchAO configuration used with method: "torchao". |
See TorchAO's vLLM integration guide for the serialized form and workflow configs for available configuration classes and parameters.
Validation and Notes¶
At load time, vLLM-Omni builds a TorchAOConfig from --diffusion-quantization-config. For the Boogu-Image checkpoints documented here, indexed PyTorch .bin shards are loaded through pt_weights_iterator.
When a component map is used, only the components included in the configuration use TorchAO. Other components keep their own checkpoint and runtime settings.
Use either the torchao_float8_weight_only shorthand or the equivalent full quant_type configuration shown above. The checkpoint must already contain weights quantized with TorchAO.