云原生丨MLOps与DevOps的区别

news2024/11/25 12:45:15

MLOps 是机器学习 (ML) 工程的很重要的一个部分,专注于简化和加速将 ML 模型交付到生产以及维护和监控它们的过程。

MLOps 涉及不同团队之间的协作,包括数据科学家、DevOps 工程师、IT 专家等。

MLOps 可以帮助组织创建和提高其 AI 和机器学习解决方案的质量。

采用 MLOps 允许机器学习工程师和数据科学家通过实施持续集成和持续部署 (CI/CD) 实践来协作提高模型性能。

它通过整合 ML 模型的适当监控、治理和验证来加速 ML 模型开发过程。

什么是 DevOps?  

DevOps 结合了开发和运营的概念,将单独的应用程序开发和 IT 运营团队结合起来。

/图片来源网络

从最广泛的意义上说,DevOps 是一种哲学,它鼓励组织内团队之间改进沟通与合作。

在最狭义的意义上,DevOps 是指采用能够部署和维护迭代应用程序开发、自动化和可编程基础架构的实践。

它还包括工作场所文化的变化,例如开发人员、系统管理员和其他团队成员之间的信任建立和联系。

DevOps使技术与业务目标保持一致,可以改变软件交付链、工作职能、服务、工具和最佳实践。

MLOps与DevOps的差异化 

以下是MLOps和传统 DevOps之间的一些主要区别。

#   发展

开发的概念是指每个模型中的不同事物,CI/CD 管道略有不同。

开发运维:

  • 通常,代码会创建一个接口或应用程序

  • 在使用一组检查进行部署和测试之前,将代码包装到可执行文件或工件中

  • 理想情况下,这个自动化循环将一直持续到最终产品准备好

MLOps: 

  • 该代码使团队能够构建或训练机器学习模型

  • 输出工件包括可以接收数据输入以生成推理的序列化文件

  • 验证涉及根据测试数据检查训练模型的性能

  • 这个循环也应该持续到模型达到指定的性能阈值

#   版本控制

开发运维:

  • 版本控制通常只跟踪代码和工件的更改

  • 可以跟踪的指标很少

MLOps: 

  • MLOps 管道通常有更多的因素需要跟踪。构建和训练 ML 模型涉及一个迭代实验周期,需要跟踪每个实验的各种指标和组件(对于以后的审计至关重要

  • 要跟踪的其他组件包括训练数据集、模型构建代码和模型工件

  • 指标包括超参数和模型性能指标,例如错误率

#  可重用性

开发运维:

  • DevOps 管道专注于可重复的流程。

  • 团队可在不遵循特定工作流程的情况下混合和匹配流程

MLOps: 

  • MLOps 管道重复应用相同的工作流。跨项目的通用框架有助于提高一致性并允许团队更快地取得进展,因为他们从熟悉的流程开始

  • 项目模板提供结构,支持定制以满足每个用例的独特要求

  • 使用集中式数据管理来整合组织的数据,以加速发现和培训过程。集中化的常见方法包括单一事实来源和数据仓库

#   持续监控

监控对于 DevOps 和 MLOps 都是必不可少的,但原因略有不同。

开发运维:

  • 站点可靠性工程 (SRE) 在过去几年中一直呈趋势,强调从开发到生产部署都需要监控软件

  • 该软件不会像 ML 模型那样退化

MLOps: 

  • 机器学习模型会迅速退化,需要持续监控和更新

  • 生产环境中的条件会影响模型的准确性。部署到生产环境后,模型开始根据来自现实世界的新数据生成预测。这些数据不断变化和适应,降低了模型性能

  • MLOps 通过合并程序以促进持续监控和模型再培训,确保算法保持生产就绪

#   基础设施

DevOps 和 MLOps 都严重依赖云技术,但有不同的操作要求。

DevOps依赖于基础设施:

  • 基础设施即代码 (IaC)构建服务器

  • 构建服务器

  • CI/CD 自动化工具

MLOps依赖于以下基础设施:

  • 深度学习和机器学习框架

  • 大型数据集的云存储

  • 用于深度学习和计算密集型 ML 模型的

DevOps 和 MLOps 趋势 

以下是推动 DevOps 和 MLOps 发展的一些主要趋势。

#  GitOps

作为 DevOps 工作流程的新演变,GitOps 是一种用于控制和自动化基础架构的新范例。面向 Kubernetes 的范例使开发人员和运营团队能够使用 Git 管理 Kubernetes 集群并交付容器化应用程序。

为运营和开发团队实施 Git 工作流程允许开发人员利用 Git 拉取请求来管理软件部署和基础设施。

GitOps 整合了现有的开发工具,通过 CI/CD 管理云原生和基于集群的应用程序。它使用 Git 存储库作为单一事实来源,自动部署、监控和维护云原生应用程序。

GitOps 是一种在 Kubernetes 中实现和维护集群的方法。持续交付和部署允许开发人员通过增量发布更快地构建、测试和部署软件。

Kubernetes 持续集成和运行时管道必须能够读取和写入文件、更新容器存储库以及从 Git 加载容器。

GitOps 通过版本控制、实时监控和配置更改警报来帮助企业管理其基础架构。

#  综合数据

合成数据是人工生成的任何信息,而不是从真实事件中收集的信息。算法生成合成数据,用作操作和生产测试数据集的替代品。

合成数据集也可用于验证数学模型和训练机器学习模型。

合成数据的好处包括:

  • 最大限度地减少与使用敏感和受监管数据相关的限制

  • 根据实际数据中不可用的特定要求和条件自定义数据

  • 为 DevOps 团队生成用于测试软件质量和性能的数据

#  无代码机器学习和人工智能

机器学习通常涉及计算机代码来设置和处理模型训练,但情况并非总是如此。

无代码机器学习是一种编程方法,它消除了 ML 应用程序通过耗时过程的需要。

Codeless ML 消除了专家开发系统软件的需要。

它的部署和实施也更简单、更便宜。在机器学习过程中使用拖放输入可以通过以下方式简化培训工作:

  • 评估结果

  • 拖放训练数据

  • 创建预测报告

  • 使用纯文本查询

Codeless ML 使开发人员可以轻松访问机器学习应用程序,但它不能替代高级、细致入微的项目。

这种方法适用于缺乏资金来维持内部数据科学团队的小型企业。

#  TinyML

TinyML 是一种机器学习和人工智能模型开发的新方法。它涉及在具有硬件限制的设备上运行模型,例如为智能汽车、冰箱和电表供电的微控制器。

这种策略最适合这些用例,因为它加快了算法的速度——数据不需要在服务器上来回传输。它在大型服务器上尤为重要,可以加快整个 ML 开发过程。

在物联网边缘设备上运行 TinyML 程序有很多好处:

  • 降低能耗

  • 减少延迟

  • 用户隐私保证

  • 降低带宽要求

使用 TinyML 提供了更大的隐私,因为计算过程完全是本地的。它消耗更少的功率和带宽,从而降低延迟,因为它不需要将数据发送到中央位置进行处理。

正在利用这一创新的行业包括农业和医疗保健。

他们通常使用嵌入了 TinyML 算法的物联网设备,使用收集到的数据来监控和预测现实世界的事件。

写在最后 

本文中,我介绍了 MLOps 和 DevOps 之间的主要区别:

开发——DevOps 管道专注于开发软件产品的新版本,而 MLOps 专注于提供有效的机器学习模型。

版本控制——DevOps 主要关注跟踪二进制文件和软件工件,而 MLOps 跟踪其他因素,如超参数和模型性能。

可重用性——DevOps 和 MLOps 都努力创建可重用的流程和管道,但使用不同的策略来实现可重复性。

持续监控——监控对 DevOps 很重要,但在 MLOps 中更重要,因为模型和数据漂移会导致模型性能下降。

最后,介绍了一些将在不久的将来改变 DevOps 和 MLOps 的关键趋势。

我希望这将有助于您在新的、令人兴奋的开发生态系统中发现自己的位置。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卧式钢筋切割机设计

目 录 1 绪论 1 1.1 国内外钢筋切割技术的发展状况 1 1.2 冷轧带肋钢筋的概述 2 1.2.1 钢筋的种类 2 1.2.2 冷轧带肋钢筋的表面形式 3 1.2.3 冷轧带肋钢筋基本性能 3 1.3 课题的提出和意义 4 2 对钢筋类金属材料弹塑性弯曲的分析 4 2.1 概述 5 2.2 弹塑性弯曲的变形过程 6 3 切…

再次安装torch踩过的坑

没有多余空间 我用conda 从新创建了一个项目环境,安装了一些基础的库。然后当我下载安装torch的时候,报错说安装的空间不足,我看了一下,torch确实比较大,一个多G,但是之前也没有出现过这个问题。 一开始以…

python中如何打印日志信息

日志打印方式 常见的Python日志打印方式为使用内置函数print()或者logging模块打印日志。 print()只能将日志打印至控制台,不推荐此方式logging模块默认将日志打印至控制台,也可以配置打印到指定日志文件,推荐使用此方式 logging模块 日志…

[附源码]JAVA毕业设计高速公路服务区管理系统(系统+LW)

[附源码]JAVA毕业设计高速公路服务区管理系统(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项…

二分查找 binarySearch 适合初学分析的例子

递归代码&#xff1a; #include <cstdio> #include <algorithm> #define MAX 5 using namespace std;int binarySearch(int x,int a[],int left,int right);int main() {int a[MAX]{1,3,4,5,9};printf("find %d location is %d\n",4,binarySearch(4,a,0…

Sap中的RFC接口

文章目录1 Definition2 Call process3. Communication4 Communication module5 RFC version .6 RFC and Web service7 Remote object maintain8 Call RFC9 Summary1 Definition 2 Call process 3. Communication 4 Communication module 5 RFC version . 6 RFC and Web service…

Linux驱动: rtc子系统

1. 前言 限于作者能力水平&#xff0c;本文可能存在的谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. 背景 本文分析代码基于Linux 3.10内核&#xff0c;硬件平台为嵌入式ARM32平台. 3. rtc子系统 3.1 相关代码文件列表 drivers/rtc/class.c …

代码文档

为您的团队和您未来的自己代码文档。 Intuition 代码告诉你_怎么_做&#xff0c;注释告诉你_为什么_。——杰夫阿特伍德 可以通过代码文档来进一步组织代码&#xff0c;让其他人&#xff08;以及未来的自己&#xff09;更容易轻松地导航和扩展它。在完成编写代码库的那一刻就最…

HTML+CSS大作业:众志成城 抗击疫情 抗击疫情网页制作作业 疫情防控网页设计

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

某金融机构身份国产化LDAP创新实践——国产自主可控 LDAP目录服务建设经验分享

一、项目背景 自2019年以来&#xff0c;金融行业信创发展进程加快。从2020年一期试点的47家到2021年二期试点198家&#xff0c;2022年三期试点启动的同时也进入全面推广阶段&#xff0c;试点范围由大型银行、证券、保险等机构向中小型金融机构渗透&#xff0c;涉及全行业5000余…

怎么架设魔兽世界服务器?

怎么架设魔兽世界服务器&#xff1f; 准备工具&#xff1a; 1、装有windows98/2000/xp/2003系统、内存至少256M的电脑一台 2、魔兽服务器端一个 3、mysql4.0.2&#xff08;不要用最新的5.0&#xff0c;有问题&#xff09; mysql-control-center0.9.4 MyODBC-standard-3.5…

Kamiya丨Kamiya艾美捷人β2-微球蛋白ELISA说明书

Kamiya艾美捷人β2-微球蛋白ELISA预期用途&#xff1a; 人β2-微球蛋白ELISA是一种高度敏感的双位点酶联免疫测定&#xff08;ELISA&#xff09;人类生物样品中β2-微球蛋白的定量测定。仅供研究使用。 β2-微球蛋白&#xff08;B2M&#xff09;是一种11 kDA蛋白。它形成MHC I…

acwing基础课——DFS

由数据范围反推算法复杂度以及算法内容 - AcWing 常用代码模板3——搜索与图论 - AcWing 基本思想&#xff1a; 深度优先搜索算法&#xff08;Depth First Search&#xff0c;简称DFS&#xff09;&#xff1a;一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点&…

Java HashMap 在获得 Key 的 Hash 值的时候用的是什么算法

Java 在 HashMap Key 的 Hash 值的时候用的的是自己 Object 中的 hashCode() 算法。 返回的结果是一个整数值。 如果你查看 JDK 的源代码的话&#xff0c;在 HashMap 类中会有下面的这个方法。 public final int hashCode() {return Objects.hashCode(key) ^ Objects.hashCod…

nRF52笔记(26)QSPI接口液晶显示屏

1 平台条件 硬件&#xff1a;nrf52840 软件&#xff1a;sdk17.0 2 QSPI概述 QSPI 外设支持使用 SPI 与外部闪存设备进行通信 此处列出了 QSPI 外设的主要特性&#xff1a; • 单/双/四通道 SPI 输入/输出 • 2–32 MHz 可配置时钟频率 • 从/到外部闪存的单字读/写访问 • …

亚马逊哪些因素会影响转化率,如何才能做得更好(测评)

作为亚马逊卖家和运营&#xff0c;你有没考虑过亚马逊的转化率是由哪些因素影响的呢&#xff1f;要怎么去做改变&#xff1f; 下面我总结了七个能影响亚马逊转化率因素给大家做参考。 第一点&#xff1a;图片 首先要求像素不低于1000才能有放大镜功能。从数据来看主图和第二…

Batocera(巴托塞拉)技巧记录集合

目录指引技巧&#xff1a; 直接在虚拟机插上你的BatoceraU盘&#xff08;硬盘&#xff09;玩&#xff0c;不用重启引导。1&#xff0c;安装虚拟机2&#xff0c;设置游戏盘启动a&#xff0c;查看磁盘的物理编号。b&#xff0c;创建usb的引导文件c&#xff0c;添加游戏盘USB盘3&a…

[附源码]Python计算机毕业设计Django的小区宠物管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

设计模式 之 创建型模式

设计模式 之 创建型模式 模式 & 描述包括创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式&#xff0c;而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。工厂模式&#xff08;Factory Pattern&a…

H2N-Gly-Gly-Pro-COOH,14379-76-1

H-Gly-Gly-Pro-OH 是由 3 个氨基酸构成的多肽。H-Gly-Gly-Pro-OH is a peptide with 3 amino acid. 编号: 116909中文名称: 三肽Gly-Gly-Pro英文名: Gly-Gly-Pro英文同义词: Glycyl-glycyl-L-prolineCAS号: 14379-76-1单字母: H2N-GGP-OH三字母: H2N-Gly-Gly-Pro-COOH氨基酸个数…