GPU 上的手动模型转换
本文介绍了使用本地Nvidia GPU转换LLM模型的手动工作流程。它描述了所需的环境设置、执行步骤,以及如何在配备高通NPU的Windows Copilot+电脑上运行推理。
LLM模型的转换需要Nvidia显卡。如果你想让模型实验室管理本地GPU,请按照Convert Model中的步骤作。否则,请按照本文中的步骤作。
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 的 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/env/bin在qnn_config.json路径为包含第二个环境的 Python 可执行文件的目录。
运行配置
激活第一个环境并运行工作流程:
olive run --config qnn_config.json
完成该命令后,优化后的模型保存在:./model/model_name.
⚠️ 如果因内存不足导致优化失败,请删除
calibration_providers在配置文件里。
⚠️ 如果在上下文二进制生成过程中优化失败,请重新执行该命令。流程将从上一个完成的步骤开始。
手动运行推理样本
优化后的模型可用于使用 ONNX 运行时 QNN 执行提供者和 ONNX 运行时生成人工智能进行推理。推理必须在配备高通NPU的Windows Copilot+电脑上运行。
在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错误,替换genai_config.json在./model/model_name文件夹。