將模型轉換為 ONNX 格式
AI 工具包支援 開放神經網路交換 (ONNX) 格式,用於本地執行模型。ONNX 是一個用於表示機器學習模型的開放標準,它定義了一組通用的運算子和一個檔案格式,使模型能夠在各種硬體平臺上執行。
要在 AI 工具包中使用來自其他目錄(例如 Azure AI Foundry 或 Hugging Face)的模型,您必須首先將它們轉換為 ONNX 格式。
本教程將指導您如何將 Hugging Face 模型轉換為 ONNX 格式並將其載入到 AI 工具包中。
設定環境
要轉換 Hugging Face 或 Azure AI 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 工具包從其工作目錄載入 ONNX 模型:
- Windows:
%USERPROFILE%\.aitk\models
- 類 Unix 系統 (macOS):
$HOME/.aitk/models
為確保您的模型正確載入,請在 AI 工具包的工作目錄中建立所需的四層目錄結構。例如:
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 工具包中
轉換後,將您的 ONNX 模型檔案移動到新建立的目錄中。AI 工具包在啟用時會自動從該目錄載入 ONNX 模型。
您可以在 我的模型
檢視中找到您的模型。要使用模型,請雙擊其名稱,或開啟 工具
> Playground
並從下拉列表中選擇模型以開始與其互動。
注意:AI 工具包不支援直接刪除手動新增的模型。要刪除模型,請手動刪除其目錄。
支援轉換的模型
下表列出了 AI 工具包中支援轉換為 ONNX 格式的模型:
支援矩陣 | 目前支援 | 開發中 | 在路線圖上 |
---|---|---|---|
模型架構 | DeepSeek 、Gemma 、Llama 、Mistral 、Phi (語言 + 視覺) 、Qwen 、Nemotron 、Granite 、AMD OLMo |
Whisper |
Stable Diffusion |