【机器学习】对 MLOps 的友好的介绍(MLOps1)

 

一、说明

        我对 MLOps 感兴趣已经有一段时间了。我第一次从机器学习工程师那里了解到它,由于我当时还是一名博士生,我并不知道它的存在。然而,我的好奇心被激起了,我开始了解它。回想起来,我很后悔没有早点了解它,以优化我的机器学习工作流程。

        在本文中,我将尝试提供对 MLOps 的初学者友好的介绍,并以简单的方式解释关键概念。作为一个一开始也觉得很难理解的人,我理解需要对这个主题进行更简单的介绍。我希望在阅读本文后,初学者会更自在地阅读有关 MLOps 的更高级文档。

二. 对 MLOps 的动机

        由于机器学习技术在各个研究领域的成功,许多公司都试图将它们整合到他们的软件系统中,以提高效率并解决现实世界的问题。但是,对于许多公司来说,在生产环境中实施机器学习可能是一个具有挑战性且耗时的过程。此外,部署后,必须管理和维护模型,并且必须监视其性能以确保其正常运行。这些任务在大型软件系统中尤其困难。

另一方面,软件工程师使用 DevOps(开发和运营)范式,这是一组促进开发和运营团队之间协作和沟通的实践和工具来开发和管理系统。这有助于保持开发速度和质量。MLOps 旨在将这些 DevOps 原则应用于机器学习系统。考虑到这个背景,MLOps 到底是什么?

2.1  定义

        若要定义 MLOps,让我们首先检查各种定义:

定义1:

“MLOps(机器学习操作)是一种范式,包括最佳实践、概念集等方面,以及机器学习产品的端到端概念化、实现、监视、部署和可伸缩性的开发文化。”[1]

定义2:

“DevOps 方法的扩展,将机器学习和数据科学资产作为 DevOps 生态中的一等公民包括在内” [2]

定义3:

我们可以使用机器学习工程(MLE)的定义,其中MLE是使用机器学习和传统软件工程的科学原理,工具和技术来设计和构建复杂的计算系统。MLE涵盖了从数据收集到模型构建的所有阶段,以使模型可供产品或消费者使用。(作者:A.布尔科夫)[3]。

根据前面的定义,我们可以将 MLOps 理解为一组技术和实践,用于以高效、优化和有组织的方式设计、构建和部署机器学习模型。这些技术和做法通常在 MLOps 生命周期的上下文中进行讨论。

2.2 . MLOps 生命周期

MLOps 生命周期(源) CC BY 4.0

MLOps 生命周期由 MLOps 范例中涉及的步骤和技术组成,从设计和开发机器学习模型到将其部署到生产环境中,以及随着时间的推移对其进行监视和维护。它通常分为三个主要阶段:

  • 第一阶段是设计过程,涉及定义业务问题、模型的需求及其预期用例。这通常涉及创建 AI/ML 画布。
  • 第二阶段是模型开发过程,包括数据和模型工程。
  • 第三阶段是涵盖模型部署和维护的操作流程。

在部署模型后,随着时间的推移保持模型的性能非常重要,因此这些阶段通常以循环方式执行。这可确保模型性能良好,并且仍能满足第一阶段定义的需求。现在,我们已经讨论了 MLOps 生命周期的各个阶段,让我们检查一下 MLOps 工作流,其中概述了在该过程的每个阶段执行的特定任务和活动。

2.3  MLOps 工作流

MLOps 工作流

MLOps 工作流概述了开发、部署和维护机器学习模型要遵循的步骤。在理想情况下,遵循工作流就足够了:首先,了解业务问题,然后选择、训练和部署模型。但是,在现实世界中并非总是如此。在任何时候,都可能需要返回到上一步。此外,部署模型后,必须对其进行维护和监视,这就是为什么了解 MLOps 生命周期和 MLOps 工作流非常重要的原因。

三、MLOps模型实用

3.1. 业务问题

业务问题(工作流程图、AI 画布和 ML 画布均来自源 CC BY 4.0)

MLOps 工作流的第一步是了解业务问题,这涉及定义模型的输入和输出,以及流程及其各种子任务。若要构建此过程,可以使用 AI(人工智能)画布或 ML(机器学习)画布,可以将其视为用于组织 MLOps 工作流的模板。AI 画布通常为 ML/AI 实现提供高级结构,而 ML 画布提供系统的高级描述和细节。您可以在此处阅读有关这些画布的更多信息。

让我们举个例子!假设为了改进其产品,一家乳制品公司有兴趣收集消费者对其的反馈。为此,需要对消费者对社交媒体平台上的产品的评论进行情感分析。机器学习技术可用于训练模型,以将这些评论的情绪分类为正面、负面或中性。这将使公司能够更好地了解客户对其产品的体验,并确定需要改进的领域。此业务问题描述转换为 AI 画布和/或 ML 画布,以获得更清晰的表示:

  • 预测/预测任务:AI系统将分析文本输入并预测文本的情绪(正面,负面或中性)。
  • 判断:系统将使用自然语言处理技术来理解文本的含义和情感。
  • 行动/决策:根据预测的情绪,系统可能会采取不同的行动,例如标记负面评论以供进一步审查,或优先考虑正面的社交媒体帖子以进行推广。
  • 结果:期望的结果是系统准确地对文本输入的情绪进行分类,从而提高客户满意度、更好的社交媒体参与度或其他好处,具体取决于特定用例。
  • 训练:系统将在标记文本数据的数据集上进行训练,其中包含输入文本和相应的情绪标签。
  • 输入/数据源:系统将接受来自各种来源的文本输入,例如社交媒体帖子或客户评论。
  • 输出/进行预测:系统将分析文本输入并预测文本的情绪(正面、负面或中性)。
  • 反馈:系统可以合并来自用户或利益相关者的反馈,以随着时间的推移提高其性能,例如通过调整自然语言处理算法的参数或向训练数据集添加新数据。
  • 离线评估:系统将使用标准评估指标(如精度、召回率和 F1 分数)进行评估,以确保它准确地对文本输入的情绪进行分类。
  • 实时监控:系统将根据需要持续监控和更新,以确保其随着时间的推移继续准确运行。

3.2. 数据工程

数据工程

了解手头的业务问题后,MLOps 工作流的下一步是数据工程过程。这包括数据引入、探索和验证、数据清理、数据标记和数据拆分。

  • 数据引入涉及使用一组技术来收集数据、创建备份、保护私人信息、创建元数据目录和对测试集进行采样,以避免数据侦听偏差。
  • 为了探索和验证数据集,使用了一组统计和可视化技术。
  • 收集的数据通常具有噪声、包含异常值和缺失值。这些问题可能会影响下一个过程,因此应用数据清理步骤来解决这些问题。
  • 当所选模型基于监督学习时,数据标记是必要的。此步骤可以手动、自动或半自动完成。
  • 数据拆分是此过程的最后一步,涉及将数据划分为训练集、验证集和测试集。

3.3. ML 模型工程

机器学习模型工程

MLOps 工作流的第三步是机器学习工程,其中包括模型训练、模型评估、模型测试和模型打包。

  • 训练模型涉及特征工程、代码审查和版本控制以及超参数优化。您可能想知道为什么此步骤中包含特征工程而不是上一步。原因是在此步骤中测试了许多类型和体系结构的模型,因此所有模型的特征工程通常都不相同。值得注意的是,在此步骤中选择最合适的模型之前,会训练和测试多个模型。
  • 模型评估涉及验证模型,以确保它满足业务问题步骤中描述的业务目标。
  • 在模型测试步骤中,使用初始测试集执行模型验收测试
  • 验证和测试模型后,最后一步是以特定格式导出模型,以便将其提供给业务应用程序。

3.4. 代码工程

代码工程

在此步骤中,模型已准备好部署到生产环境。模型部署包括三个步骤:模型服务、性能监视和性能日志记录。

  • 若要提供模型,必须考虑服务模式和部署策略。服务模式是指如何将模型集成到软件中,例如将其集成为服务、依赖项、使用预先计算的服务、按需服务或混合服务。部署策略是指用于包装模型的方法,例如将其部署为 Docker 容器或无服务器函数。
  • 监视模型涉及观察模型的整体行为,例如其预测与先前模型性能的偏差。
  • 性能日志记录涉及将模型预测的结果保存在日志记录中。

四、 结论

        在本文中,我们简要介绍了 MLOps。我们讨论了对 MLOps 的需求,提出了各种定义,解释了 MLOps 生命周期,并介绍了 MLOps 工作流。如果您想了解有关 MLOps 的详细信息,建议 ml-ops.org 以获取更多信息。

        这是关于 MLOps 的第一篇文章,当然不是最后一篇文章!我将编写更多有关 MLOps 及其各种技术的教程,并提供示例,敬请期待。如果您有任何问题或建议,请随时在下面给我留言。

引用

[1] Kreuzberger, D., Kühl, N., & Hirschl, S. Machine Learning Operations (mlops): 概述、定义和架构, 2022.DOI:10.48550。arXiv预印本arXiv.2205.02302

[2] MLOps 路线图 2020

[3] MLOps: Motivation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/59215.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正泰电力携手图扑:VR 变电站事故追忆反演

VR(Virtual Reality,虚拟现实)技术作为近年来快速发展的一项新技术,具有广泛的应用前景,支持融合人工智能、机器学习、大数据等技术,实现更加智能化、个性化的应用。在电力能源领域,VR 技术在高性能计算机和专有设备支…

行政资产管理信息系统

行政资产管理信息系统是通过专业设计开发的资产管理解决方案,旨在为企业建立和完善资产管理体系。该系统可以有效地控制资产的购买和应用,从而节省资金,完成资产的有效管理。   资产管理信息系统的核心功能是统一资产管理,可以…

攻防世界-reverse-logmein

题目描述:菜鸡开始接触一些基本的算法逆向了 下载附件,是一个可执行程序 1. 思路分析 逆向出来看看代码 从代码中来看,密码长度需要和V8相等,并且每一个字符的运算结果需要满足 s[i] (char)(v8[i % v6 - 8] ^ v8[i]) 但是这…

2024年浙财MBA项目招生信息全面了解

2024年全国管理类硕士联考备考已经到了最火热的阶段,不少考生开始持续将注意力集中在备考的规划中!杭州达立易考教育整合浙江省内的MBA项目信息,为大家详细梳理了相关报考参考内容,方便大家更好完成择校以及针对性的备考工作。本期…

有哪些开源和非开源的项目管理工具?

开源和非开源项目管理工具各有其特点和优势。下面是一些常见的开源和非开源项目管理工具以及它们的简要介绍。 开源项目管理工具: OpenProject:OpenProject 是一个功能强大、易于使用的开源项目管理工具。它提供了项目计划、任务管理、团队协作、文档管…

智慧防汛,数字科技的力量

随着夏日的脚步临近,台风季节即将降临。对于那些居住在沿海地区的人们来说,台风是一种常见的自然灾害,其带来的风雨可能对生命和财产造成严重威胁。然而,随着数字科技的飞速发展,可视化技术为防汛抗台工作带来了全新的…

垃圾回收机制和常用的算法

一.什么是垃圾回收? 垃圾回收主要针对堆和方法区(非堆),程序计数器,虚拟机栈,本地方法栈这三个区域属于线程私有,随着线程的销毁,自然就会雄安会了,因此不需要堆着三个区域进行垃圾…

macOS 虚拟桌面黑屏(转)

转自:macOS重置虚拟桌面、macOS 虚拟桌面黑屏 有几次出现如图的情况,以为是iTerm的问题,但是在关闭软件,重启之后,依旧无效。 后面经过网友告知,才知道是虚拟桌面的问题。 为了清理这个问题,有以…

Apache Doris 巨大飞跃:存算分离新架构

作者:马如悦 Apache Doris 创始人 历史上,数据分析需求的不断提升(更大的数据规模、更快的处理速度、更低的使用成本)和计算基础设施的不断进化(从专用的高端硬件、到低成本的商用硬件、到云计算服务)&…

牛客网Verilog刷题——VL56

牛客网Verilog刷题——VL56 题目答案 题目 实现4bit无符号数流水线乘法器设计。电路的接口如下图所示: 输入输出描述: 信号类型输入/输出位宽描述clkwireInput1系统时钟信号rst_nwireInput1异步复位信号,低电平有效mul_awireInputsize乘数mu…

MFC第二十六天 CRgn类简介与开发、封装CMemoryDC类并应用开发

文章目录 CRgn类简介与开发CRgn类简介CRgn类区域管理开发CRgn类区域管理与不规则形状的选取 封装CMemoryDC类并应用开发CMemoryDC.h封装CMemoryDC开发游戏透明动画CFlashDlg.hCFlashDlg.cpp 封装CMemoryDC开发游戏动画 附录四大窗口CDC派生类 CRgn类简介与开发 CRgn类简介 CR…

常微分方程建模R包ecode(二)——绘制相速矢量场

本节中我们考虑一个更为复杂的常微分方程模型, d X C d t ν ( X A Y A ) − β ⋅ X C ⋅ ( Y C Y A ) − ( μ g ) ⋅ X C , ( 1 ) d Y C d t β ⋅ X C ⋅ ( Y C Y A ) − ( μ g ρ ) ⋅ Y C , ( 2 ) d X A d t g ⋅ X C − β ⋅ X A ⋅ ( Y C Y A …

Tcp的粘包和半包问题及解决方案

目录 粘包: 半包: 应用进程如何解读字节流?如何解决粘包和半包问题? ①:固定长度 ②:分隔符 ③:固定长度字段存储内容的长度信息 粘包: 一次接收到多个消息,粘包 应…

利用XSS在线平台获取用户cookie

//XSS弹窗&#xff1a; <script>alert("xss")</script> XSS漏洞&#xff1a; //XSS弹窗&#xff1a; <script>alert("xss")</script> //XSS在线平台&#xff1a; <ScRipT sRc//7ix7kigpovxdbtd32fuspgffmtmufo3wwzgnzaltddewtb…

推荐前端开发者提升效率的工具

是否掌握新的技术很大程度决定着你是否被淘汰。 虽然应用程序试图将网站替代&#xff0c;但前端 Web 开发业务仍在快速变化和增长&#xff0c;前端开发人员的功能并没有消失。以下介绍一款前端开发者提升效率的工具。 目录 一、低代码工具前景 二、如何理解低代码工具 三、前端…

【word技巧】如何做到,批量保存word文档图片

Word文件中有很多图片都需要保存&#xff0c;除了一张张的进行图片另存为以外&#xff0c;我们还有其他方法可以批量一次性保存word文档中的图片嘛&#xff1f;今天分享两个方法&#xff0c;批量保存word文档图片。 方法一&#xff1a; 将文件进行另存为&#xff0c;在选择路…

C++ 用指针处理数组元素

指针加减运算的特点使得指针特别合适于处理存储在一段连续内存空间中的同类数据。而数组恰好是具有一定顺序关系的若干同类型变量的集合体&#xff0c;数组元素的存储在物理上也是连续的&#xff0c;数组名就是数组存储的首地址。这样&#xff0c;便可以使用指针来对数组及其元…

Spring Boot 日志

Spring Boot 日志 ​ 在 Spring Boot 里面是有一个内置了的日志框架的&#xff0c;所以才能运行的时候在控制台打印出来。默认情况下的日志是系统定义和打印的&#xff0c;但我们也可以自行自定义打印日志。 日志的好处&#xff1a; 1、发现问题和定位问题&#xff1b;☆&am…

物联网工程开发实施,应该怎么做?

我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6 物联网工程的概念 物联网工程是研究物联网系统的规划、设计、实施、管理与维护的工程科学&#xff0c;要求物联网工程技术人员根 据既定的目标&#xff0c;依照国家、行业或企业规范&#xff0c;制定物联网…

NVIDIA 535.86.05 Linux 图形驱动程序改进 Wayland 支持

NVIDIA公司近日发布了适用于 Linux、FreeBSD 和 Solaris 系统的 NVIDIA 535.86.05 图形驱动程序&#xff0c;作为其生产分支的维护更新&#xff0c;解决了各种错误和问题。 NVIDIA 535.86.05 是在 NVIDIA 535.54.03 发布一个多月之后发布的&#xff0c;它通过解决在使用某些 W…