安装ModelOpt-Windows作为独立工具包

TensorRT 模型优化器 - Windows(ModelOpt-Windows)可以作为一个独立的工具包安装,用于量化大型语言模型(LLMs)。以下是安装步骤:

1. 设置先决条件

在使用ModelOpt-Windows之前,必须安装以下组件:

  • NVIDIA GPU 和图形驱动程序

  • Python 版本 >= 3.10 且 < 3.13

  • Visual Studio 2022 / MSVC / C/C++ 构建工具

根据需要更新PATH环境变量以满足上述先决条件。

2. 设置虚拟环境(可选但推荐)

建议使用虚拟环境来管理Python依赖项。诸如conda或Python内置的venv模块等工具可以帮助创建和激活虚拟环境。以下是使用Python的venv模块的示例步骤:

$ mkdir myEnv
$ python -m venv .\myEnv
$ .\myEnv\Scripts\activate

在新创建的虚拟环境中,不会预装任何所需的包(例如,onnx、onnxruntime、onnxruntime-directml、onnxruntime-gpu、nvidia-modelopt)。

3. 安装ModelOpt-Windows Wheel

要安装ModelOpt-Windows轮子,请运行以下命令:

pip install "nvidia-modelopt[onnx]" --extra-index-url https://pypi.nvidia.com

此命令安装ModelOpt-Windows及其ONNX模块,以及onnxruntime-directml(v1.20.0)包。如果ModelOpt-Windows在没有额外参数的情况下安装,则只会安装最基本的依赖项,而不包括相关模块和依赖项。

4. 设置ONNX Runtime (ORT) 进行校准

ONNX 训练后量化(PTQ)过程涉及使用用户提供的输入运行基础模型,这一过程称为校准。用户提供的模型输入被称为校准数据。为了执行校准,必须使用合适的 ONNX 执行提供程序(EP)运行基础模型,例如 DmlExecutionProvider(DirectML EP)或 CudaExecutionProvider(CUDA EP)。每个 EP 都有不同的 ONNX Runtime 包:

  • onnxruntime-directml 提供了 DirectML EP。

  • onnxruntime-gpu 提供了 CUDA EP。

  • onnxruntime 提供了 CPU EP。

默认情况下,ModelOpt-Windows 安装 onnxruntime-directml 并使用 DirectML EP (v1.20.0) 进行校准。不需要额外的依赖项。 如果您更倾向于使用 CUDA EP 进行校准,请卸载现有的 onnxruntime-directml 包并安装 onnxruntime-gpu 包,这需要 CUDA 和 cuDNN 依赖项:

  • 卸载 onnxruntime-directml:

    pip uninstall onnxruntime-directml
    
  • Install CUDA and cuDNN:
    • 对于ONNX Runtime GPU包,您需要安装适当版本的CUDA和cuDNN。请参考CUDA执行提供者要求以获取兼容的CUDA和cuDNN版本。

  • 安装 ONNX Runtime GPU (CUDA 12.x):

    pip install onnxruntime-gpu
    
    • 自 v1.19.0 起,onnxruntime-gpu 的默认 CUDA 版本为 12.x。

5. 设置用于量化的GPU加速工具

ModelOpt-Windows 在 ONNX 量化过程中使用 cupy 工具进行 GPU 加速。针对 CUDA 11.x 和 CUDA 12.x 有不同的 cupy 包。安装适合您 CUDA 设置的 cupy 版本。有关安装和故障排除,请参阅 cupy 文档。

6. 验证安装

Ensure the following steps are verified:
  • 任务管理器:检查GPU是否出现在任务管理器中,这表明图形驱动程序已安装并正常运行。

  • Python 解释器:打开命令行并输入 python。Python 解释器应该会启动,显示 Python 版本。

  • Onnxruntime Package: Ensure that one of the following is installed:
    • onnxruntime-directml (DirectML EP)

    • onnxruntime-gpu (CUDA EP)

    • onnxruntime (CPU EP)

  • 环境变量: 对于使用CUDA依赖项的工作流程(例如,基于CUDA EP的校准),请确保正确设置环境变量,如CUDA_PATHCUDA_V12_4CUDA_V11_8等。如果更新或新创建了任何环境变量,请重新打开命令提示符。

  • ModelOpt-Windows 导入检查: 运行以下命令以确保安装成功:

    python -c "import modelopt.onnx.quantization"
    
  • 如果在安装过程中遇到任何困难,请参考ModelOpt-Windows常见问题解答以获取可能的解决方案和额外指导。