将模型转换为 ONNX 格式
AI Toolkit 支持 Open Neural Network Exchange (ONNX) 格式,以便在本地运行模型。ONNX 是一种开放标准,用于表示机器学习模型,它定义了一组通用的算子和一个文件格式,使得模型能够在各种硬件平台上运行。
要在 AI Toolkit 中使用来自其他目录(例如 Microsoft Foundry 或 Hugging Face)的模型,您必须首先将它们转换为 ONNX 格式。
本教程将指导您完成将 Hugging Face 模型转换为 ONNX 格式并将其加载到 AI Toolkit 中的过程。
设置环境
要从 Hugging Face 或 Microsoft Foundry 转换模型,您需要 Model Builder 工具。
请按照以下步骤设置您的环境
-
为 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 下载模型
创建目录结构
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 模型。
您可以在 MY MODELS 视图中找到您的模型。要使用模型,请双击其名称或打开 TOOLS > Playground 并从下拉列表中选择模型以开始与之交互。
注意:AI Toolkit 不支持直接删除手动添加的模型。要删除模型,请手动删除其目录。
支持转换的模型
下表列出了 AI Toolkit 中支持转换为 ONNX 格式的模型
| 支持矩阵 | 当前支持 | 开发中 | 在路线图上 |
|---|---|---|---|
| 模型架构 | DeepSeek, Gemma, Llama, Mistral, Phi (语言 + 视觉), Qwen, Nemotron, Granite, AMD OLMo |
Whisper |
Stable Diffusion |