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

Azure 机器学习:MLOps - 使用 Azure 机器学习进行模型管理、部署和监视
本文介绍如何在 Azure 机器学习中应用机器学习运营 (MLOps) 做法,以管理模型的生命周期。 应用 MLOps 做法可改善机器学习解决方案的质量和一致性。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验ÿ…...

CSDN每日一题学习训练——Java版(分数到小数、罗马数字转整数、x 的平方根)
版本说明 当前版本号[20231114]。 版本修改说明20231114初版 目录 文章目录 版本说明目录分数到小数题目解题思路代码思路参考代码 罗马数字转整数题目解题思路代码思路参考代码 x 的平方根题目解题思路代码思路参考代码 分数到小数 题目 给定两个整数,分别表示…...

【2021集创赛】 RISC-V杯三等奖:基于E203 处理器的SM4算法硬件加速
杯赛题目:基于蜂鸟E203 RISC-V处理器内核的SoC设计 参赛要求:研究生组/本科生组 赛题内容: 基于芯来科技的开源蜂鸟E203 Demo SoC进行扩展,在限定的可编程逻辑平台上构建面向专用应用领域(譬如人工智能、信息安全、工业…...

SUMO道路封闭车辆绕行仿真实验【TraCI】
本文将介绍如何在 SUMO 交通模拟中动态选择车辆绕行指定道路。 绕道是城市驾驶中的常见现象,造成原因有很多,包括建筑和交通事故等。 无论出于何种原因,并非所有车辆都会选择避开这些道路; 有些人可能会毫不犹豫地直接开车过去&a…...

IDEA 无法搜索或者下载插件
File -> Settings… -> Plugins 可以打开插件市场,搜索想要下载的插件,但是可能由于网络问题而无法成功搜索或者下载插件。此时需要设置代理来解决。点击插件界面里的齿轮图标(在Marketplace、Installed的右边),…...

unity 使用Vuforia扫描实体物体交互
文章目录 前言一、Vuforia是什么?二、Unity导入Vuforia1.去Unity - Windows – Asset Store,搜vuforia engine,添加到我的资源2.从 Unity 的菜单 Assets -> Import package -> Custom Package 导入脚本,添加 Vuforia Engine…...

IDEA接口调试插件不好找?这款免费用!
IDEA插件市场中的API调试插件不是收费(Fast Request )就是不好用(apidoc、apidocx等等)今天给大家介绍一款国产的API调试插件:Apipost-Helper,完全免费且好看好用! 这款插件由Apipost团队开发的…...

OpenCV图像坐标系
绘制代码: X轴 # 选取两个点 point1 = (20, 0) point2 = (200, 0)# 在图像上绘制连接线 cv2.line(img, point1, point2, (...

【Proteus仿真】【Arduino单片机】DHT11温湿度
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、DHT11温湿度传感器等。 主要功能: 系统运行后,LCD1602显示传感器采集温度和湿度。 二、软件设…...

Linux--makefile
一、makefile的作用 makefile是一个文件,是围绕依赖关系和依赖方法的自动化编译工具 一个工程中的源文件有很多,按照不同的类型、功能、模块放在不同的目录中。而makefile定义了一系列的规则来指定,那些文件需要先编译,那些文件…...

Anaconda学习备忘
Anaconda是一套用于数据处理和科学计算以及AI等领域的包管理器。 以前的误区一直以为Anaconda只有python库,现在仔细搜索学习以后,才知道它其实包含多种语言,可以直接下载各种语言生成的包。其中conda就是一套跨语言包管理器了,而…...

uniapp运行到安卓模拟器一直在“同步手机端程序文件完成“界面解决办法
如果你是用的模拟器是android studio创建的模拟器,那么你需要新创建一个android11 x86架构的模拟器: 创建完成后,启动模拟器: 然后在hbuilder中重新运行到这个模拟器就可以了: 运行结果: 如果你是用安…...

leetcode:876. 链表的中间结点
一、题目 函数原型: struct ListNode* middleNode(struct ListNode* head) 二、思路 要找到链表的中间结点,有两种思路: 暴力解法:先遍历一遍链表,计算出链表的长度,再次遍历链表,找到中间结点。…...

【m98】webrtc vs2017构建带符号的debug库
调试有符号 调试 无符号 试试exe不输出到独立的文件? -】 直接输出到sln下面...

【读点论文】结构化剪枝
结构化剪枝 在一个神经网络模型中,通常包含卷积层、汇合层、全连接层、非线形层等基本结构,通过这些基本结构的堆叠,最终形成我们所常用的深度神经网络。 早在 1998 年,LeCun 等人使用少数几个基本结构组成 5 层的 LeNet-5 网络&…...

JimuReport积木报表 v1.6.5 版本发布—免费报表工具
项目介绍 一款免费的数据可视化报表,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成报…...

【开发工具】gitee还不用会?我直接拿捏 >_>
🌈键盘敲烂,年薪30万🌈 目录 📕揭开git面纱 📕git的一些前置操作 📕如何获取本地仓库 📕本地仓库的操作 📕远程仓库操作 📕分支操作 📕标签操作 &…...

算法通关村——位运算之位移的妙用
位移的妙用 1、位1的个数 1.1、题目描述 LeetCode191. 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位为 ‘1’ 的个数。 示例1: 输入:00000000000000000000000000001011 输出࿱…...

【开题报告】基于uni-app的高校新生报道APP的设计与实现
1.选题背景和意义 随着高校规模的不断扩大和信息化技术的迅速发展,传统的高校新生报道方式已经无法满足日益增长的新生数量和信息处理的需求。传统的线下报道流程通常存在着信息收集效率低、报到流程繁琐等问题,给学生、教职工和管理人员带来了许多不便…...

Elasticsearch docker-compose 使用 Logstash 从 JSON 文件中预加载数据
在我们创建 Elasticsearch 进行开发时,最简单的办法就是在本地使用 docker-compose 来一键部署一个 Elasticsearch 集群。有时,特别是在准备测试环境时,开发人员希望从一开始就创建包含一些测试数据的数据库容器。我们可以使用 Logstash 来很…...

<文件操作及常用的API>
文章目录 专栏导读🚀简单认识一下文件🚀树形结构和目录🚀文件路径-相对路径、绝对路径🚀文件类型🚀Java中文件的操作🚀File 类的常用方法 专栏导读 🚀多线程章节 💐数据结构剖析 &am…...

深入探讨Linux中的文本文件查看命令
目录 前言1 cat命令2 less命令3 more命令4 head命令5 tail命令6 总结 前言 在Linux系统中,文本文件是日常工作中不可或缺的一部分,无论是配置文件、日志文件还是代码文件,都需要用到文本文件查看命令。在本文中,我们将深入研究一…...

asp.net企业员工档案信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
一、源码特点 asp.net企业员工档案信息管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 asp.net企业员工档案信息管理系统 二、功能介绍 本系统使用Microsoft Visual Studio 2019为开发工具&…...

WPF中的xmlns 和xmlns:x有什么区别?
WPF (Windows Presentation Foundation) 中的 xmlns 和 xmlns:x 是XML命名空间的声明,它们在XAML(eXtensible Application Markup Language)中被广泛使用。XAML是WPF、Silverlight、Xamarin.Forms等技术中用于定义UI元素的标记语言。 xmlns: …...

为什么流量卡禁区多,而手机卡却可以用呢?
很多朋友比较关心流量卡禁区的问题,当我们申请流量卡时,运营商都会在套餐详情中标明具体的禁发地区,这个时候很多朋友都会有疑问了,为什么流量卡不能用的地区,可以申请到手机卡呢。 想要清楚这个问题࿰…...

Linux 桌面应用
Part I: Linux 系统概述 什么是 LinuxLinux 的历史和版本Linux 发行版介绍Linux 的优缺点 Part II: Linux 安装与配置 5. 硬件要求与准备工作 6. 安装 Linux 操作系统 7. Linux 系统初始化设置 8. Linux 系统更新与升级 9. Linux 基础配置 Part III: Linux 命令行 10. Linux…...

NLP领域的突破催生大模型范式的形成与发展
当前的大模型领域的发展,只是范式转变的开始,基础大模型才刚刚开始改变人工智能系统在世界上的构建和部署方式。 1、大模型范式 1.1 传统思路(2019年以前) NLP领域历来专注于为具有挑战性的语言任务定义和设计系统,…...

大模型的全面回顾,看透大模型 | A Comprehensive Overview of Large Language Models
大模型的全面回顾:A Comprehensive Overview of Large Language Models 返回论文和资料目录 论文地址 1.导读 相比今年4月的中国人民大学发表的大模型综述,这篇综述角度更侧重于大模型的实现,更加硬核,更适合深入了解大模型的一…...

【瑞禧分享】碳化硅纳米线 SiC纳米线 <100nm SiC晶须 SiC短纤维
碳化硅纳米线 规格或纯度:线/晶须含量:99% 供应商:西安瑞禧生物 英文名称:SiC Nanowire 别名:碳化硅纳米线,SiC晶须,SiC短纤维,SiC纳米线 英文别名:SiC Nanowire,SiC whiskers,SiC fiber 介绍&#x…...

P3371 【模板】单源最短路径(弱化版)
【模板】单源最短路径(弱化版) 题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779。 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路…...