模型量化技术#

📖 概述#

LightX2V 支持对 DIT、T5 和 CLIP 模型进行量化推理,通过降低模型精度来减少显存占用并提升推理速度。


🔧 量化模式#

量化模式

权重量化

激活量化

计算内核

适用硬件

fp8-vllm

FP8 通道对称

FP8 通道动态对称

VLLM

H100/H200/H800, RTX 40系等

int8-vllm

INT8 通道对称

INT8 通道动态对称

VLLM

A100/A800, RTX 30/40系等

fp8-sgl

FP8 通道对称

FP8 通道动态对称

SGL

H100/H200/H800, RTX 40系等

int8-sgl

INT8 通道对称

INT8 通道动态对称

SGL

A100/A800, RTX 30/40系等

fp8-q8f

FP8 通道对称

FP8 通道动态对称

Q8-Kernels

RTX 40系, L40S等

int8-q8f

INT8 通道对称

INT8 通道动态对称

Q8-Kernels

RTX 40系, L40S等

int8-torchao

INT8 通道对称

INT8 通道动态对称

TorchAO

A100/A800, RTX 30/40系等

int4-g128-marlin

INT4 分组对称

FP16

Marlin

H200/H800/A100/A800, RTX 30/40系等

fp8-b128-deepgemm

FP8 分块对称

FP8 分组对称

DeepGemm

H100/H200/H800, RTX 40系等


🔧 量化模型获取#

方式一:下载预量化模型#

从 LightX2V 模型仓库下载预量化的模型:

DIT 模型

Wan2.1-Distill-Models 下载预量化的 DIT 模型:

# 下载 DIT FP8 量化模型
huggingface-cli download lightx2v/Wan2.1-Distill-Models \
    --local-dir ./models \
    --include "wan2.1_i2v_720p_scaled_fp8_e4m3_lightx2v_4step.safetensors"

Encoder 模型

Encoders-LightX2V 下载预量化的 T5 和 CLIP 模型:

# 下载 T5 FP8 量化模型
huggingface-cli download lightx2v/Encoders-Lightx2v \
    --local-dir ./models \
    --include "models_t5_umt5-xxl-enc-fp8.pth"

# 下载 CLIP FP8 量化模型
huggingface-cli download lightx2v/Encoders-Lightx2v \
    --local-dir ./models \
    --include "models_clip_open-clip-xlm-roberta-large-vit-huge-14-fp8.pth"

方式二:自行量化模型#

详细量化工具使用方法请参考:模型转换文档


🚀 量化模型使用#

DIT 模型量化#

支持的量化模式#

DIT 量化模式(dit_quant_scheme)支持:fp8-vllmint8-vllmfp8-sglint8-sglfp8-q8fint8-q8fint8-torchaoint4-g128-marlinfp8-b128-deepgemm

配置示例#

{
    "dit_quantized": true,
    "dit_quant_scheme": "fp8-sgl",
    "dit_quantized_ckpt": "/path/to/dit_quantized_model"  // 可选
}

💡 提示:当运行脚本的 model_path 中只有一个 DIT 模型时,dit_quantized_ckpt 可以不用单独指定。

T5 模型量化#

支持的量化模式#

T5 量化模式(t5_quant_scheme)支持:int8-vllmfp8-sglint8-q8ffp8-q8fint8-torchao

配置示例#

{
    "t5_quantized": true,
    "t5_quant_scheme": "fp8-sgl",
    "t5_quantized_ckpt": "/path/to/t5_quantized_model"  // 可选
}

💡 提示:当运行脚本指定的 model_path 中存在 T5 量化模型(如 models_t5_umt5-xxl-enc-fp8.pthmodels_t5_umt5-xxl-enc-int8.pth)时,t5_quantized_ckpt 可以不用单独指定。

CLIP 模型量化#

支持的量化模式#

CLIP 量化模式(clip_quant_scheme)支持:int8-vllmfp8-sglint8-q8ffp8-q8fint8-torchao

配置示例#

{
    "clip_quantized": true,
    "clip_quant_scheme": "fp8-sgl",
    "clip_quantized_ckpt": "/path/to/clip_quantized_model"  // 可选
}

💡 提示:当运行脚本指定的 model_path 中存在 CLIP 量化模型(如 models_clip_open-clip-xlm-roberta-large-vit-huge-14-fp8.pthmodels_clip_open-clip-xlm-roberta-large-vit-huge-14-int8.pth)时,clip_quantized_ckpt 可以不用单独指定。

性能优化策略#

如果显存不够,可以结合参数卸载来进一步减少显存占用,参考参数卸载文档


📚 相关资源#

配置文件示例#

运行脚本#

工具文档#

模型仓库#


通过本文档,您应该能够:

✅ 理解 LightX2V 支持的量化方案 ✅ 根据硬件选择合适的量化策略 ✅ 正确配置量化参数 ✅ 获取和使用量化模型 ✅ 优化推理性能和显存使用

如有其他问题,欢迎在 GitHub Issues 中提问。