学習と推論サービングの両方を対象に、量子化、スパース化、float8学習を提供するPyTorchネイティブのライブラリ。
microsoft/Olive
モデルのファインチューニング、変換、量子化を組み合わせ、CPU、GPU、NPU向けに最適化されたONNXモデルを生成するPythonツールキット。
- スター
- 2,409
- フォーク
- 326
- 未解決の Issue
- 87
- 最終コミット
- 21 時間前
これは何?
Oliveは、ONNX Runtimeを基盤とするAIモデル最適化ツールキットです。モデルとターゲットのハードウェアプラットフォームを指定すると、量子化やグラフ最適化などの手法を組み合わせ、精度やレイテンシなどの制約を守りながら、クラウドやエッジデバイスでの推論に適した効率的なONNXモデルの生成を目指します。
`olive optimize`コマンドラインエントリーポイントを使うと、Hugging Faceのモデル名と、たとえばint4のようなターゲット精度を指定して、モデルのダウンロード、GPTQによる量子化、重みを含むONNXグラフのエクスポート、グラフの最適化までを一連のパイプラインとして実行できます。Llama、Phi、Qwen、Gemmaなどの主要なアーキテクチャは標準でサポートされており、入出力を記述すれば、ほかのアーキテクチャにも対応できます。
Oliveで生成したモデルは、Python、C/C++、C#、Java、JavaScript向けのバインディングを備えるONNX Runtimeでの実行を想定しています。最近のリリースでは、NPUのサポートや量子化アルゴリズムの追加が紹介されています。
主な機能
- 01単一の`olive optimize`コマンドで実行できる自動最適化パイプライン。
- 02GPTQを使い、int4などの低精度に量子化。
- 03Hugging Faceモデルを、重みを別ファイルにしたONNXグラフとしてエクスポート。
- 04ONNX Runtimeを通じてCPU、GPU、NPUを対象に最適化。
- 05最適化に加えて、ファインチューニングや変換のステップにも対応。
ユースケース
- 小規模な言語モデルをint4のONNX形式に変換し、デバイス上で推論する。
- Hugging FaceのLLMを、Windowsやエッジハードウェア上でONNX Runtimeを使ってデプロイできるよう準備する。
- 量子化の設定を試し、モデルサイズ、精度、レイテンシのバランスを調整する。
クイックスタート
- 1
pipでOliveをインストールする
pip install olive-ai - 2
transformersとonnxruntime-genaiをインストールする
pip install transformers onnxruntime-genai - 3
Qwen2.5-0.5B-Instructをint4に自動最適化する
olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
使う前に知っておきたいこと
- Python環境と、Hugging Faceからのモデルのダウンロードが必要です。
- 一部の最適化機能には、オプションのextrasと追加の依存関係が必要です。
トピック
よくある質問
- Olive とは?
- モデルのファインチューニング、変換、量子化を組み合わせ、CPU、GPU、NPU向けに最適化されたONNXモデルを生成するPythonツールキット。 Oliveは、ONNX Runtimeを基盤とするAIモデル最適化ツールキットです。モデルとターゲットのハードウェアプラットフォームを指定すると、量子化やグラフ最適化などの手法を組み合わせ、精度やレイテンシなどの制約を守りながら、クラウドやエッジデバイスでの推論に適した効率的なONNXモデルの生成を目指します。
- Olive は無料で使えますか?ライセンスは?
- Olive は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- Olive は今もメンテナンスされていますか?
- 活発にメンテナンス中。Olive の最終コミットは 2026年11月7日 です。
- Olive は何に使えますか?
- 小規模な言語モデルをint4のONNX形式に変換し、デバイス上で推論する。 Hugging FaceのLLMを、Windowsやエッジハードウェア上でONNX Runtimeを使ってデプロイできるよう準備する。 量子化の設定を試し、モデルサイズ、精度、レイテンシのバランスを調整する。
- Olive のインストール方法は?
- pipでOliveをインストールする: pip install olive-ai transformersとonnxruntime-genaiをインストールする: pip install transformers onnxruntime-genai Qwen2.5-0.5B-Instructをint4に自動最適化する: olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
- Olive はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/microsoft/Olive
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
NVIDIA GPU上で高性能なディープラーニング推論を実行するSDK、TensorRTのオープンソースコンポーネント。プラグイン、ONNXパーサー、サンプルを含みます。
精度を保ちながら演算子数を減らしてONNXモデルを最適化し、推論の高速化を目指すPythonツールキット。
Diffusersを基盤に、キャッシュ、並列化、量子化、CPUオフロードを追加するDiffusion Transformer(DiT)向けPyTorch推論エンジン。
量子化、プルーニング、スパース化でニューラルネットワークを圧縮し、OpenVINO、PyTorch、ONNXでの推論を高速化するPythonフレームワーク。
ONNX Runtime上で生成AIモデルを実行し、LLMの生成処理全体を担う、Python、C#、Javaバインディング付きのC/C++ライブラリ。