
FP8、NVFP4还是INT8怎么选Model Optimizer量化格式完整选择指南【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址: https://gitcode.com/GitHub_Trending/te/Model-Optimizer使用Model OptimizerModelOpt对大模型做量化压缩时FP8、NVFP4、INT8 三种量化格式该如何选这篇指南用一张决策流程带你快速搞清楚先看显卡、再看部署场景、最后看精度容忍度三步就能定下最适合的量化格式把模型压缩 2-4 倍的同时守住精度底线。 先说结论有 Hopper 及以上显卡优先 FP8Blackwell 显卡追求极致压缩上 NVFP4老显卡Ampere 及更早或要兼容更多部署框架用 INT8。上图Model Optimizer 的 AutoQuantize 自动混精策略在 Qwen3.5 上把有效 bit 压到约 5-6 位MMLU 分数仍逼近 BF16 参考线——说明单一格式往往不是最优解。三种量化格式一张表看懂维度FP8NVFP4INT8 (SmoothQuant)位宽8-bit权重激活W8A84-bit权重激活W4A4block-16 分块8-bit权重按通道、激活按张量压缩比约 50%2倍约 25%4倍约 50%2倍精度损失⭐ 极低⭐⭐⭐ 相对最大需搭配校准⭐⭐ 中等硬件要求Ada / Hopper 及以上Blackwell 及以上Ampere 及更早也可用校准时间几分钟几分钟至几十分钟几分钟典型部署TensorRT / TensorRT-LLM / vLLMTensorRT / TensorRT-LLM最广泛老卡通用三个格式的核心源码都位于 modelopt/torch/quantization/内置的数值格式定义见 modelopt_recipes/configs/numerics/ 下的fp8与nvfp4配置片段。第一步先看你的显卡这是最硬性的约束决定能不能用Ada / HopperRTX 40 系、L40、H100 等FP8、INT8、W4A8 全都能打BlackwellB100、B200、RTX 50 系全都能打且NVFP4 只有在这里才真正发挥低精度 Tensor Core 的算力优势⚠️Ampere 及更早A100、RTX 30 系没有 FP8/NVFP4 内核老老实实用INT8SmoothQuant或 INT4 权重量化AWQ完整支持矩阵见 docs/source/guides/0_support_matrix.rst。第二步再看部署场景并发高低同样是 FP8不同场景收益差异很大低并发单卡推理、边缘侧batch ≤ 4推理是内存带宽瓶颈缩小权重体积就是加速。此时NVFP4 / INT4 这类更狠的压缩收益最大高并发数据中心在线服务batch ≥ 16计算密度同样重要推荐权重激活都量化的 W8A8FP8或 W4A4NVFP4让低精度 GEMM 真正吃到 Tensor Core 红利第三步看精度容忍度按推荐顺序试官方最佳实践给出了清晰的降级顺序见 docs/source/guides/_choosing_quant_methods.rst先上 FP8—— 动态范围宽精度损失通常几乎可忽略是性价比之王FP8 不满足吞吐要求 → 试NVFP4但别一上来就全模型 W4A4老显卡 →INT8 SmoothQuant或 INT4 AWQ NVFP4 的官方建议是从最保守的作用域开始MoE 模型先用nvfp4_experts_only只量化专家层稠密模型先用nvfp4_mlp_only只量化 MLP确认精度 OK 再逐步扩大到全模型。不止选一个混合精度才是进阶玩法实战中FP8 NVFP4 混着用往往比单格式更优。Model Optimizer 内置了 29 个通用 PTQ 配方全部在 modelopt_recipes/general/ptq/ 下例如fp8_default-kv_fp8_cast全模型 FP8 W8A8 FP8 KV 缓存nvfp4_experts_only-kv_fp8_cast专家层 NVFP4 W4A4 FP8 KV 缓存MoE 模型首选int4_blockwise_weight_onlyINT4 权重量化零风险保底选项完整的配方目录与选择建议见 modelopt_recipes/ptq.md每个配方就是一份声明式 YAML改配置不改代码。上图W4A4 NVFP4 直接 PTQ 会在部分基准掉点虚线起点用 QAD量化感知蒸馏训练 500 步后MMLU-Pro 等 6 个基准的精度几乎全部追回。量化后掉精度两条后手换校准算法默认max校准不行时试试mse变体或 GPTQ配方里已内置如nvfp4_mlp_only_mse-kv_fp8_cast上 QAD量化感知蒸馏在低精度格式下继续边训边量化Model Optimizer 提供了从 PTQ 到 QAD 的完整工作流参考 examples/megatron_bridge/tutorials/Qwen3.6-35B-A3B/ 教程上手只要三步以最常用的 examples/hf_ptq/hf_ptq.py 为例选定配方后一条命令完成量化 导出python examples/hf_ptq/hf_ptq.py \ --model Qwen/Qwen3-8B \ --recipe general/ptq/fp8_default-kv_fp8_cast \ --export_path build/fp8导出的统一 Hugging Face 检查点可直接部署到 TensorRT-LLM、vLLM 或 SGLang。更细节的 API 用法见 PTQ 示例文档和量化指南。不止 LLM扩散模型 FP8 量化几乎无感Model Optimizer 同样支持 Stable Diffusion 等扩散模型的量化。下面的图就是用FP8 量化后的 SDXL直接生成的——对比 FP16 原模型画质肉眼难辨差异而显存和生成速度却实实在在优化了。示例代码在 examples/diffusers/quantization/。快速决策清单✅30 秒自查显卡是 Blackwell→ 追求极致选NVFP4从experts_only/mlp_only作用域起步显卡是 Ada/Hopper→ 默认FP8最稳老显卡 / 兼容性优先→INT8 SmoothQuant只要省显存、不在乎延迟→ 权重量化*_weight_only配方精度掉得多了→ 先换mse校准再考虑 QAD你的情况推荐配方通用默认FP8general/ptq/fp8_default-kv_fp8_castMoE 模型激进压缩general/ptq/nvfp4_experts_only-kv_fp8_cast稠密模型激进压缩general/ptq/nvfp4_mlp_only-kv_fp8_cast老显卡保底general/ptq/int4_blockwise_weight_only一句话总结FP8 求稳、NVFP4 求快、INT8 求兼容拿不准就从 FP8 开始用内置配方小步试错。【免费下载链接】Model-OptimizerA unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.项目地址: https://gitcode.com/GitHub_Trending/te/Model-Optimizer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考