NVIDIA/Model-Optimizer

A 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.

NVIDIA Model Optimizer (ModelOpt)

是什么 – NVIDIA 开源的 Python 库,整合了一系列前沿的模型优化技术(量化、剪枝、NAS、蒸馏、推测解码、稀疏性),并提供统一的 API,用于对 Hugging Face、PyTorch 或 ONNX 模型进行优化。输出为一个可直接用于 NVIDIA 部署栈(TensorRT‑LLM、TensorRT、vLLM、SGLang 等)进行快速推理的优化检查点。

核心功能

技术 作用 典型收益
训练后量化(PTQ) 模型大小缩小 2–4 倍,降低内存带宽和延迟 几乎无精度损失下的更快推理
量化感知训练/蒸馏(QAT) 微调量化模型以恢复精度 在保持质量的同时支持激进的低精度格式(FP8、NVFP4)
剪枝 移除不重要的权重或整个通道 更小的内存占用和更高的吞吐量
蒸馏 训练一个更小的“学生”模型以模仿更大的“教师”模型 保留教师模型大部分性能的可部署模型
推测解码 训练一个草稿模型以提前预测额外的 token 降低 LLM 的 token 生成延迟
稀疏性 仅存储非零参数及其位置 进一步节省内存和计算

典型工作流

  1. 输入 – 提供 Hugging Face、PyTorch 或 ONNX 格式的模型。
  2. 组合 – 使用 Python API(或提供的示例)串联技术,例如:剪枝 → 蒸馏 → QAT → PTQ。
  3. 导出 – 生成可直接由下游运行时(如 TensorRT‑LLM、vLLM、SGLang 或 NVIDIA 的 Megatron‑Bridge)加载的量化检查点。

安装

# 从 PyPI 安装稳定版(包含所有可选依赖)
pip install -U nvidia-modelopt[all]

用于开发或获取最新功能:

git clone https://github.com/NVIDIA/Model-Optimizer.git
cd Model-Optimizer
pip install -e .[dev]

nvcr.io 上也提供预安装 ModelOpt 的容器镜像。

文档与资源

  • 完整文档:https://nvidia.github.io/Model-Optimizer
  • 每种技术的快速入门教程位于 examples/ 目录下(例如 hf_ptqpruningspeculative_decoding)。
  • 一些主流 LLM/VLM 的预量化检查点托管在 Hugging Face 上(请参阅 README 中的集合链接)。
  • 项目路线图、基准测试和变更日志均在仓库中提供链接。

适合谁使用

  • 在 NVIDIA GPU 上部署大语言或视觉模型,需要进一步提升吞吐量或减少内存占用的工程师。
  • 正在实验低精度格式(FP8、NVFP4)或模型压缩流水线的研究人员。
  • 已使用 NVIDIA 推理栈(TensorRT、TensorRT‑LLM、Megatron‑Bridge)并希望使用单一库准备模型的团队。

许可证 – Apache 2.0(参见 LICENSE)。

引用 – 提供可直接复制的 BibTeX 条目,适用于学术用途。


以上所有信息均直接来自仓库的 README,未添加任何外部假设。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch