Copilot+ 電腦開發人員指南
Copilot+ 計算機是一種新型的 Windows 11 硬體,由高效能類神經處理單元 (NPU) 提供動力,這是一種適用於 AI 密集程式的特殊計算機晶片,例如實時翻譯和影像產生,每秒可以執行超過 40 萬億次的作業(TOPS)。 Copilot+ 電腦提供全天的電池使用時間,以及存取最先進的 AI 功能和模型。 深入了解簡介 Copilot+ 計算機 - 官方Microsoft部落格。
下列 Copilot+ 電腦開發人員指引涵蓋:
- 裝置必要條件
- 什麼是 Arm 型 Snapdragon Elite X+ 晶片?
- 具有 NPU 處理器的 Copilot+ 電腦支援的獨特 AI 功能
- 如何在 + 電腦上存取 NPU Copilot
- 如何使用 ONNX 執行時間以程式設計方式存取 + 電腦上的 NPU Copilot
- 如何測量在裝置 NPU 本機執行的 AI 模型效能
必要條件
本指南專屬於 Copilot+ 計算機。
許多新的 Windows AI 功能都需要 NPU,且能夠執行 40 個以上的 TOPS,包括但不限於:
- Microsoft Surface 筆記型電腦 Copilot+ 個人電腦
- Microsoft Surface Pro Copilot + PC
- HP OmniBook X 14
- Dell Latitude 7455、XPS 13 和 Inspiron 14
- Acer Swift 14 AI
- 聯想 Yoga Slim 7x 和 ThinkPad T14s
- Samsung Galaxy Book4 Edge
- ASUS Vivobook S 15 和 ProArt PZ13
- Copilot+ 電腦搭配新的 AMD 和 Intel 晶片,包括 AMD Ryzen AI 300 系列 和 Intel Core Ultra 200V 系列。
什麼是 Arm 型 Snapdragon Elite X 晶片?
由高通打造的新 Snapdragon X Elite Arm 晶片強調 AI 整合,其領先業界的神經處理單元 (NPU) 。 此 NPU 能夠平行處理大量數據,每秒執行數萬億個作業,比 CPU 或 GPU 更有效率地使用 AI 工作的能量,進而產生較長的裝置電池使用時間。 NPU 可與 CPU 和 GPU 一致。 Windows 11 會將處理工作指派給最適當的位置,以提供快速且有效率的效能。 NPU 可透過企業級安全性啟用裝置上的 AI 智慧型手機體驗,以增強晶片到雲端的保護。
- 深入瞭解 高通 Snapdragon X Elite。
- 深入瞭解在Arm上使用和開發 Windows。
具有 NPU 的 Copilot+ 電腦支援的獨特 AI 功能
Copilot+ 計算機提供獨特的 AI 體驗,隨附於新式 Windows 11 版本。 這些 AI 功能,設計為在裝置 NPU 上執行,隨附於最新版的 Windows 中,且可透過 windows Copilot Runtime中的 API 取得。 深入瞭解 Windows 執行階段 Copilot API,這些 API 受優化以能在 NPU 上執行(推論)的模型所支援。 這些 API 將會在即將發行的 Windows App SDK中提供。
如何在 + 電腦上存取 NPU Copilot
類神經處理單元 (NPU) 是新的硬體資源。 如同電腦上的其他硬體資源,NPU 需要特別設計軟體,以利用它所提供的優點。 NPU 是專為執行構成 AI 模型的深度學習數學作業所設計。
上述 Windows 11 Copilot+ AI 功能已特別設計來利用 NPU。 針對以 NPU 為目標的 AI 模型,使用者將會獲得改善的電池使用時間,以及更快的推斷運行時間。 Windows 11 對 NPU 的支援將包含 Arm 型 Qualcomm 裝置,以及 Intel 和 AMD 裝置(即將推出)。
針對具有 NPU 的 裝置,任務管理器 現在可以用來檢視 NPU 資源使用量。
在裝置 NPU 上推斷(執行 AI 工作)的建議方式是使用 ONNX Runtime。 ONNX 運行時間是一個彈性且高效能的堆疊,可針對 NPU 以及 GPU 和 CPU 進行程式設計,可讓您攜帶自己的 AI 模型,或使用網路上找到的 開放原始碼 AI 模型。 深入瞭解如何使用 ONNX Runtime 來存取下列 NPU,或深入瞭解如何在 Windows 應用程式中使用 機器學習 模型。
注意
使用其他適用於 PyTorch 或 Tensorflow 的運行時間呢? Windows 也支援 PyTorch、Tensorflow 和其他晶片廠商提供的 SDK 類型的其他運行時間。 目前您可以藉由轉換成彈性 ONNX 格式來執行 PyTorch、TensorFlow 和其他模型類型,但原生支援即將推出。
如何使用 ONNX 執行時間以程式設計方式存取 + 電腦上的 NPU Copilot
Microsoft提供稱為 ONNX Runtime 的完整 開放原始碼 推斷和定型架構。 ONNX Runtime 是建議 開放原始碼 Microsoft解決方案,以在 NPU 上執行 AI 模型。 由於 ONNX 運行時間具有彈性,而且支援許多不同的選項來執行 AI 模型,因此選擇可能會造成混淆。 本指南將協助您選取 Windows Copilot+ 計算機特有的選擇。
- Qualcomm Snapdragon X:目前,開發人員應以使用 Qualcomm AI Engine Direct SDK (QNN) 的 Qualcomm QNN 執行提供者 (EP) 為目標。 具有 QNN 支援的預先建置套件 可供下載。 這是 Windows Copilot 執行時間目前所使用的相同堆疊,以及 + PC Qualcomm 裝置上的 Copilot體驗。 Qualcomm Snapdragon X Elite NPU 的 DirectML 和 WebNN 支援已在 Build 2024 上宣佈,即將推出。
- Intel 和 AMD NPU 裝置:其他 NPU 裝置將於 2024 年稍後提供。 DirectML 是以這些裝置為目標的建議方法。
支援的模型格式
AI 模型通常會以較大的數據格式定型和可用,例如 FP32。 不過,許多 NPU 裝置只支援低位格式的整數數學,例如 INT8,以提高效能和電源效率。 因此,AI 模型必須經過轉換(或「量化」,才能在 NPU 上執行。 有許多模型已轉換成現成可用的格式。 您也可以 自備模型 (BYOM)來轉換或優化。
- Qualcomm AI Hub (計算):Qualcomm 提供已驗證 Copilot以在具有 Snapdragon X Elite 的電腦上使用的 AI 模型,以及特別針對此 NPU 有效率執行而優化的可用模型。 深入瞭解: 使用 Qualcomm AI Hub 加速模型部署 |Microsoft組建 2024。
- ONNX 模型動物園:此 開放原始碼 存放庫以 ONNX 格式提供預先定型、最先進的模型策劃集合。 這些模型建議用於所有 Copilot+ 計算機的 NPU,包括 Intel 和 AMD 裝置(即將推出)。
對於那些想要攜帶您自己的模型的人來說,我們建議使用硬體感知模型優化工具 Olive。 Olive 可協助模型壓縮、優化和編譯,以使用 ONNX 運行時間作為 NPU 效能優化解決方案。 深入瞭解: AI 更容易:ONNX 運行時間和橄欖工具鏈如何協助您進行問答 |組建 2023。
如何測量在裝置 NPU 本機執行的 AI 模型效能
若要測量應用程式中 AI 功能整合的效能,以及相關聯的 AI 模型運行時間:
記錄追蹤:記錄一段時間的裝置活動稱為系統追蹤。 系統追蹤會產生「追蹤」檔案,可用來產生報表,並協助您識別如何改善應用程式的效能。 深入瞭解: 擷取系統追蹤以分析記憶體使用量。
檢視 NPU 使用方式:檢查哪些進程正在使用 NPU 和提交工作的 callstack。
檢視 CPU 上的工作和呼叫堆疊:檢查工作前饋送 AI 模型和工作後處理 AI 模型的結果。
載入和運行時間:檢查載入 AI 模型並建立 ONNX 執行時間會話的時間長度。
運行時間參數:檢查影響模型運行時間效能和優化的 ONNX 執行時間組態和執行提供者 (EP) 參數。
個別推斷時間:從 NPU 追蹤個別推斷時間和子詳細數據。
分析工具:分析 AI 模型作業,以查看每個操作員花費多少時間來參與總推斷時間。
NPU 特定:檢查 NPU 子詳細數據,例如子 HW 計量、記憶體頻寬等等。
若要執行這些測量,我們建議使用下列診斷和追蹤工具:
- 任務管理員:讓使用者能夠檢視其裝置上安裝的 Windows 作業系統效能,包括進程、效能、應用程式歷程記錄、啟動應用程式、使用者、詳細數據及服務。 將會針對您的裝置 CPU、記憶體、記憶體磁碟、Wi-Fi、GPU 顯示即時效能資料...和 現在 NPU。 數據報括使用率百分比、可用的記憶體、共用記憶體、驅動程式版本、實體位置等等。
- Windows Performance Recorder (WPR):WPR 現在隨附類神經處理配置檔來記錄 NPU 活動。 這會記錄 Microsoft計算驅動程式模型 (MCDM) 與 NPU 的互動。 開發人員現在可以看到 NPU 使用方式、使用 NPU 的進程,以及提交工作的呼叫堆疊。
- Windows 效能分析器 (WPA):WPA 會建立 Windows 事件追蹤 (ETW) 事件圖表和數據表,這些事件是由 Windows Performance Recorder (WPR)、Xperf 或評定平臺中執行的評估。 它提供方便的存取點來分析 CPU、磁碟、網路、ONNX 運行時間事件...和 NPU 分析的新數據表,全都在單一時間軸中。 WPA 現在可以在與工作前饋送 AI 模型和工作後處理 AI 模型結果相關的 CPU 上檢視工作和呼叫堆疊。 從 Microsoft 市集下載 Windows 效能分析器。
- GPUView:GPUView 是一種開發工具,可從事件追蹤記錄檔 (.etl) 檔案讀取記錄的視訊和核心事件,並以圖形方式向使用者呈現數據。 此工具現在同時包含 GPU 和 NPU 作業,以及支持檢視 MCDM 裝置的 DirectX 事件,例如 NPU。
-
Windows 效能分析器 中的 ONNX 運行時間事件:從 ONNXRuntime 1.17 開始(並在 1.18.1 中增強),下列使用案例適用於運行時間中發出的事件:
- 查看載入 AI 模型並建立 ONNX 運行時間工作階段所花費的時間。
- 請參閱影響模型運行時間效能和優化之 ONNX 運行時間組態和執行提供者 (EP) 參數。
- 從 NPU (QNN) 追蹤每個推斷時間和子詳細數據。
- 分析 AI 模型作業,以查看每個運算子花費多少時間來貢獻總推斷時間。
- 深入瞭解 ONNX 執行時間執行提供者 (EP) 分析。
注意
WPR UI(可用來支援 Windows 中包含的命令行 WPR 的使用者介面)、WPA 和 GPUView 都是 Windows Performance Toolkit (WPT), 2024 年 5 月版本+ 的一部分。 若要使用 WPT,您必須: 下載 Windows ADK 工具組。
如需使用 Windows 效能分析器 檢視 ONNX 運行時間事件的快速入門(WPA),請遵循下列步驟:
下載 ort.wprp 和 etw_provider.wprp。
開啟命令列並輸入:
wpr -start ort.wprp -start etw_provider.wprp -start NeuralProcessing -start CPU echo Repro the issue allowing ONNX to run wpr -stop onnx_NPU.etl -compress
將 Windows Performance Recorder (WPR) 配置檔與其他 內建錄製配置檔 結合,例如 CPU、磁碟等。
從 Microsoft 市集下載 Windows 效能分析器 (WPA)。
在
onnx_NPU.etl
WPA 中開啟檔案。 按兩下以開啟這些圖形:- 「神經處理 -> NPU 使用率
- ONNX 事件的泛型事件
要考慮搭配上述Microsoft Windows 工具使用的其他效能測量工具,包括:
- Qualcomm Snapdragon Profiler (qprof):GUI 和全系統的效能分析工具,旨在將系統效能可視化,以及識別 Qualcomm SoC CPU、GPU、DSP 和其他 IP 區塊的優化和應用程式調整改善機會。 Snapdragon Profiler 允許檢視 NPU 子詳細數據,例如子 HW 計量、記憶體頻寬等等。