通过


有关在 Windows 应用中使用 AI 的常见问题

常规

如何将 AI 集成到Windows客户端应用中?

可以通过两个主要方法(本地模型或基于云的模型)将 AI 集成到Windows应用程序。 对于本地模型选项,你可以利用预先存在的模型或使用 TensorFlow 或 PyTorch 等平台训练自己的模型,然后通过 OnnxRuntime 将其合并到应用程序中。 Microsoft foundry on Windows 为各种功能(包括 OCR 或利用 Phi 硅模型)提供 API。 另一方面,将您的模型托管在云端并通过REST API访问它,可以通过将资源密集型任务委托给云来使您的应用程序保持简洁。 有关详细信息,请参阅 在 Windows 应用中使用机器学习模型

是否需要最新版本的 Windows 11 和具有 NPU 的Copilot+ PC才能使用 AI 功能?

有多种方法可以运行 AI 工作负载,可以在 Windows 设备上本地安装并运行模型,或者运行基于云的模型(请参阅Get started with AI on Windows),然而,Windows AI API 支持的 AI 功能当前需要配备 NPU 的Copilot+ PC

哪些编程语言最适合在 Windows 客户端应用中开发 AI?

您可以使用任何您喜欢的编程语言。 例如,C# 通常用于创建Windows客户端应用。 如果您需要对低级细节有更多控制,C++ 是一个很好的选择。 或者,可以考虑使用 Python。 还可以使用 适用于 Linux 的 Windows 子系统 (WSL) 在 Windows 上运行基于 Linux 的 AI 工具。

Windows客户端应用的最佳 AI 框架是什么?

建议使用 OnnxRuntime

如何在Windows客户端应用中使用 AI 时处理数据隐私和安全性?

在开发人工智能驱动的应用程序时,尊重用户数据的隐私和安全性是至关重要的。 您应该遵循数据处理的最佳实践,例如加密敏感数据、使用安全连接,以及在收集数据之前获得用户的同意。 您还应该对如何使用数据保持透明,并让用户掌控他们的数据。 请确保阅读 在 Windows 上开发负责任的生成式 AI 应用程序和功能

在Windows客户端应用中运行 AI 的系统要求是什么?

使用 AI 的Windows应用的系统要求取决于 AI 模型的复杂性和使用的硬件加速。 对于简单模型,现代 CPU 可能足够,但对于更复杂的模型,可能需要 GPU 或 NPU。 你还应该考虑应用程序的内存和存储需求,以及基于云的人工智能服务所需的网络带宽。

如何在Windows客户端应用中优化 AI 性能?

若要优化Windows应用中的 AI 性能,应考虑使用硬件加速(如 GPU 或 NPU)来加速模型推理。 Windows Copilot+ 笔记本电脑针对 AI 工作负载进行优化,可为 AI 任务提供显著的性能提升。 另请参阅 Foundry Toolkit for Visual Studio Code 概述

是否可以在Windows客户端应用中使用预先训练的 AI 模型?

可以,可以在Windows应用中使用预先训练的 AI 模型。 你可以从互联网下载预训练的模型,或使用基于云的 AI 服务来访问预训练的模型。 你可以使用像 OnnxRuntime 这样的框架将这些模型集成到你的应用程序中。

什么是 DirectML?

DirectML 是用于机器学习的底层 API,可针对范围广泛的受支持硬件和驱动程序(包括 AMD、Intel、NVIDIA 和 Qualcomm 等供应商所有支持 DirectX 12 的 GPU),为常见的机器学习任务提供 GPU 加速。

什么是 ONNX?

开放神经网络交换 (ONNX) 是用于表示 ML 模型的开放标准格式。 PyTorch、TensorFlow、SciKit-Learn、Keras、Chainer 和 MATLAB 等流行的 ML 模型框架都可以导出或转换为标准的 ONNX 格式。 模型采用 ONNX 格式后,就可在各种平台和设备上运行它。 如果要以一种不同于训练格式的格式使用 ML 模型,ONNX 是很好的选择。

什么是 ORT?

OnnxRuntime(ORT)是一个统一的运行时工具,用于执行不同框架(如PyTorch、TensorFlow等)中的模型,支持硬件加速器(设备CPU、GPU或NPU)。

ONNX 与 PyTorch 或 TensorFlow 等其他 ML 框架有何不同?

PyTorch 和 TensorFlow 用于开发、训练和运行在 AI 应用程序中使用的深度学习模型。 PyTorch 通常用于研究,TensorFlow 通常用于行业部署,ONNX 是一种标准化 的模型交换格式 ,可弥补差距,使你可以根据需要在框架之间切换,并跨平台兼容。

什么是 NPU? 它与 CPU 或 GPU 有什么不同?

神经网络处理单元 (NPU) 是专门为执行 AI 任务而设计的专用 AI 芯片。 NPU 的关注点与 CPU 或 GPU 不同。 中心处理单元 (CPU) 是计算机中的主要处理器,负责执行指令和常规用途的计算。 图形处理单元 (GPU) 是专门用于渲染图形的处理器,并对并行处理进行了优化。 它能够为视频编辑和游戏任务渲染复杂的图像。

NPU 专为加速深度学习算法而设计,可以分担计算机 CPU 或 GPU 的部分工作,从而提高设备的工作效率。 NPU 专门用于加速神经网络任务。 它们擅长并行处理大量数据,是图像识别或自然语言处理等常见 AI 任务的理想选择。 例如,在图像识别任务中,NPU 可以负责对象检测或图像加速,而 GPU 则负责图像渲染。

如何了解我的设备具有哪种类型的 CPU、GPU 或 NPU?

若要检查Windows设备上的 CPU、GPU 或 NPU 的类型及其性能,请打开任务管理器(Ctrl + Shift + Esc),然后选择性能选项卡,并查看计算机的 CPU、内存、Wi-Fi、GPU 和/或 NPU,以及有关其速度的信息, 利用率和其他数据。

什么是 Windows ML?

Windows ML(机器学习)使您的应用能够使用 ONNX 运行时的共享系统范围副本,并新增对动态下载特定供应商的执行提供程序(EP)的支持,从而在 Windows 生态系统中的各种 CPU、GPU 和 NPU 上优化模型推理,而无需您的应用自身携带大量运行时或 EP。

有用的 AI 概念

什么是大型语言模型 (LLM)?

LLM 是一种机器学习 (ML) 模型,它以实现通用语言生成和理解的能力而闻名。 LLM 是一种人工神经网络,它在计算密集的自我监督和半监督训练过程中,通过从海量文本文档中学习统计关系获得能力。 LLM 是一种生成式 AI,通常用于生成文本,给定输入文本后,它会相应地生成单词(称为“令牌”),而这些单词极有可能产生连贯性,并组成与上下文相关联的句子。 还有一些小型语言模型 (SLM),它们参数较少,容量有限,但可能更高效(所需的计算资源更少)、更具成本效益,是特定领域的理想选择。

什么是 ML 模型训练?

在机器学习中,模型训练涉及将数据集馈送到模型(LLM 或 SLM),以便它能够从数据中学习,以便模型可以根据该数据做出预测或决策,从而识别模式。 这个过程可能还涉及反复调整模型参数,以优化其性能。

什么是推理?

“推理”是指,使用经过训练的机器学习模型对未见过的新数据进行预测或分类。 基于数据集训练语言模型后,它将了解数据集的底层模式和关系,并随时可将这些知识应用到实际应用场景中。 对 AI 模型而言,推理是一个决定性时刻,将测试模型能够在多大程度上利用通过训练学到的信息,做出预测,或解决任务。 使用现有模型进行推理的过程不同于训练阶段,后者需要使用训练和验证数据来完善模型并微调其参数。

什么是 ML 模型微调?

微调是机器学习中的关键步骤,在这一过程中,预先训练好的模型将得到调整,以执行特定任务。 微调不是从头开始训练模型,而是从现有模型(通常是基于大型数据集训练的模型)开始,这个过程将利用较小的特定任务数据集调整模型参数。 通过微调,在保留预训练期间获得的一般知识的同时,模型还可以学到特定于任务的功能,从而提高在特定应用场景中的表现。

什么是提示词工程?

提示工程是一种与生成式 AI 搭配使用的策略性方法,用于塑造语言模型的行为和响应方式。 它涉及精心设计输入提示或查询,以便从语言模型(如 GPT-3 或 GPT-4)中获得所需的结果。 通过设计有效的提示,你可以引导 ML 模型生成所需的那类响应。 其中的手段包括调整措辞、指定上下文或使用控制代码来影响模型输出。

什么是硬件加速(就 ML 模型训练而言)?

硬件加速是指使用专门的计算机硬件,加快 AI 应用程序的速度,使其超越通用 CPU 所能实现的性能。 对于机器学习任务,例如训练模型、进行预测,或将计算卸载到擅长并行处理深度学习工作负载的专用硬件组件上,硬件加速可以提升其速度、能效和整体性能。 GPU 和 NPU 都属于硬件加速器。

想要在其应用中应用 AI 功能的数据科学家、ML 工程师和应用开发人员之间有什么区别?

创建和使用 ML 模型的过程涉及三个主要角色: 数据科学家:负责定义问题、收集和分析数据、选择和训练 ML 算法以及评估和解释结果。 它们使用 Python、R、Jupyter Notebook、TensorFlow、PyTorch 和 scikit-learn 等工具来执行这些任务。 ML 工程师:负责在生产环境中部署、监视和维护 ML 模型。 它们使用 Docker、Kubernetes、Azure ML、AWS SageMaker 和 Google Cloud AI Platform 等工具来确保 ML 模型的可伸缩性、可靠性和安全性。 应用开发人员:负责将 ML 模型集成到应用逻辑、UI 和 UX 中。 它们使用 Windows、OnnxRuntime 或 REST API 上的 Microsoft Foundry 等工具,并处理用户输入和模型输出。 每个角色都涉及不同的职责和技能,但需要这些角色之间的协作和沟通才能取得最佳效果。 根据项目的规模和复杂性,这些角色可以由同一个人执行,也可以由不同的团队执行。