什么是 Azure 机器学习?
Azure 机器学习是一项用于加速和管理机器学习项目生命周期的云服务。机器学习专业人员、数据科学家和工程师可以在日常工作流程中使用它:训练和部署模型以及管理 MLOps。
您可以在 Azure 机器学习中创建模型,或使用从开源平台(例如 Pytorch、TensorFlow 或 scikit-learn)构建的模型。 MLOps 工具可帮助您监控、重新训练和重新部署模型。
Azure 机器学习适合谁?
Azure 机器学习适用于在组织内实施 MLOps 的个人和团队,以便在安全且可审核的生产环境中将机器学习模型投入生产。
数据科学家和机器学习工程师将找到加速和自动化日常工作流程的工具。应用程序开发人员将找到将模型集成到应用程序或服务中的工具。平台开发人员将找到一组强大的工具,由持久的 Azure 资源管理器 API 支持,用于构建高级 ML 工具。
在 Microsoft Azure 云中工作的企业将会发现熟悉的基础设施安全性和基于角色的访问控制 (RBAC)。您可以设置一个项目来拒绝对受保护数据的访问并选择操作。
团队中每个人的生产力
机器学习项目通常需要具有不同技能的团队来构建和维护。 Azure 机器学习提供的工具可帮助你:
通过共享笔记本、计算资源、数据和环境与您的团队协作
开发公平性和可解释性、跟踪和可审计性模型,以满足沿袭和审计合规性要求
快速、轻松地大规模部署 ML 模型,并使用 MLOps 有效地管理和治理它们
通过内置治理、安全性和合规性在任何地方运行机器学习工作负载
满足您需求的跨平台工具
机器学习团队中的任何人都可以使用他们喜欢的工具来完成工作。无论您是运行快速实验、超参数调整、构建管道还是管理推理,您都可以使用熟悉的界面,包括:
当你在机器学习开发周期的其余部分中完善模型并与其他人协作时,你可以在 Azure 机器学习工作室 UI 上共享和查找项目的资产、资源和指标。
工作室
Azure 机器学习工作室根据项目类型和您过去的 ML 经验水平提供多种创作体验,而无需安装任何内容。
笔记本:在直接集成到工作室中的托管 Jupyter Notebook 服务器中编写并运行您自己的代码。
可视化运行指标:通过可视化分析和优化您的实验。
Azure 机器学习设计器:使用设计器训练和部署机器学习模型,无需编写任何代码。拖放数据集和组件以创建 ML 管道。
自动化机器学习 UI:了解如何通过易于使用的界面创建自动化 ML 实验。
数据标签:使用 Azure 机器学习数据标签有效协调图像标签或文本标签项目。
企业就绪性和安全性
Azure 机器学习与 Azure 云平台集成,为 ML 项目添加安全性。
安全集成包括:
- 具有网络安全组的 Azure 虚拟网络 (VNet)
- Azure Key Vault,您可以在其中保存安全机密,例如存储帐户的访问信息
- 在 VNet 后面设置 Azure 容器注册表
Azure 集成提供完整的解决方案
与 Azure 服务的其他集成支持端到端的机器学习项目。他们包括:
- Azure Synapse Analytics 使用 Spark 处理和流式传输数据
- Azure Arc,您可以在 Kubernetes 环境中运行 Azure 服务
- 存储和数据库选项,例如 Azure SQL 数据库、Azure 存储 Blob 等
- Azure 应用服务允许您部署和管理 ML 支持的应用
机器学习项目工作流程
通常,模型是作为具有目标和目标的项目的一部分开发的。项目通常涉及多个人。当试验数据、算法和模型时,开发是迭代的。
项目生命周期
虽然项目生命周期可能因项目而异,但通常如下所示:
工作区组织一个项目,并允许许多用户进行协作,所有这些用户都致力于一个共同的目标。工作区中的用户可以轻松共享工作室用户界面中的实验运行结果,或将版本化资产用于环境和存储引用等作业。
当项目准备好实施时,用户的工作可以在机器学习管道中实现自动化,并按计划或 HTTPS 请求触发。
模型可以部署到托管推理解决方案中,用于实时和批量部署,从而抽象出部署模型通常所需的基础设施管理。
火车模型
在 Azure 机器学习中,你可以在云中运行训练脚本或从头开始构建模型。客户通常会带来他们在开源框架中构建和训练的模型,以便他们可以在云中对其进行操作。
开放且可互操作
数据科学家可以使用他们在常见 Python 框架中创建的 Azure 机器学习模型,例如:
- 火炬
- TensorFlow
- scikit学习
- XGBoost
- 光GBM
还支持其他语言和框架,包括:
- 右
- 。网
自动特征化和算法选择 (AutoML)
在重复且耗时的过程中,在经典机器学习中,数据科学家利用先前的经验和直觉来选择正确的数据特征和算法进行训练。自动化机器学习 (AutoML) 加速了这一过程,并且可以通过 studio UI 或 Python SDK 使用。
超参数优化
超参数优化或超参数调整可能是一项繁琐的任务。 Azure 机器学习可以针对任意参数化命令自动执行此任务,只需对作业定义进行少量修改。结果在工作室中可视化。
多节点分布式训练
通过多节点分布式训练,深度学习和有时经典机器学习训练作业的训练效率可以得到显着提高。 Azure 机器学习计算集群提供最新的 GPU 选项。
通过 Azure 机器学习 Kubernetes 和 Azure 机器学习计算集群提供支持:
- 火炬
- TensorFlow
- MPI
MPI 发行版可用于 Horovod 或自定义多节点逻辑。此外,还通过 Azure Synapse Analytics Spark 群集(预览版)支持 Apache Spark。
令人尴尬的并行训练
扩展机器学习项目可能需要扩展令人尴尬的并行模型训练。这种模式对于预测需求等场景很常见,其中可以为许多商店训练模型。
部署模型
为了将模型投入生产,需要对其进行部署。 Azure 机器学习的托管终结点抽象了批量或实时(在线)模型评分(推理)所需的基础结构。
实时和批量评分(推理)
批量评分, 或者 批量推理,涉及调用带有数据引用的端点。批处理端点异步运行作业,以在计算集群上并行处理数据并存储数据以供进一步分析。
实时计分, 或者 在线推理,涉及通过一个或多个模型部署调用端点并通过 HTTP 近乎实时地接收响应。流量可以分配到多个部署中,从而可以通过最初转移一定量的流量来测试新模型版本,并在对新模型建立信心后增加流量。
看:
MLOps:机器学习的 DevOps
机器学习模型的 DevOps(通常称为 MLOps)是开发生产模型的过程。模型从训练到部署的生命周期如果不可重现,则必须可审核。
机器学习模型生命周期
支持 MLOP 的集成
Azure 机器学习在构建时考虑了模型生命周期。您可以审核模型生命周期直至特定的提交和环境。
支持 MLO 的一些关键功能包括:
git
此外,Azure 机器学习还包括用于监视和审核的功能:
- 作业工件,例如代码快照、日志和其他输出
- 作业和资产(例如容器、数据和计算资源)之间的沿袭
下一步
开始使用 Azure 机器学习: