本文介绍如何在 Azure 机器学习中应用机器学习运营 (MLOps) 做法,以管理模型的生命周期。 应用 MLOps 做法可改善机器学习解决方案的质量和一致性。
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
MLOps 基于可提高工作流效率的 DevOps 原理和做法。 例如持续集成、持续交付和持续部署。 MLOps 将这些原理应用到机器学习过程,其目标是:
机器学习提供以下 MLOps 功能:
使用机器学习中的机器学习管道,将模型训练过程中的所有步骤汇聚到一起。
机器学习管道可以包含从数据准备、到特征提取、到超参数优化、再到模型评估的所有步骤。 有关详细信息,请参阅机器学习管道。
如果使用设计器来创建机器学习管道,可以随时选择设计器页面右上角的“…”图标。 然后选择“克隆”。 克隆管道可以迭代管道设计,且不会丢失旧版本。
使用机器学习环境,可对不断演进的项目软件依赖项进行跟踪和再现。 使用环境,无需进行手动软件配置,就能确保生成项目可以再现。
环境描述项目的 pip 和 conda 依赖项。 可以使用它们来训练和部署模型。 有关详细信息,请参阅什么是机器学习环境?。
以下部分讨论如何注册、打包和部署模型。
可以使用模型注册在 Azure 云的工作区中存储模型并控制模型版本。 使用模型注册表,可轻松组织和跟踪定型的模型。
提示
已注册的模型是构成模型的一个或多个文件的逻辑容器。 例如,如果你有一个存储在多个文件中的模型,可以在机器学习工作区中将这些文件作为一个模型注册。 注册后,可以下载或部署已注册的模型,并接收注册的所有文件。
按名称和版本标识已注册的模型。 每次使用与现有名称相同的名称来注册模型时,注册表都会将版本递增。 在注册期间可以提供其他元数据标记。 然后,可以在搜索模型时使用这些标记。 机器学习支持可以使用 Python 3.5.2 或更高版本加载的任何模型。
重要
Tags
筛选”选项时,请使用 TagName=TagValue
(无空格),而不是使用 TagName : TagValue
。有关详细信息,请参阅在 Azure 机器学习中使用模型。
在将模型部署到生产环境之前,需将其打包成 Docker 映像。 大多数情况下,映像创建操作会在部署期间在后台自动发生。 可以手动指定映像。
如果部署时遇到问题,可以在本地开发环境中部署,以进行故障排除和调试。
有关详细信息,请参阅如何对联机终结点进行故障排除。
将模型转换为 Open Neural Network Exchange (ONNX) 可以提高性能。 一般情况下,转换为 ONNX 可将性能提高两倍。
有关包含机器学习的 ONNX 的详细信息,请参阅创建和加速机器学习模型一文。
已训练的机器学习模型将在云中或本地部署为终结点。 部署使用 CPU 或 GPU 进行推理。
将模型部署为终结点时,请提供以下项:
还需要提供目标部署平台的配置。 例如,VM 系列类型、可用内存和核心数。 创建映像时,还会添加 Azure 机器学习所需的组件。 例如,运行 Web 服务所需的资产。
通过批处理终结点支持批评分。 有关详细信息,请参阅终结点。
可以将模型与联机终结点配合使用。 联机终结点可以使用以下计算目标:
若要将模型部署到终结点,必须提供以下项:
有关详细信息,请参阅部署联机终结点。
部署到联机终结点时,可以使用受控推出来实现以下方案:
有关详细信息,请参阅机器学习模型的受控推出。
Microsoft Power BI 支持使用机器学习模型进行数据分析。 有关详细信息,请参阅 Power BI 中的机器学习集成(预览版)。
机器学习提供使用元数据跟踪所有机器学习资产的端到端审核线索的功能。 例如:
提示
系统会自动捕获有关模型和数据集的某些信息,同时你可以使用“标记”添加其他信息。 在工作区中查找已注册的模型和数据集时,可以使用标记作为筛选器。
机器学习将关键事件发布到 Azure 事件网格。使用事件网格可以针对机器学习生命周期中的事件发出通知并自动采取措施。 有关详细信息,请参阅使用事件网格。
可以使用 GitHub 和 Azure Pipelines 来创建用于训练模型的持续集成过程。 在典型方案中,当数据科学家将某项更改签入项目的 Git 存储库时,Azure 管道将启动训练作业。 然后,可以检查该作业的结果,以了解已训练模型的性能特征。 还可以创建一个管道用于将模型部署为 Web 服务。
安装机器学习扩展可以更轻松地使用 Azure Pipelines。 该扩展为 Azure Pipelines 提供以下增强:
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。