培训
认证
Microsoft Certified: Azure AI Fundamentals - Certifications
展示与 Microsoft Azure 软件和服务开发相关的基本 AI 概念,以创建 AI 解决方案。
本指南将通过解决常见问题,分享基本概念和资源,以及提供有关如何在 Windows 应用中使用 AI 和 ML 模型的建议,帮助应用开发人员使用人工智能 (AI) 和机器学习 (ML) 模型。
机器学习 (ML) 是人工智能 (AI) 的一个分支,使计算机能够从数据中学习并做出预测或决策。
ML 模型是可以针对数据进行训练的算法,然后部署这些算法来执行各种任务,例如内容生成、内容推理、图像识别、自然语言处理、情绪分析等。
Windows 应用程序可以利用 ML 模型增强其功能和用户体验的几种方法包括:
Windows Copilot Runtime 将与利用 AI 的操作系统交互的多种方式集成到一起。 这包括名为 Windows Copilot Runtime APIs“随时可用的 AI 支持的”功能。 请参阅 Windows 应用中 的 AI 支持的 API 入门,获取这些现成的功能和 API 的指南,这些功能和 API 支持上面列出的方案。
在本地 Windows Copilot Runtime APIs 直接在 Windows 设备上运行,不过你也可以选择通过现成的 API 使用基于云的模型。 无论它们是在本地还是在云端运行,这些 API 都抽象出基础 ML 模型,因此无需进行任何优化、格式设置或微调。
但是,你可能想要查找自己的 ML 模型,以便在 Windows 上本地使用。 此时,可能需要优化此模型,使其在 Windows 设备上正常运行或;或者微调模型,以便使用特定于特殊用例或公司的自定义数据对其进行训练。 本文将介绍一些概念、工具和开放源代码库,以帮助指导你完成此过程。
小型语言模型 (SLM) 旨在设计得更为紧凑和高效,通常针对较小数据集上的特定任务或领域进行训练,可在本地存储和运行模型,推理性能更卓越且推理速度更快。 SLM 受到训练数据量的限制,不提供大型语言模型 (LLM) 所需的广泛知识或复杂推理能力。 然而,在本地使用时,SLM 可以提供比 LLM 更安全、更经济高效的替代方案,因为它们需要更少的计算能力来运行,并通过将聊天信息安全地保存在设备本地来提高数据隐私性。
SLM 更适合本地使用,因为在设备上运行 ML 模型意味着大小不得超过运行该模型的设备的存储和处理能力。 大多数 LLM 太大,无法在本地运行。
Microsoft Phi-2 和 Phi-3 模型是 SLM 的示例。
大型语言模型 (LLM) 经过了具有更多参数的大量数据的训练,因此更为复杂,所需的存储空间也更大。 由于其规模更大,LLM 可能更有能力捕捉语言中错综复杂的模式和细微差别,涵盖更广泛的知识范围,并能够处理更复杂的模式。 它们还需要更多的计算资源来训练和推理。 大多数 LLM 无法在本地设备上运行。
OpenAI 语言模型 GPT-4o、GPT-4 Turbo、GPT-3.5 Turbo、DALL-E 和 Whisper 都是 LLM 的示例。
有关在本地使用 SLM 与在云端使用 LLM 之间的差异的进一步指导,请参阅在 Windows 应用中使用本地 API 与基于云的支持 AI 的 API 时的注意事项。
开放源代码 ML 模型可以是现成的,也可以根据自己的数据或偏好进行定制,你可以在各种位置找到该模型,一些最常见的示例包括:
某些模型库并非旨在通过应用程序进行定制和分发,而是作为开发生命周期过程中进行实践探索和发现的有用工具,例如:
每当在 Windows 应用中找到符合使用目标的 ML 模型时,我们强烈建议你遵循在 Windows 上开发负责任的生成式 AI 应用程序和功能指南。 本指南将帮助你了解治理策略、实践和流程,识别风险,推荐测试方法,利用审查器和筛选器等安全措施,并在选择安全且以负责任方式处理的模型时调用特定注意事项。
在 Windows 应用中有多种方式使用 ML 模型,具体取决于模型的类型、来源和格式以及应用的类型。
你将在其中找到 ML 模型的一些格式包括:
ONNX:用于在不同的框架和平台中表示和交换 ML 模型的开放标准。 如果在 ONNX 格式中找到预训练 ML 模型,则可以使用 ONNX Runtime (ORT) 在 Windows 应用中加载并运行模型。 ORT 可让你访问设备的硬件加速推理功能并优化 ML 模型的性能。 如果具有采用不同格式(如 PyTorch 或 TensorFlow)的预训练 ML 模型,则可以使用 Olive 等模型优化工具将其转换为 ONNX 格式。 有关使用 Olive 的帮助,请参阅使用 Microsoft Olive 微调 SLM(生成式 AI 应用程序架构之旅系列)。 有关创建和使用 ONNX 模型的教程,请参阅 GitHub 上的 ONNX 教程。 有关演示如何在 Windows 应用中使用 ONNX 模型的示例,请参阅 Windows 示例库上的 AI。
PyTorch:最常用的开放源代码深度学习框架,可通过 Python 和 C++ 接口使用。 这可能是 ML 模型的最常见的格式。 如果要在 Windows(C# 或 C++)应用中或在 Web 应用中使用 PyTorch ML 模型,可以使用 TorchSharp 和 LibTorch,这是 PyTorch 库的 .NET 和 C++ 绑定。 TorchSharp 和 LibTorch 允许你创建、加载和操作张量,生成和运行神经网络,以及使用 PyTorch 格式保存和加载模型。 有关示例,请检查 TorchSharp 示例、用于部署的 TorchScript、PyTorch C++ 示例。 对于 Web 应用,请查看生成具有 ONNX Runtime 的 Web 应用程序。 有关如何使用 DirectML 运行 PyTorch 模型的示例,请参阅 Windows 示例库上的 AI。
TensorFlow 是机器学习和人工智能的另一个常用的开源软件库,用于为各种任务生成和部署机器学习模型。
适用于 Web 应用的 WebNN API:在浏览器中访问神经网络硬件加速的 Web 标准,以 WebIDL 和 JavaScript API 为基础。 它使 Web 开发人员能够在客户端高效地创建和运行机器学习模型,而无需依赖云服务或本机库。 GitHub 上的 WebNN 示例。 在 Windows 示例库上的 AI 中使用 ONNX Runtime 的 WebNN 示例。
AI Toolkit适用于 Visual Studio Code 的 是一个 VS Code 扩展,可用于在本地下载和运行 AI 模型。 AI 工具包还可以帮助你:
DirectML 是一种低级别 API,使 Windows 设备硬件能够使用设备 GPU 或 NPU 加快 ML 模型的性能。 当大规模为用户提供硬件加速的 AI 时,开发人员采用的最直接方法通常是将 DirectML 与 ONNX Runtime 配对。 了解详细信息:DirectML 概述。
培训
认证
Microsoft Certified: Azure AI Fundamentals - Certifications
展示与 Microsoft Azure 软件和服务开发相关的基本 AI 概念,以创建 AI 解决方案。