GPU 上での手動モデル変換
この記事では、ローカルの Nvidia GPU を使用して LLM モデルを変換する手動ワークフローについて説明します。必要な環境設定、実行手順、および Qualcomm NPU を搭載した Windows Copilot+ PC で推論を実行する方法について説明します。
LLM モデルの変換には Nvidia GPU が必要です。モデルラボでローカル GPU を管理する場合は、「モデルの変換」の手順に従ってください。そうでない場合は、この記事の手順に従ってください。
GPU でモデル変換を手動で実行
このワークフローは、qnn_config.json
ファイルを使用して構成され、2 つの異なる Python 環境が必要です。
- 最初の環境は GPU アクセラレーションによるモデル変換に使用され、onnxruntime-gpu や AutoGPTQ などのパッケージが含まれます。
- 2 番目の環境は QNN 最適化に使用され、特定の依存関係を持つ onnxruntime-qnn などのパッケージが含まれます。
最初の環境設定
Python 3.10 Olive がインストールされた x64 Python 環境で、必要なパッケージをインストールします。
# Install common dependencies
pip install -r requirements.txt
# Install ONNX Runtime GPU packages
pip install "onnxruntime-gpu>=1.21.0" "onnxruntime-genai-cuda>=0.6.0"
# AutoGPTQ: Install from source (stable package may be slow for weight packing)
# Disable CUDA extension build (not required)
# Linux
export BUILD_CUDA_EXT=0
# Windows
# set BUILD_CUDA_EXT=0
# Install AutoGPTQ from source
pip install --no-build-isolation git+https://github.com/PanQiWei/AutoGPTQ.git
# Please update CUDA version if needed
pip install torch --index-url https://download.pytorch.org/whl/cu121
⚠️ 環境をセットアップしてパッケージをインストールするだけです。この時点で
olive run
コマンドを実行しないでください。
2 番目の環境設定
Python 3.10 Olive がインストールされた x64 Python 環境で、必要なパッケージをインストールします。
# Install ONNX Runtime QNN
pip install -r https://raw.githubusercontent.com/microsoft/onnxruntime/refs/heads/main/requirements.txt
pip install -U --pre --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple onnxruntime-qnn --no-deps
qnn_config.json
の /path/to/qnn/env/bin
を、2 番目の環境の Python 実行可能ファイルを含むディレクトリのパスに置き換えます。
設定を実行
最初の環境をアクティブにしてワークフローを実行します。
olive run --config qnn_config.json
このコマンドが完了すると、最適化されたモデルは ./model/model_name
に保存されます。
⚠️ メモリ不足により最適化が失敗した場合は、設定ファイルの
calibration_providers
を削除してください。
⚠️ コンテキストバイナリ生成中に最適化が失敗した場合は、コマンドを再実行してください。プロセスは最後に完了したステップから再開されます。
手動実行推論サンプル
最適化されたモデルは、ONNX Runtime QNN Execution Provider と ONNX Runtime GenAI を使用して推論を実行できます。推論は、Qualcomm NPU を搭載した Windows Copilot+ PC で実行する必要があります。
arm64 Python 環境に必要なパッケージをインストールする
QNN Execution Provider を使用したモデルのコンパイルには、onnxruntime-qnn がインストールされた Python 環境が必要です。Olive がインストールされた別の Python 環境で、必要なパッケージをインストールします。
pip install -r https://raw.githubusercontent.com/microsoft/onnxruntime/refs/heads/main/requirements.txt
pip install -U --pre --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple onnxruntime-qnn --no-deps
pip install "onnxruntime-genai>=0.7.0rc2"
インターフェースサンプルを実行
提供されている inference_sample.ipynb
ノートブックを実行します。ipykernel をこの arm64 Python 環境に選択します。
⚠️
6033
エラーが発生した場合は、./model/model_name
フォルダー内のgenai_config.json
を置き換えてください。