🚀 在 VS Code 中

将模型转换为 ONNX 格式

AI Toolkit 支持开放神经网络交换 (ONNX) 格式以在本地运行模型。ONNX 是表示机器学习模型的开放标准,定义了一组通用的运算符和一个文件格式,使模型能够在各种硬件平台上运行。

要在 AI Toolkit 中使用来自其他目录(如 Azure AI Foundry 或 Hugging Face)的模型,您必须首先将其转换为 ONNX 格式。

本教程将指导您完成将 Hugging Face 模型转换为 ONNX 格式并将其加载到 AI Toolkit 的过程。

设置环境

要转换来自 Hugging Face 或 Azure AI Foundry 的模型,您需要 Model Builder 工具。

请按照以下步骤设置您的环境

  1. 确保您的设备上已安装 Anaconda 或 Miniconda。

  2. 为 Model Builder 创建一个专用的 conda 环境,并安装必要的依赖项(onnx、torch、onnxruntime_genai 和 transformers)

    conda create -n model_builder python==3.11 -y
    conda activate model_builder
    pip install onnx torch onnxruntime_genai==0.6.0 transformers
    

    注意:对于某些较新的模型,例如 Phi-4-mini,您可能需要直接从 GitHub 安装 transformers 的最新开发版本

    pip install git+https://github.com/huggingface/transformers
    

访问 Hugging Face 模型

有多种方法可以访问 Hugging Face 模型。在本教程中,我们以 huggingface_hub CLI 为例,演示如何管理模型存储库。

注意:在继续之前,请确保您的 Python 环境已正确设置。

从 Hugging Face 下载模型

  1. 安装 CLI:

    pip install -U "huggingface_hub[cli]"
    
  2. 下载模型存储库.

  3. 下载的存储库中的所有文件将在转换期间使用。

创建目录结构

AI Toolkit 从其工作目录加载 ONNX 模型

  • Windows: %USERPROFILE%\.aitk\models
  • 类 Unix 系统 (macOS): $HOME/.aitk/models

为确保模型正确加载,请在 AI Toolkit 的工作目录中创建所需的四层目录结构。例如

mkdir C:\Users\Administrator\.aitk\models\microsoft\Phi-3.5-vision-instruct-onnx\cpu\phi3.5-cpu-int4-rtn-block-32

在此示例中,四层目录结构为 microsoft\Phi-3.5-vision-instruct-onnx\cpu\phi3.5-cpu-int4-rtn-block-32。

重要提示

四层目录结构的命名非常重要。每个目录层都对应一个特定的系统参数:$publisherName\$modelName\$runtime\$displayName。$displayName 出现在扩展左上角的本地模型树视图中。为不同的模型使用不同的 displayName 值,以避免混淆。

将模型转换为 ONNX 格式

运行以下命令将您的模型转换为 ONNX 格式

python -m onnxruntime_genai.models.builder -m $modelPath -p $precision -e $executionProvider -o $outputModelPath -c $cachePath --extra_options include_prompt_templates=1
提示

常见的精度和执行提供程序组合包括:FP32 CPU、FP32 CUDA、FP16 CUDA、FP16 DML、INT4 CPU、INT4 CUDA 和 INT4 DML。

这是一个将模型转换为 ONNX 格式的完整示例命令

python -m onnxruntime_genai.models.builder -m C:\hfmodel\phi3 -p fp16 -e cpu -o C:\Users\Administrator\.aitk\models\microsoft\Phi-3-mini-4k-instruct\cpu\phi3-cpu-int4-rtn-block-32-acc-level-4 -c C:\temp --extra_options include_prompt_templates=1

有关精度和执行提供程序的更多详细信息,请参阅以下教程

将模型加载到 AI Toolkit

转换后,将您的 ONNX 模型文件移动到新创建的目录中。AI Toolkit 在激活时会自动从此目录加载 ONNX 模型。

您可以在“我的模型”视图中找到您的模型。要使用模型,请双击其名称或打开“工具”>“Playground”,然后从下拉列表中选择模型以开始与其交互。

注意:AI Toolkit 不支持直接删除手动添加的模型。要删除模型,请手动删除其目录。

支持转换的模型

下表列出了 AI Toolkit 中支持转换为 ONNX 格式的模型

支持矩阵 现已支持 开发中 路线图上
模型架构 DeepSeek, Gemma, Llama, Mistral, Phi (Language + Vision), Qwen, Nemotron, Granite, AMD OLMo Whisper Stable Diffusion