现已发布!阅读关于 11 月新增功能和修复的内容。

GPU 手动模型转换

本文档介绍使用本地 NVIDIA GPU 转换 LLM 模型的手动工作流程。它描述了所需的环境设置、执行步骤以及如何在配备 Qualcomm NPU 的 Windows Copilot+ PC 上运行推理。

LLM 模型转换需要 NVIDIA GPU。如果您希望 Model Lab 管理您的本地 GPU,请按照 转换模型 中的步骤进行操作。否则,请按照本文档中的步骤进行操作。

手动运行模型转换 (GPU)

此工作流程使用 qnn_config.json 文件进行配置,并需要两个独立的 Python 环境。

  • 第一个环境用于具有 GPU 加速的模型转换,并包含 onnxruntime-gpu 和 AutoGPTQ 等软件包。
  • 第二个环境用于 QNN 优化,并包含 onnxruntime-qnn 以及特定依赖项的软件包。

第一个环境设置

在安装了 Olive 的 Python 3.10 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 命令。

第二个环境设置

在安装了 Olive 的 Python 3.10 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 替换为包含第二个环境的 Python 可执行文件的目录路径。

运行配置

激活第一个环境并运行工作流程

olive run --config qnn_config.json

完成此命令后,优化后的模型将保存在:./model/model_name

⚠️ 如果因内存不足而导致优化失败,请从配置文件中删除 calibration_providers

⚠️ 如果在生成上下文二进制文件期间优化失败,请重新运行命令。该过程将从上一个已完成的步骤继续。

手动运行推理示例

优化后的模型可使用 ONNX Runtime QNN 执行提供程序ONNX Runtime GenAI 进行推理。推理必须在配备 Qualcomm NPU 的 Windows Copilot+ PC 上运行。

在 arm64 Python 环境中安装所需的软件包

使用 QNN 执行提供程序的模型编译需要一个安装了 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

© . This site is unofficial and not affiliated with Microsoft.