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