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、蒸留、予測デコード、スパース性)を統合し、Hugging Face、PyTorch、ONNXモデルに適用できる一貫したAPIを提供します。出力は、NVIDIAのデプロイスタック(TensorRT‑LLM、TensorRT、vLLM、SGLangなど)で高速推論可能な最適化されたチェックポイントです。
主な機能
| 技術 | 機能 | 一般的な利点 |
|---|---|---|
| トレーニング後量子化(PTQ) | モデルサイズを2〜4倍に削減、メモリ帯域幅とレイテンシを低減 | 誤差損失が小さいながら高速推論 |
| 量子化対応トレーニング/蒸留(QAT) | 量子化されたモデルを微調整して精度を回復 | FP8、NVFP4などの極めて低精度フォーマットを活用しながら品質を維持 |
| プルーニング | 不要な重みや完全なチャネルを削除 | より小さなメモリ使用量と高いスループット |
| 蒸留 | 大きな「教師」モデルを模倣する小さな「生徒」モデルを訓練 | 教師モデルの大部分の性能を維持したデプロイ可能なモデル |
| 予測デコード | 事前に追加トークンを予測するドラフトモデルを訓練 | LLMのトークン生成レイテンシを低減 |
| スパース性 | 非ゼロパラメータとその位置のみを保存 | より大きなメモリ/計算の節約 |
一般的なワークフロー
- 入力 – Hugging Face、PyTorch、またはONNX形式のモデルを提供。
- 組み合わせ – Python API(または提供された例)を使用して技術を連結(例:プルーニング → 蒸留 → QAT → PTQ)。
- エクスポート – 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]
ModelOptが事前にインストールされたコンテナイメージも nvcr.io で利用可能です。
ドキュメントとリソース
- 完全なドキュメント: https://nvidia.github.io/Model-Optimizer
- 各技術のクイックスタートチュートリアルは
examples/内にあります(例:hf_ptq,pruning,speculative_decoding)。 - 人気のあるLLM/VLMの事前量子化チェックポイントはHugging Faceにホストされています(README内のコレクションリンクを参照)。
- ロードマップ、ベンチマーク、変更履歴はリポジトリからリンクされています。
誰が使うべきか
- NVIDIA GPU上で大規模言語・視覚モデルをデプロイするエンジニアで、スループットをさらに向上させたり、メモリ使用量を削減したい人。
- 低精度フォーマット(FP8、NVFP4)やモデル圧縮パイプラインを実験している研究者。
- すでにNVIDIAの推論スタック(TensorRT、TensorRT‑LLM、Megatron‑Bridge)を使用しているチームで、モデル準備用の単一ライブラリを求める人。
ライセンス – Apache 2.0(LICENSE を参照)。
引用 – 学術利用向けにコピー可能なBibTeXエントリが提供されています。
上記のすべての情報はリポジトリのREADMEから直接取得しており、外部の仮定は一切加えていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch