你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
比较机器学习产品和技术
了解 Microsoft 的机器学习产品和技术。 比较各个选项可帮助你选择如何最有效地构建、部署和管理机器学习解决方案。
基于云的机器学习产品
为 Azure 云中的机器学习提供了以下选项。
云选项 | 介绍 | 作用 |
---|---|---|
Azure 机器学习 | 用于机器学习的托管平台 | 使用预先训练的模型。 或使用 Python 和 CLI 在 Azure 中训练、部署和管理模型 |
Azure 认知服务 | 通过 REST API 和 SDK 实现的预建 AI 功能 | 使用标准编程语言快速生成智能应用程序。 不需要机器学习和数据科学专业知识 |
Azure SQL 托管实例机器学习服务 | 适用于 SQL 的数据库内机器学习 | 在 Azure SQL 托管实例中训练和部署模型 |
Azure Synapse Analytics 中的机器学习 | 分析服务与机器学习 | 在 Azure Synapse Analytics 中训练和部署模型 |
在 Azure SQL Edge 中使用 ONNX 实现机器学习和 AI | SQL on IoT 中的机器学习 | 在 Azure SQL Edge 中训练和部署模型 |
Azure Databricks | 基于 Apache Spark 的分析平台 | 使用与开源机器学习库和 MLflow 平台的集成来生成和部署模型以及数据工作流。 |
本地机器学习产品
为本地的机器学习提供了以下选项。 本地服务器也可以在云端的虚拟机中运行。
本地选项 | 介绍 | 作用 |
---|---|---|
SQL Server 机器学习服务 | 适用于 SQL 的数据库内机器学习 | 在 SQL Server 中训练和部署模型 |
SQL Server 大数据群集中的机器学习服务 | 大数据群集中的机器学习 | 在 SQL Server 大数据群集中训练和部署模型 |
开发平台和工具
为机器学习提供了以下开发平台和工具。
平台/工具 | 介绍 | 作用 |
---|---|---|
Azure Data Science Virtual Machine | 预装了数据科学工具的虚拟机 | 在预配置的环境中开发机器学习解决方案 |
ML.NET | 开源的跨平台机器学习 SDK | 开发适用于 .NET 应用程序的机器学习解决方案 |
Windows 机器学习 | Windows 10 机器学习平台 | 在 Windows 10 设备上评估已训练的模型 |
SynapseML | 适用于 Apache Spark 的开源分布式机器学习和微服务框架 | 创建和部署适用于 Scala 和 Python 的可缩放机器学习应用程序。 |
Azure Data Studio 的机器学习扩展 | 适用于 Azure Data Studio 的开源跨平台机器学习扩展 | 管理包、导入机器学习模型、进行预测以及创建笔记本以运行 SQL 数据库试验 |
Azure 机器学习
Azure 机器学习服务是一项完全托管的云服务,用于大规模训练、部署和管理机器学习模型。 它完全支持开源技术,可让你使用数以万计的开源 Python 包,例如 TensorFlow、PyTorch 和 scikit-learn。 还提供了丰富的工具,例如计算实例、Jupyter 笔记本或适用于 Visual Studio Code 的 Azure 机器学习扩展(一个免费扩展,可用于管理 Visual Studio Code 中的资源、模型训练工作流和部署)。 Azure 机器学习服务包含多项功能,使用这些功能可以轻松、高效和准确地自动执行模型生成和优化。
使用 Python SDK、Jupyter 笔记本、R 和 CLI 实现云规模机器学习。 对于少代码或无代码的选项,请使用 Azure 机器学习工作室中的交互式设计器,轻松快速地使用预建的机器学习算法来构建、测试和部署模型。
项 | 描述 |
---|---|
Type | 基于云的机器学习解决方案 |
支持的语言 | Python、R |
机器学习阶段 | 模型训练 部署 MLOps/管理 |
主要优势 | Code First (SDK)、工作室和拖放式设计器 Web 界面创作选项。 集中管理脚本和运行历史记录,轻松比较模型版本。 轻松部署和管理云中或边缘设备上的模型。 |
注意事项 | 需要对模型管理模型有一定的了解。 |
Azure AI 服务
Azure AI 服务是一系列预建的 API,可用于生成使用自然通信方法的应用。 预建一词意味着无需引入数据集,也不需要具备数据科学专业知识,即可对模型进行训练以在应用程序中使用。 这一切都已为你准备好,并打包为 API 和 SDK,借助这些资源,只需编写几行代码,就能让应用看到、听到、讲出、理解和解释用户的需求。 你可以轻松地将智能功能添加到应用中,例如:
- 视觉:对象检测、人脸识别、光学字符识别 (OCR) 等。 有关详细信息,请参阅计算机视觉、人脸、Azure AI 文档智能。
- 语音:语音转文本、文本转语音、说话人识别等。 有关详细信息,请参阅语音服务。
- 语言:翻译、情绪分析、关键短语提取、语言理解等。 请参阅翻译器、文本分析、语言理解、QnA Maker
- 决策:异常情况检测、内容审核、强化学习。 有关详细信息,请参阅异常检测器、内容审查器、个性化体验创建服务。
使用 Azure AI 服务可以开发跨设备和平台的应用。 API 不断改进,且易于设置。
项 | 描述 |
---|---|
Type | 用于生成智能应用程序的 API |
支持的语言 | 多个选项,具体取决于服务。 标准语言包括 C#、Java、JavaScript 和 Python。 |
机器学习阶段 | 部署 |
主要优点 | 使用通过 REST API 和 SDK 提供的预训练模型生成智能应用程序。 适用于自然通信方法的各种模型,包括视觉、语音、语言和决策。 不需要机器学习或数据科学专业知识。 |
SQL 机器学习
SQL 机器学习为本地和云中的关系数据添加了采用 Python 和 R 语言的统计分析、数据可视化和预测分析。 当前的平台和工具包括:
- SQL Server 机器学习服务
- SQL Server 大数据群集中的机器学习服务
- Azure SQL 托管实例机器学习服务
- Azure Synapse Analytics 中的机器学习
- 在 Azure SQL Edge 中使用 ONNX 实现机器学习和 AI
- Azure Data Studio 的机器学习扩展
需要对 SQL 中的关系数据使用内置 AI 和预测分析时,可以使用 SQL 机器学习。
项 | 描述 |
---|---|
Type | 关系数据的本地预测分析 |
支持的语言 | Python、R 和 SQL |
机器学习阶段 | 数据准备 模型训练 部署 |
主要优点 | 在数据库函数中封装预测逻辑可以轻松加入数据层逻辑。 |
注意事项 | 采用 SQL 数据库作为应用程序的数据层。 |
Azure Data Science Virtual Machine
Azure Data Science Virtual Machine 是 Microsoft Azure 云上的自定义虚拟机环境。 它提供适用于 Windows 和 Linux Ubuntu 的版本。 该环境专为进行数据科学研究和开发机器学习解决方案而生成。 它预装并预配置了许多常用的数据科学框架、机器学习框架和其他工具,可快速生成用于高级分析的智能应用程序。
需要在单个节点上运行或托管作业时,可以使用数据科学 VM。 或者,需要在单个计算机上远程提高处理能力时,也可以使用它。
项 | 描述 |
---|---|
Type | 用于数据科学的自定义虚拟机环境 |
主要优点 | 减少安装、管理数据科学工具和框架及其故障排除的时间。 包含所有常用工具和框架的最新版本。 虚拟机选项包括高度可缩放的映像和图形处理单元 (GPU) 功能,可用于密集型数据建模。 |
注意事项 | 脱机时无法访问虚拟机。 运行虚拟机会产生 Azure 费用,因此请注意,只在有需要时才运行。 |
Azure Databricks
Azure Databricks 是一个基于 Apache Spark 的分析平台,针对 Microsoft Azure 云平台进行了优化。 Databricks 与 Azure 集成,以提供一键式安装程序、简化的工作流程以及交互式工作区,从而使数据科学家、数据工程师和业务分析员之间可以进行协作。 在基于 Web 的 Notebook 中使用 Python、R、Scala 和 SQL 代码可以查询、可视化数据以及为其建模。
想要在 Apache Spark 中协作生成机器学习解决方案时,可以使用 Databricks。
项 | 描述 |
---|---|
Type | 基于 Apache Spark 的分析平台 |
支持的语言 | Python、R、Scala 和 SQL |
机器学习阶段 | 数据准备 数据预处理 模型训练 模型优化 模型推理 管理 部署 |
ML.NET
ML.NET 是一个开源的跨平台机器学习框架。 使用 ML.NET,可以构建自定义机器学习解决方案并将其集成到 .NET 应用程序中。 ML.NET 提供了与 TensorFlow 和 ONNX 等常用框架的不同级别的互操作性,用于对机器学习模型和深度学习模型进行训练和评分。 对于资源密集型任务(例如训练图像分类模型),可以利用 Azure 在云中训练模型。
想要将机器学习解决方案集成到 .NET 应用程序时,可以使用 ML.NET。 可以选择使用 API 以实现代码优先体验,也可以选择使用 Model Builder 或 CLI 以实现少代码体验。
项 | 描述 |
---|---|
Type | 开源的跨平台框架,用于使用 .NET 来开发自定义机器学习应用程序 |
支持的语言 | C# 和 F# |
机器学习阶段 | 数据准备 培训 部署 |
主要优势 | 不要求具备数据科学和机器学习经验 使用熟悉的工具(Visual Studio、Microsoft Visual Studio Code)和语言 部署到运行 .NET 的位置 可扩展 可缩放 本地优先体验 |
Windows 机器学习
Windows 机器学习推理引擎可在应用程序中使用已训练的机器学习模型,并在 Windows 10 设备上对已训练的模型进行本地评估。
如果要在 Windows 应用程序中使用训练的机器学习模型,则可以使用 Windows 机器学习。
项 | 描述 |
---|---|
Type | 适用于在 Windows 设备中评估已训练的模型的推理引擎 |
支持的语言 | C#/C++ 和 JavaScript |
SynapseML
SynapseML(以前称为 MMLSpark)是一个开源库,可简化大规模可缩放机器学习管道的创建。 SynapseML 为各种不同的机器学习任务(例如文本分析、视觉、异常情况检测等)提供 API。 SynapseML 基于 Apache Spark 分布式计算框架而构建,与 SparkML/MLLib 库共享相同的 API,可将 SynapseML 模型无缝地嵌入现有 Apache Spark 工作流。
SynapseML 为 Spark 生态系统添加了许多深度学习工具和数据科学工具,包括 Spark 机器学习管道与 Light Gradient Boosting Machine (LightGBM)、LIME(模型可解释性)以及 OpenCV 的无缝集成。 可以使用这些工具在任何 Spark 群集(例如 Azure Databricks 或 Cosmic Spark)上创建功能强大的预测模型。
SynapseML 还为 Spark 生态系统带来了网络功能。 借助 HTTP on Spark 项目,用户可以将任何 Web 服务嵌入到其 SparkML 模型。 此外,SynapseML 还为大规模编排 Azure AI 服务提供了各种易于使用的工具。 对于生产级部署,Spark Serving 项目可通过 Spark 群集提供具有高吞吐量和亚毫秒级延迟的 Web 服务。
项 | 描述 |
---|---|
Type | 适用于 Apache Spark 的开源分布式机器学习和微服务框架 |
支持的语言 | Scala 2.11、Java、Python 3.5 及更高版本和 R(beta 版本) |
机器学习阶段 | 数据准备 模型训练 部署 |
主要优点 | 可伸缩性 流式处理 + 服务兼容 容错 |
注意事项 | 需要 Apache Spark |
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Zoiner Tejada | 首席执行官 (CEO) 和架构师
后续步骤
- 要了解 Microsoft 提供的所有人工智能 (AI) 开发产品,请参阅 Microsoft AI 平台。
- 有关通过 Microsoft 开发 AI 和机器学习解决方案的培训,请参阅 Microsoft Learn 训练。