今天做数据科学要比未来5到10年困难得多。在痛苦、推动模型投入生产的工作流程中共享和协作是一项挑战。让我们探讨 Azure 提供哪些功能来缓解数据科学家的痛苦。
在本文中,您将了解 Azure机器学习工作室、Azure 机器学习、Azure 数据块、数据科学虚拟机和认知服务。我们可以根据问题定义、技能集或基础结构要求选择哪些工具和服务?
关于微软的一件事:他们有很多方法可以解决同样的问题。
为类、方法或变量选择一个好名称至关重要(而且很难)。为产品或服务寻找一个好的名字似乎更具挑战性。当我查看 Azure 服务名称(”机器学习”这一点,”机器学习”)时,很明显,即使是像 Microsoft 这样的大公司也很难找到吸引人和直接的名称。
因此,有许多名称相似的不同服务。例如,Azure 机器学习服务和 Azure 机器学习工作室之间的区别是什么?微软机器学习服务器与数据科学虚拟机是一回事吗?
但在深入探讨详细信息之前,我需要解释此帖子的标题”使数据科学家在 Azure 中高效工作”。《Spark》的作者Matei Zaharia在他的一次演讲中指出了机器学习生命周期的主要方面。
在上述生命周期中,我们从数据开始。稍后,我们将运行数据准备脚本、模型定型和模型部署。然后,如果我们的应用程序正在执行任何重要操作,我们希望对其进行监视,以查看其操作情况,收集额外的数据,然后再次将其反馈到此过程。每个步骤都有许多工具,这些工具通常需要调优以取得更好的结果和性能。找到每个阶段使用哪些参数来获得特定结果对于能够进行试验至关重要。一切都需要大规模进行。
如果工具或服务支持所有生命周期阶段(本身或通过实体集成),我认为它使数据科学家高效工作。
Azure 认知服务
这是什么?
具有预构建的 AI 和 ML 模型的 Azure 服务
你能用它做什么?
向应用添加智能功能
随着认知服务不断扩展,新功能,您可以检查最新的状态(许多服务提供免费演示)。
例如,下面是一个返回人脸参数的人脸检测 API。您可以找到头发颜色、微笑和性别等属性。但是,第一个属性是 BALD: 0.17!顺便说一下,比去年增加了4个百分点:)
Azure 认知服务 – 摘要
主要优势:
- 最少的开发工作。
- 通过 HTTP REST 轻松集成。
- 与其他 Azure 服务的内置集成。
- 容器支持。
- Azure 虚拟网络,可增强数据安全性。
考虑:
- 允许有限的自定义。
- 对非英语语言的支持有限。
ML 净
这是什么?
开源和跨平台 ML 框架。
你能用它做什么?
使用 C# 或 F# 创建自定义 ML 模型,而无需离开 .NET 生态系统。
ML.NET摘要
主要优势:
- 高性能。
- 自动ML功能。
- 利用张力流或 ONNX。
- 通过ASP.NET核心 Web API公开模型。
- 通过 .NET 与 Spark 集成,用于 Apache Spark(预览)。
- 在朱皮特笔记本(预览)中使用ML.NET。
考虑:
- 对流行的 ML 库(例如,Scikit 学习、NumPy)的支持有限。
Azure 机器学习工作室
这是什么?
ML 的拖放可视界面。
你能用它做什么?
使用预配置的算法构建、试验和部署模型
Azure 机器学习工作室 (ML Studio) 是一个协作、拖放的视觉工作区,您可以在其中构建、测试和部署机器学习解决方案,而无需编写代码。它使用预构建和预配置的机器学习算法和数据处理模块。没有 R/Python 知识的业务分析师/统计人员使用此工具可以高效工作。
Azure 机器学习工作室是一项令人印象深刻的服务,可快速提高员工的工作效率。然而,一位经验丰富的数据科学家可能会发现这个工具非常有限和缓慢。
当您想要快速轻松地试用机器学习模型时,请使用 ML Studio,并且内置的机器学习算法足以满足您的解决方案。
整个实验看起来像一个图形,输入在顶部,输出(预测)在底部。在上面的示例中,”二进制分类:直接营销”,我比较了两种算法(两类提升决策树和两类支持向量机)
Azure 机器学习工作室 – 摘要
主要优势:
- 交互式视觉界面。
- 内置朱皮特笔记本,用于数据探索。
- 直接部署经过培训的模型作为 Web 服务。
- 与其他 Azure 服务的内置集成。
考虑:
- 仅限联机。
- 可伸缩性有限(训练数据集的最大大小为 10 GB)。
- 支持的输入和输出连接器数量有限。
- 对自定义 Python/R 代码的支持有限。
电源 BI 自动 ML
这是什么?
内置于 Power BI 中的自动机器学习组件,无需任何代码即可构建 ML 模型
你能用它做什么?
在 Power BI 中使用 AutoML,没有机器学习强大背景的业务分析师可以构建 ML 模型。
有一个内置的模型解释功能,用于在训练期间获取顶级预测变量,并解释每个预测。
动力 BI 自动机器学习 – 摘要
主要优势:
- 使用 Power BI 数据流加载数据、转换数据并在数据之上构建模型。
- 通过 Azure ML 将模型部署为服务。
- 在训练期间获取顶级预测变量,并解释每个预测。
考虑:
- 算法选择有限(二进制预测、一般分类、回归)。
- 需要付费专业版或高级版许可证。
Azure 机器学习
这是什么?
ML 的托管云服务。
你能用它做什么?
在 Azure 中训练、部署和管理模型。
首先,请注意,我们讨论的是 Azure 机器学习,而不是 STUDIO(前面介绍)。
Azure 机器学习 (Azure ML) 提供了一个基于云的环境,可用于开发、训练、测试、部署、管理和跟踪机器学习模型。它支持开源技术,因此您可以将 Python 包与机器学习组件一起使用。
通过使用 Azure ML,可以在本地计算机上开始培训,然后扩展到云。借助许多可用的计算目标和高级超参数调优服务,您可以使用云的强大功能更快地构建更好的模型。
Azure ML 支持整个周期,从数据引入到使用 Docker 容器进行部署。数据应在 Azure Blob 存储中可用。对于数据准备和培训,您可以使用任何 Python 开源包。对于部署,最简单的设置可以通过 Azure 容器实例或 Azure Kubernetes 服务来实现。
它在 2019 年获得了全新的外观,以无缝的方式完成端到端任务。
博客/图片/2019/01/azure_ml_new.png”宽度=”831″/*
Azure 机器学习 – 摘要
主要优势:
- 脚本和运行历史记录的集中管理。
- 在本地(脱机)运行模型训练脚本,然后扩展到云。
- 管理和将模型部署到云或边缘设备。
- 与 Azure 开发操作集成。
- 添加了对 R(预览)的支持。
考虑:
- 调查 ML 流以跟踪指标和管理模型。
Azure 数据砖
这是什么?
基于火花的分析平台。
你能用它做什么?
构建和部署模型和数据工作流。
Databricks 提供了一个围绕Spark构建的托管云平台,可提供:
-
完全托管的 Spark 群集。
-
用于探索和可视化的交互式工作区。
-
生产管道计划程序。
-
为基于 Spark 的应用程序提供支持的平台。
主要概念:
- 数据砖运行时(Apache Spark、并发群集、REST API、库)。
- 协作工作区(笔记本、用户访问、git 集成)。
- 部署作业和工作流(作业计划程序、通知和日志、多阶段管道)。
- 安全性(单一登录 (SSO)、访问控制列表 (ACL)、通过 Azure 密钥保管库的机密)。
Azure Databricks 在额外库和服务的帮助下支持完整的机器学习周期。
Azure 数据块 – 摘要
主要优势:
- Azure 平台上 ML 的最成熟开发环境。
- 与 ML 流和 Azure ML 无缝集成。
- 与其他 Azure 服务(例如,Azure 数据工厂、Azure 密钥保管库)集成。
- 三角洲湖支持。
考虑:
- 仅限联机。
- 成本包括虚拟机的价格和数据砖费用。
数据科学虚拟机
这是什么?
具有预安装数据科学工具的 Azure 虚拟机。
你能用它做什么?
在预配置的环境中开发 ML 解决方案。
数据科学虚拟机 (DSVM) 是 Windows 或 Linux 虚拟机的预安装和预配置映像集。它包括最流行的数据科学工具。由于 DSVM 有权访问 Azure 网络和可伸缩性(最终是虚拟机),因此即使对于数据科学团队来说,DSVM 也是一个很好的环境。
数据科学虚拟机可用于学习和比较不同的机器学习工具。
数据科学虚拟机 – 摘要
主要优势:
- Azure 平台上 ML 最完整的开发环境
考虑:
- 仅限联机。
- 基础架构即服务 (IaaS),而不是托管数据科学解决方案。
如果无法使用 Azure,我建议您查看 Microsoft 机器学习服务器和 SQL 服务器机器学习服务。
微软机器学习服务器
这是什么?
用于预测分析的跨平台独立服务器。
你能用它做什么?
生成和部署用 R 或 Python 编写的模型。
Microsoft 机器学习服务器 (ML Server) 是大规模分析数据、构建智能应用和发现见解的灵活选择。它包括 R 包、Python 包、解释器和基础结构的集合,用于在本地和云的一系列平台上开发和部署基于 R 和 Python 的分布式机器学习解决方案。
ML 服务器通过在 ML 模型之上生成 Web 服务来提供操作化。这些 Web 服务托管在本地或云中的服务器网格上,可以与业务线应用程序集成。此外,ML Server 与活动目录和 Azure 活动目录集成,并包含基于角色的访问控制,以满足企业的安全性和合规性需求。
ML Server 完全支持基于 R 和 Python 的分析的数据科学生命周期。
微软机器学习服务器 – 摘要
主要优势:
- 建立在微软R服务器和革命R企业的传统之上。
- 高级安全选项。
- 将 R 和 Python 模型部署为 Web 服务。
考虑:
- 您需要在企业中部署和管理机器学习服务器。
SQL 服务器机器学习服务
这是什么?
支持机器学习的内置 SQL Server 功能。
你能用它做什么?
使用关系数据执行 Python 和 R 脚本。
SQL 服务器机器学习服务 – 摘要
主要优势:
- 在数据所在的位置运行脚本,并消除通过网络向另一台服务器传输数据。
- 将预测逻辑封装在数据库函数或库中。
- 使用 Python、R 和 Java(扩展框架)的基本分布。
考虑:
- 假定 SQL Server 数据库作为应用程序的数据层。
- 可扩展性有限。
- 一长串已知问题。
总结
总体而言,Azure 中最流行的数据科学服务是 Azure 机器学习。Azure Databricks 提供了令人惊叹的数据工程功能和一流的 Spark 环境。但是,如果您寻找更简单的内容,请调查 Power BI 自动 ML 和 Azure 机器学习工作室。软件开发人员应尝试ML.NET。
但那还不全是!
我创建了一个 20 页指南,以帮助您加快在 Azure 中实现现代数据平台:Azure 资源管理的最佳做法、Azure 数据工厂、Azure 数据砖、Azure 数据湖存储第 2 代、Azure 密钥保管库。
您是否正在使用 Azure 分析产品?您使用什么产品?