共用方式為


什麼是 Windows ML?

Windows 機器學習 (ML) 可讓 C#、C++ 和 Python 開發人員透過 ONNX 執行階段在 Windows 電腦上本機執行 ONNX AI 模型,並針對不同的硬體 (CPU、GPU、NPU) 進行自動執行提供者管理。 ONNX Runtime 可與來自 PyTorch、Tensorflow/Keras、TFLite、scikit-learn 和其他框架的模型搭配使用。

一個圖表展示了 ONNX 模型通過 Windows ML,然後達到 NPU、GPU 和 CPU。

如果您還不熟悉 ONNX 執行階段,建議您閱讀 ONNX 執行階段文件。簡而言之,Windows ML 提供 ONNX 執行階段的共用 Windows 範圍複本,以及動態下載執行提供者 (EP) 的能力。

主要優點

  • 動態取得最新的 EP - 自動下載和管理最新的硬體特定執行提供者
  • 共用 ONNX 執行階段 - 使用全系統執行階段,而不是組合您自己的執行階段,從而減少應用程式大小
  • 較小的下載/安裝 - 無需在您的應用程序中攜帶大型 EP 和 ONNX 運行時
  • 廣泛的硬體支援 - 在具有任何硬體設定的 Windows 電腦 (x64 和 ARM64) 和 Windows Server 上執行

系統需求

什麼是執行提供者?

執行提供者 (EP) 是一個元件,可為機器學習 (ML) 操作啟用特定於硬體的最佳化。 執行提供者抽象化不同的運算後端(CPU、GPU、專用加速器),並為圖形分割、核心註冊和運算子執行提供統一的介面。 若要深入瞭解,請參閱 ONNX 執行階段檔

您可以 在這裡查看 Windows ML 支援的 EP 清單

運作方式

Windows ML 包含 ONNX 執行階段 的複本,並可讓您動態下載廠商特定的 執行提供者 (EP),因此可以在 Windows 生態系統中的各種 CPU、GPU 和 NPU 中優化您的模型推斷。

自動部署

  1. 應用程式安裝 - Windows 應用程式 SDK 啟動載入器會初始化 Windows ML
  2. 硬體偵測 - 執行階段會識別可用的處理器
  3. EP 下載 - 自動下載最佳執行提供者
  4. 準備執行 - 您的應用程式可以立即使用 AI 模型

這樣就不需要:

  • 特定硬體廠商的套件組合執行提供者
  • 為不同的執行提供者建立個別的應用程式組建
  • 手動處理執行提供者更新

備註

您仍然負責針對不同的硬體優化模型。 Windows ML 會處理執行提供者散發,而不是模型優化。 如需優化的詳細資訊,請參閱 AI 工具組ONNX 執行階段教學課程

效能最佳化

最新版本的 Windows ML 直接與 GPU 和 NPU 的專用執行提供者配合使用,提供與過去的專用 SDK (例如 TensorRT for RTX、AI Engine Direct 和英特爾的 Extension for PyTorch) 相當的效能。 我們已將 Windows ML 設計為具有同級最佳的 GPU 和 NPU 效能,同時保留先前以 DirectML 為基礎的解決方案所提供的一次寫入、隨處執行的優點。

在 Windows ML 中使用執行提供者

Windows ML 執行階段提供靈活的方法來存取機器學習模型執行提供者(EP),以優化不同硬體配置上的 ML 模型推論。 這些 EP 會以個別套件的形式散發,並可以從作業系統獨立更新。 如需動態下載和註冊 EP 的詳細資訊,請參閱使用 Windows ML 檔初始化執行提供者

將模型轉換為 ONNX

您可以將模型從其他格式轉換成 ONNX,以便與 Windows ML 搭配使用。 請參閱 Visual Studio Code AI 工具組的文件,瞭解如何 將模型轉換成 ONNX 格式 以深入瞭解。 另請參閱 ONNX 執行階段教學課程 ,以取得將 PyTorch、TensorFlow 和 Hugging Face 模型轉換為 ONNX 的詳細資訊。

模型管理

Windows ML 提供靈活的選項來管理 AI 模型:

  • 模型目錄 - 從線上目錄動態下載模型,無需捆綁大型檔案
  • 本機模型 - 將模型檔案直接包含在應用程式套件中

與 Windows AI 生態系統整合

Windows ML 是更廣泛的 Windows AI 平臺的基礎:

  • Windows AI API - 常見工作的內建模型
  • Foundry Local - 即用型 AI 模型
  • 自訂模型 - 進階案例的直接 Windows ML API 存取

提供意見反應

發現問題或有建議嗎? 在 Windows 應用程式 SDK GitHub 上搜尋或建立問題。

後續步驟