將模型轉換為 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 工具。

請遵循以下步驟來設定您的環境

  1. 確保您的裝置已安裝 AnacondaMiniconda

  2. 為 Model Builder 建立一個專用的 conda 環境,並安裝必要的依賴項 (onnxtorchonnxruntime_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-like 系統 (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
提示

常見的精度與執行提供者 (Execution Provider) 組合包括:FP32 CPUFP32 CUDAFP16 CUDAFP16 DMLINT4 CPUINT4 CUDAINT4 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 格式的模型

支援矩陣 現已支援 開發中 規劃中
模型架構 DeepSeekGemmaLlamaMistralPhi (語言 + 視覺)QwenNemotronGraniteAMD OLMo Whisper Stable Diffusion
© . This site is unofficial and not affiliated with Microsoft.