本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

在 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等软件包。

首次环境设置

Python 3.10 的64位Python环境中安装了Olive后,安装所需的包:

# 安装常见依赖
pip install -r requirements.txt

# 安装 ONNX 运行时 GPU 包
pip install "onnxruntime-gpu>=1.21.0" "onnxruntime-genai-cuda>=0.6.0"

# AutoGPTQ:从源安装(稳定包的权重打包可能较慢)
# 禁用CUDA扩展构建(不需要)
# Linux
导出 BUILD_CUDA_EXT=0
# Windows
# 设置 BUILD_CUDA_EXT=0

# 从源安装 AutoGPTQ
pip install --no建库隔离 git+https://github.com/PanQiWei/AutoGPTQ.git

# 如果需要请更新 CUDA 版本
pip 安装 torch --index-url https://download.pytorch.org/whl/cu121

⚠️ 仅设置环境并安装软件包。不要运行橄榄跑在此刻下达命令。

第二次环境设置

Python 3.10 的64位Python环境中安装了Olive后,安装所需的包:

# 安装 ONNX 运行时 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/环境/binqnn_config.json 与包含 第二个环境的目录路径。

运行配置

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

橄榄 运行 --配置 qnn_config.json

完成此命令后,优化后的模型保存在:./model/模型名称输入:.

⚠️ 如果由于内存不足导致优化失败,请移除校准供应商在配置文件中。

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

手动运行推理样本

优化后的模型可以使用 ONNX Runtime QNN 执行提供者ONNX Runtime GenAI 来进行推理。推理必须在 配备高通 NPU 的 Windows Copilot+ 电脑上运行。

在 arm64 Python 环境中安装所需包

使用 QNN 执行提供程序编译模型需要一个安装了 onnxruntime-qnn 的 Python 环境。在另一个安装了 Olive 的 Python 环境中,安装所需的包:




运行接口示例

执行提供的inference_sample.ipynb 笔记本。选择此 arm64 Python 环境。

⚠️ 如果你得到一个6033错误,替换genai_config.json./model/模型名称文件夹。