Copilot+ 电脑是一种采用高性能神经网络处理单元 (NPU) 的新型 Windows 11 硬件,NPU 是一种专用的计算机芯片,用于 AI 密集型进程,例如实时翻译和图像生成,每秒可以执行 40 万亿次以上的运算 (TOPS)。 Copilot+ 电脑提供全天电池使用时间和访问最先进的 AI 功能和模型。
了解详细信息:
下面的 Copilot+ 电脑开发人员指南涵盖以下内容:
- 设备先决条件
- 什么是基于 Arm 的 Snapdragon Elite X+ 芯片?
- 搭载 NPU 处理器的 Copilot+ 电脑支持的独特 AI 功能
- 如何充分利用 Copilot+ 电脑上的 NPU 资源
- 如何使用 ONNX 运行时通过编程方式充分利用 +Copilot 电脑上的 NPU 资源
- 如何测量在设备 NPU 上本地运行 AI 模型的性能
先决条件
本指南特定于 Copilot+ 电脑。
许多新的 Windows AI 功能都需要一个 NPU 才能在 40 多个 TOPS 上运行,包括但不限于:
- Microsoft Surface Laptop Copilot+ PC
- 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 系列。
Surface Copilot+ 商用电脑:
- Surface Laptop for Business with Intel Core Ultra processors (Series 2) ( 从 2025 年 2 月 18 日起推出)
- Surface Pro for Business 与 Intel Core 超级处理器(系列 2)( 从 2025 年 2 月 18 日起推出)
- 介绍新的 Surface Copilot+ 商用电脑
什么是基于 Arm 的 Snapdragon Elite X 芯片?
由高通构建的基于 Arm 的 Snapdragon Elite X 芯片,提供行业领先的神经网络处理单元 (NPU),重点用于 AI 集成。 这款 NPU 能够并行处理大量数据,每秒执行数万亿次运算,运行 AI 任务的能源使用效率高于 CPU 或 GPU,从而延长设备电池使用时间。 NPU 与 CPU 和 GPU 配合使用。 Windows 11 将处理任务分配到最合适的位置,目的是提供快速高效的运算。 NPU 实现了设备上的 AI 智能体验,提供企业级安全性,以增强从芯片到云的保护。
- 详细了解 高通 Snapdragon X Elite。
- 详细了解如何在 Arm 上使用和开发 Windows。
搭载 NPU 的 Copilot+ 电脑支持的独特 AI 功能
Copilot+ 电脑提供了新版本 Windows 11 带来的独特 AI 体验。 这些 AI 功能旨在在设备 NPU 上运行,随附在最新版本的 Windows 中,并通过 Windows 上的 Microsoft Foundry 中的 API 提供。 详细了解 Windows API 上的 Microsoft Foundry,这些 API 由经过优化以在 NPU 上进行推理的模型支持。 这些 API 将在即将发布的 Windows 应用 SDK 版本中提供。
如何充分利用 Copilot+ 电脑上的 NPU 资源
神经处理单元(NPU)是一种新的硬件资源。 与电脑上的其他硬件资源一样,NPU 需要对软件进行专门编程,才能充分利用它提供的优势。 NPU 专为执行构成 AI 模型的深度学习数学运算而设计。
上面提到的 Windows 11 Copilot+ AI 功能经过专门设计,可以充分利用 NPU 资源。 对于面向 NPU 的 AI 模型,用户可以延长电池使用时间,加快推理执行速度。 Windows 11 可以支持各种 NPU,包括基于 Arm 的 Qualcomm 器件,以及 Intel 和 AMD 器件(即将推出)。
对于具有 NPU 的设备, 任务管理器 现在可用于查看 NPU 资源使用情况。
在设备 NPU 上推理(运行 AI 任务)的建议方法是使用 Windows ML。
如何以编程方式访问Copilot + 电脑上的 NPU,以实现 AI 加速
推荐的以编程方式访问用于 AI 加速的 NPU(神经处理单元)和 GPU 的方法,已经从 DirectML 转变为 Windows ML(WinML)。 这种转换反映了简化和优化 Windows 设备上的 AI 工作负载开发人员体验的更广泛努力。 可在此处找到更新的指南: 了解 Windows 机器学习(ML)如何帮助 Windows 应用在本地运行 AI 模型。
内置 EP 发现:以前,开发人员需要知道哪些执行提供程序(EP)与其硬件兼容,并将这些 EP 与其应用程序捆绑在一起。 这通常导致更大的应用程序大小,并增加了管理依赖项的复杂性。 借助 Windows ML,该过程现已自动化并简化。 Windows ML 会自动检测设备上的可用硬件,并根据需要下载相应的 EP。 这意味着开发人员不再需要将特定 EP 与其应用程序捆绑在一起,从而减小应用程序大小并降低复杂性。
集成 EP 交付:所需的 EP(如 Qualcomm 的 QNNExecutionProvider 或 Intel 的 OpenVINO EP)现在与 Windows 捆绑在一起,或通过 Windows 更新交付,无需手动下载。
ORT 在幕后运作:Windows ML 仍然使用 ONNX 运行时作为其推理引擎,但简化了对 EP(执行提供程序)管理复杂性的处理。 ONNX 运行时 是一种开源推理和培训引擎,适用于使用 ONNX 格式的 AI 模型,使开发人员能够构建可在各种设备中高效运行的 AI 应用程序。
与硬件供应商协作:Microsoft直接与硬件供应商(如 Qualcomm 和 Intel)合作,以确保与早期驱动程序版本和新硅(例如 Snapdragon X Elite、Intel Core Ultra 等)的 EP 兼容性。
在 Copilot+ 电脑上使用 Windows ML 部署 AI 模型时:
- Windows ML 查询系统以获取可用的硬件加速器。
- 它选择性能最高的 EP(例如 Qualcomm NPU 的 QNN、Intel NPU 的 OpenVINO)。
- 自动加载 EP,推理开始。
- 如果首选 EP 发生故障或不可用,Windows ML 会自动切换到其他选择(例如,使用 GPU 或 CPU)。
这意味着开发人员可以专注于构建 AI 体验,而无需担心低级硬件集成
支持的模型格式
AI 模型通常采用较大的数据格式(例如 FP32)进行训练和提供。 但是,许多 NPU 器件仅支持较低位格式(例如 INT8)的整数数学运算,旨在提高性能和电源效率。 因此,AI 模型需要进行转换(或“量化”)才能在 NPU 上运行。 有很多模型已转换为现成可用的格式。 还可以自带模型 (BYOM) 进行转换或优化。
- Qualcomm AI Hub (计算):高通提供了已验证用于具有 Snapdragon X Elite 的电脑的 CopilotAI 模型,这些模型经过专门优化,可在此 NPU 上高效运行。 了解详细信息:使用 Qualcomm AI 中心加速模型部署 | Microsoft Build 2024。
- ONNX Model Zoo:此开源存储库以 ONNX 格式提供预先训练的最先进的模型精心策划的集合。 我们建议在所有 Copilot+ 电脑上的 NPU 上运行这些模型,包括 Intel 和 AMD 器件(即将推出)。
对于想要自带模型的用户,我们建议使用硬件感知模型优化工具 Olive。 Olive 有助于进行模型压缩、优化和编译,与 ONNX 运行时配合使用,作为 NPU 性能优化解决方案。 了解详细信息:AI 变得更轻松:ONNX 运行时和 Olive 工具链如何帮助你问答 | 版本 2023。
如何测量在设备 NPU 上本地运行 AI 模型的性能
若要测量应用和相关 AI 模型运行时中的 AI 功能集成的性能,请执行以下操作:
记录跟踪:记录一段时间内的设备活动称为系统跟踪。 系统跟踪会生成一个“跟踪”文件,可用于生成报吿,帮助你确定提高应用性能的方法。 了解详细信息: 捕获系统跟踪以分析内存使用情况。
查看 NPU 使用情况:检查哪些进程正在使用 NPU 和提交工作的调用堆栈。
查看 CPU 上的工作和调用堆栈:检查工作前馈送 AI 模型和工作后处理 AI 模型的结果。
加载和运行时:检查加载 AI 模型的时长并创建 ONNX 运行时会话。
运行时参数:检查影响模型运行时性能和优化的 ONNX 运行时配置和执行提供程序 (EP) 参数。
单个推理时间:跟踪 NPU 中的每次推理时间和详细信息。
探查器:分析 AI 模型操作,查看每个运算符对总推理时间的贡献。
NPU 特定:检查 NPU 的子细节,例如子硬件指标、内存带宽等。
若要执行这些测量,建议使用以下诊断和跟踪工具:
- 任务管理器:允许用户查看其设备上安装的 Windows作系统的性能,包括进程、性能、应用历史记录、启动应用、用户、详细信息和服务。 它会显示设备 CPU、内存、存储磁盘、Wi-Fi、GPU 和 NPU 的实时性能数据。 这些数据包括利用率百分比、可用内存、共享内存、驱动程序版本、物理位置等。
- Windows 性能记录器(WPR):WPR 现在附带一个神经处理配置文件来记录 NPU 活动。 此记录 Microsoft计算驱动程序模型(MCDM) 与 NPU 的交互。 开发人员可以查看 NPU 使用情况,哪些进程正在使用 NPU,以及提交工作的调用堆栈。
- Windows 性能分析器(WPA):WPA 创建 Windows 事件跟踪(ETW)事件图和数据表,这些事件由 Windows 性能记录器(WPR)、Xperf 或评估平台中运行的评估记录。 它提供了方便的接入点来分析 CPU、磁盘、网络、ONNX 运行时事件...和 NPU 分析的新表,全部在单个时间线中。 WPA 现在可以查看与工作前馈送 AI 模型和工作后处理 AI 模型结果相关的 CPU 上的工作和调用堆栈。 从 Microsoft 应用商店下载 Windows Performance Analyzer。
- GPUView:GPUView 是一种开发工具,它从事件跟踪日志(.etl)文件中读取记录的视频和内核事件,并将数据以图形方式呈现给用户。 此工具现在包括 GPU 和 NPU 操作,并且支持查看用于 MCDM 设备的 DirectX 事件,例如 NPU。
-
Windows Performance Analyzer 中的 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 Performance Analyzer (WPA) 查看 ONNX 运行时事件,请执行以下步骤:
下载 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 性能记录器(WPR) 配置文件与其他内置录制配置文件 (例如 CPU、磁盘等)组合在一起。
在 WPA 中打开
onnx_NPU.etl文件。 双击打开以下图形:- “神经网络处理 -> NPU 利用率
- ONNX 事件的一般事件
要考虑与以上所列 Microsoft Windows 工具一同使用的其他性能测量工具,包括:
- Qualcomm Snapdragon Profiler (qprof):一种 GUI 和系统范围的性能分析工具,旨在可视化系统性能,以及识别高通 SoC CPU、GPU、DSP 和其他 IP 块中的优化和应用程序缩放改进机会。 使用 Snapdragon Profiler,用户可以查看 NPU 子级详细信息,例如子级硬件指标、内存带宽等。