VS Codeのエージェントモードを拡張するには、を試してください!

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ノートブックを実行します。このarm64 Python 環境にipykernelを選択してください。

⚠️ 6033エラーが発生した場合は、./model/model_nameフォルダー内のgenai_config.jsonを置き換えてください。