了解 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 ML | Windows 10 机器学习平台 | 在 Windows 10 设备上评估已训练的模型 |
MMLSpark | 适用于 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 机器学习工作室中的交互式设计器,轻松快速地使用预建的机器学习算法来构建、测试和部署模型。
免费试用 Azure 机器学习。
项 | 描述 |
Type | 基于云的机器学习解决方案 |
支持的语言 | Python、R |
机器学习阶段 | 模型训练 |
部署
MLOps/管理 | | 主要优点 | Code First (SDK)、工作室和拖放式设计器 Web 界面创作选项。 集中管理脚本和运行历史记录,轻松比较模型版本。
轻松部署和管理云中或边缘设备上的模型。
|
Azure 认知服务
Azure 认知服务是一组预建的 API,可用于生成使用自然通信方法的应用。 预建一词意味着无需引入数据集,也不需要具备数据科学专业知识,即可对模型进行训练以在应用程序中使用。 这一切都已为你准备好,并打包为 API 和 SDK,借助这些资源,只需编写几行代码,就能让应用看到、听到、讲出、理解和解释用户的需求。 你可以轻松地将智能功能添加到应用中,例如:
- 视觉:物体检测、人脸识别和 OCR 等。
- 语音:语音转文本、文本转语音和说话人辨识等。
- 语言:翻译、情绪分析、关键短语提取和语言理解等。
- 决策:异常情况检测、内容审核、强化学习。
使用认知服务可以开发跨设备和平台的应用。 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 的版本。 该环境专为进行数据科学研究和开发 ML 解决方案而构建。 它预装并预配置了许多常用的数据科学框架、ML 框架和其他工具,可快速生成用于高级分析的智能应用程序。
需要在单个节点上运行或托管作业时,可以使用数据科学 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 和 Visual Studio Code)和语言
部署到运行 .NET 的位置
可扩展
可缩放
本地优先体验
|
Windows ML
Windows ML推理引擎可让你在应用程序中使用已训练的机器学习模型,在 Windows 10 设备本地评估已训练的模型。
想要在 Windows 应用程序中使用训练的机器学习模型时,可以使用 Windows ML。
项 | 描述 |
Type | 适用于在 Windows 设备中评估已训练的模型的推理引擎 |
支持的语言 | C#/C++ 和 JavaScript |
MMLSpark
适用于 Apache Spark 的 Microsoft ML (MMLSpark) 是一个开源库,它扩展了分布式计算框架 Apache Spark。 MMLSpark 为 Spark 生态系统添加了许多深度学习工具和数据科学工具,包括 Spark 机器学习管道与 Microsoft Cognitive Toolkit (CNTK)的无缝集成、LightGBM、LIME(模型可解释性)和 OpenCV。 可以使用这些工具在任何 Spark 群集(例如 Azure Databricks或 Cosmic Spark上创建功能强大的预测模型。
MMLSpark 还为 Spark 生态系统带来了新的网络功能。 借助 HTTP on Spark 项目,用户可以将任何 Web 服务嵌入到其 SparkML 模型。 此外,MMLSpark 提供易于使用的工具,用于大规模编排 Azure 认知服务。 对于生产级部署,Spark Serving 项目可通过 Spark 群集提供具有高吞吐量和亚毫秒级延迟的 Web 服务。
项 | 描述 |
Type | 适用于 Apache Spark 的开源分布式机器学习和微服务框架 |
支持的语言 | Scala 2.11、Java、Python 3.5 及更高版本和 R(beta 版本) |
机器学习阶段 | 数据准备 |
模型训练
部署 | | 主要优点 | 可伸缩性
流式处理 + 服务兼容
容错 | | 注意事项 | 需要 Apache Spark |