什么是MLOps?

人工智能(AI)和机器学习(ML)应用激动人心的发展浪潮也许会让人相信,企业交付ML产品的能力也在迅速提高。但现实情况是,ML内部流程很难跟上行业的整体发展……但若以MLOps的形式则有希望解决此问题! MLOps是机器学习操作的缩写,基于一系列流程和最佳做法,通过数据科学家和操作人员之间的敏捷和实时协作来交付ML产品。其目标是尽可能将ML构建流程自动化,以实现持续交付。随着新一轮自动化操作浪潮的到来,所有工程组件聚集起来,以实现大规模构建AI。 重要说明:您可能听说过AIOps一词,并认为它可与MLOps互换使用。但事实并非如此:AIOps涵盖面较小,它是指将机器学习应用于IT操作的自动化。

为什么要推动MLOps?

由于内部ML流程的孤立性和缓慢性,开发机器学习产品仍然极具挑战。以下将简要说明阻碍企业和组织构建ML的内部问题:

  • 内部流程几乎都未实现自动化。
  • 尽管数据科学家和运营团队需要合作,但他们仍然各自为营。
  • 很少有明确的流程和通路存在。
  • 后期再训练模型未达到模型要求的程度,这也导致随着时间的推移模型性能下降。
  • 对监管和合规性问题的监督不足。

这些因素可能导致缺乏促进有效AI开发所需的可再生性、可扩展性和敏捷性。但这正是MLOps可以发挥作用的地方。有了适当的基础架构和流程,MLOps就可以克服这些挑战,并带来许多益处,例如:

  • 结合专业知识提高效率:MLOps能促进传统上各自孤立的团队之间进行沟通。它将运营团队的商业意识与数据科学家的ML专业知识相结合,促进其循环协作。同时,使各个团队都能专注于自己最擅长的工作。
  • 定义监管流程责任制:运营团队可以监督监管和合规问题,及时了解这些领域的变化情况,并确保数据科学团队可立即了解该等信息。
  • 减少浪费:按照目前的ML开发方式,在时间、金钱和机会成本方面存在大量浪费。例如,数据科学家把大量时间花在他们本不该做的重复性工作上。MLOps可充分利用每个团队的技能,使之从事各自最擅长的工作,使管道自动化,从而实现快速交付和可再生性。
  • 支持快速迭代:通过持续的集成、交付和管道自动化,MLOps可使团队快速迭代。这意味着系统将缩短成功部署的上市时间,并扩大总体部署。
  • 生产更丰富的产品:通过在ML生命周期中利用最佳做法,MLOps可以确保团队使用先进的工具和基础架构来支持部署。凭借快速集成的额外能力,团队就有时间进行更多的试验,以提高其产品的准确性。最终,用户将能获得更丰富、更优质的产品体验。

如果在组织中使用MLOps,您将能够交付更大规模的创新性AI解决方案。不仅如此,您还能重复实现。  

如何在组织中实施MLOps

显然,在高层次上,MLOps可为ML开发带来有力的积极变化。但您该如何在组织中实际实现MLOps?让我们通过ML生命周期的不同阶段来简化说明:

数据

项目的数据部分涉及几个关键步骤:

  • 数据采集:无论您是通过内部、开源还是第三方数据提供商获取数据,都必须设置一个可根据需要持续采集数据的流程。在ML开发生命周期的开始及结束时所需的再训练中都需要大量数据。拥有一致、可靠的新数据来源对项目的成功至关重要。
  • 数据清理:这包括删除任何不需要或不相关的数据,或是清理散乱的数据。在某些情况下,可以简单地将数据转换为所需的格式,如CSV文件。其中的一些步骤可以通过自动化实现。
  • 数据标注:ML生命周期中最耗时、最具挑战性但也最为关键的阶段可能是标注数据的过程。试图在内部采取这一步骤的公司往往面临资源有限和花费时间太多等问题。其他选择包括雇佣承包商完成工作或众包,将选择范围扩大到更多元化的标注人员。许多公司选择与外部数据提供商合作,后者可以提供大量标注人员、平台和工具,以满足不同的标注需求。部分标注流程还可以自动化,这取决于具体用例和质量需求。

建立连续的数据管道是MLOps实施中的重要步骤。将标注流程视为循环很有帮助,因为您通常会在构建模型流程的后期意识到您需要额外的数据,并且您不会希望从头开始查找并准备这些数据。

模型

在模型构建阶段,需要完成以下工作:

  • 模型训练:使用标注数据创建训练集和测试集。在这一步,将使用训练集告诉模型需要学习识别哪些特征。ML中有许多模型训练方法(包括从完全监督到半监督、无监督,以及介于三者之间的各种方法)。您选择的方法将取决于您的用例、可用的资源,以及对您而言重要的指标。某些训练方法可以纳入自动化。
  • 模型测试和验证:应根据测试集评估模型的性能,判断模型是否达到所需的KPI。在部署模型之前,必须对整个系统进行验证,以确保其能够按照预期正确地工作。
  • 模型部署:模型被部署到生产中;系统上线。

请记住,虽然模型构建属于数据科学家的职责范围,但运营团队应始终了解ML开发的每个阶段。为您的模型开发一个存储库,其中包括完整的历史记录,将有助于实现其中所需的透明度。

后期处理

部署模型之后,您将需要安排一个持续的测试流程。包括:

  • 监控:根据KPI持续监控模型。如果模型未能满足任何KPI要求,则应设置警报并制定应对计划。
  • 再训练:再训练是ML开发中关键但却往往被忽略的步骤。当外部环境发生变化时,必须根据新数据对模型进行不断地再训练。

确定谁将接管生产后期的监控和再训练。这是利用自动化数据管道来处理所需的再训练的关键所在。 虽然这只是对ML生命周期的简要概述,但关键在于,有很多机会可以自动化这个过程,并使用反馈循环和管道来提高部署速度和可再现性。MLOps的目标应该是避免冗余、充分利用协作,并最终实现创新AI的规模化和交付。  

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

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

相关文章

面试复盘5——后端开发——一面

前言 本文主要用于个人复盘学习,因此为保障公平,所以本文不指出公司名,题目编号只是为了自己区别而已。对待面经,望读者还是更多从其中学习总结,而不是去碰原题。 面试岗位信息 后端开发秋招,上海某大中…

08.Kubernetes node 节点部署

Kubernetes node节点部署比较繁琐,需要配置一堆的配置文件和证书,手动配置特别容易出错。 这就体现出用脚本部署的优势,将繁琐的操作批量自动化 一是极大的提升效率(尤其是节点比较多的时候)二是确保所有节点配置的统一性(配置统一很重要,因为正常情况下,如果某个节点出…

一文让你读懂Python中的Response对象

目录 引言 一、Response对象简介 二、Response对象的组成 三、Response对象的创建 1、使用内置的http.client模块: 2、使用requests库: 3、使用Django框架: 四、Response对象的处理 1、发送给客户端: 2、设置响应头&…

centos 编译安装 libxml-2.0

centos 编译安装 libxml-2.0 下载地址 我下载的 libxml2-2.9.12.tar.gz 版本 下载后解压&#xff0c;进入解压后的目录 执行&#xff1a; ./configure make && make install安装过程中出现 <Pyghon.h> 找不到的问题&#xff0c;指定了路径之后还是找不到&…

来看看这个技术,这才是UPS监控的最好方式!

在现代社会中&#xff0c;信息技术的持续发展使得机房UPS监控变得至关重要。机房是企业信息系统的核心&#xff0c;UPS监控系统能够确保在电力故障或其他问题发生时&#xff0c;机房设备能够持续稳定运行&#xff0c;从而保障数据的安全性和可用性。 客户案例 金融机构 河北某…

2660. 保龄球游戏的获胜者 --力扣 --JAVA

题目 给你两个下标从 0 开始的整数数组 player1 和 player2 &#xff0c;分别表示玩家 1 和玩家 2 击中的瓶数。 保龄球比赛由 n 轮组成&#xff0c;每轮的瓶数恰好为 10 。 假设玩家在第 i 轮中击中 xi 个瓶子。玩家第 i 轮的价值为&#xff1a; 如果玩家在该轮的前两轮的任何…

fork函数详解【Linux】

fork函数详解【Linux】 fork函数的概念fork调用后的底层细节解释fork学习中的一些笔记和问题fork的写实拷贝深拷贝的策略 fork调用失败的原因 fork函数的概念 调用fork函数可以在已存在的进程中创建一个子进程&#xff0c;此时&#xff0c;新进程叫做子进程&#xff0c;原进程叫…

SpringBoot当中的Singleton和Prototype详解

在Spring Boot中&#xff0c;Singleton和Prototype是两种Bean的作用域。这两种作用域决定了Spring容器如何创建和管理Bean的实例。 Singleton&#xff08;单例&#xff09;&#xff1a; 当一个Bean被配置为Singleton作用域时&#xff0c;Spring容器在启动时只会创建该Bean的一个…

Spring Boot 入参校验及全局异常处理

版本依赖 JDK 17 Spring Boot 3.2.0 源码地址&#xff1a;Gitee Spring Boot validation spring-boot-starter-validation是基于hibernate-validator的实现&#xff0c;在Spring Boot项目中直接导入spring-boot-starter-validation即可。 Valid 和 Validated 的区别 适用范围…

《对话品牌》——活到老“养”到老

本期节目《对话品牌》栏目组邀请到了深圳壹常青健康管理有限公司董事长邬锡娣女士参加栏目录制&#xff0c;分享其企业故事&#xff0c;树立品牌形象&#xff0c;提升品牌价值&#xff01; 节目嘉宾&#xff1a;邬锡娣女士 节目主持人&#xff1a;董倩 节目播出平台&#xf…

在线教育系统源码解读:定制化企业培训APP的开发策略

当下&#xff0c;企业培训正经历着一场数字化的迭代&#xff0c;定制化企业培训APP应运而生&#xff0c;成为提升员工技能、推动企业发展的重要工具。下文小编将与大家一同深入了解在线教育系统的源码&#xff0c;探讨开发定制化企业培训APP的策略&#xff0c;以满足不同企业的…

C#获取windows系统资源使用情况

1.前言 之前有一篇博客介绍如何获取Linux服务器上的资源使用情况《Java 获取服务器资源&#xff08;内存、负载、磁盘容量&#xff09;》&#xff0c;这里介绍如何通过C#获取Window系统的资源使用。 2.获取服务器资源 2.1.内存 [DllImport("kernel32.dll")][retu…

jenkins解决工具找不到的问题

--------------------------插件选择版本最好能跟服务器对上

香橙派5plus从ssd启动Ubuntu

官方接口图 我实际会用到的就几个接口&#xff0c;背面的话就一个M.2固态的位置&#xff1a; 其中WIFI模块的接口应该也可以插2230的固态&#xff0c;不过是pcie2.0的速度&#xff0c;背面的接口则是pcie3.0*4的速度&#xff0c;差距还是挺大的。 开始安装系统 准备工作 一张…

常用入门算法

一&#xff1a;快慢指针 适合原地调换一个数组的元素们的位置&#xff0c;使用for循环&#xff0c;声明两个下标&#xff0c;一个移的快&#xff0c;一个移的慢。 快的指针用来往前走&#xff0c;慢的用来停在目标数据上。典型的案例&#xff1a;283. 移动零 1、给定一个数组…

C语言中关于switch语句的理解

首先我们来看一下switch的定义 switch&#xff08;整型表达式&#xff09; { case 整型常量表达式: 语句&#xff1b; } 我们在书写时要注意一下&#xff0c;无论是在switch还是case&#xff0c;后面跟着的都一定要是整型&#xff0c;而且case这一行写完时&#xff0c;最后要用…

图片放大后变模糊了怎么办?这个方法惊艳你

我们需要了解为什么图片放大会模糊。在照片放大时&#xff0c;像素也会随之增加。如果图片的像素不足&#xff0c;那么放大后每个像素的大小也会增加&#xff0c;从而导致细节模糊。 那么&#xff0c;面对这个问题&#xff0c;我们该如何解决呢&#xff1f;别急&#xff0c;让…

MySQL 数据页损坏处理思路

文章目录 前言1. 备份恢复2. 强制 InnoDB 恢复2.1 损坏数据页2.2 观察错误日志2.3 设置参数2.4 定位表信息2.5 分析处理2.6 恢复数据 总结 前言 研发自己搭建了一套 MySQL 没有设置双一参数&#xff0c;机房异常断电&#xff0c;导致数据页出现损坏&#xff0c;本篇文章介绍此…

狗笼,预计2028年将以 6.2%的复合年增长率增长

对于想要为爱犬提供安全舒适空间的宠物主人来说&#xff0c;狗笼是必不可少的宠物配件。由于宠物主人的数量不断增加以及人们对宠物安全和福祉的意识不断增强&#xff0c;狗笼市场一直在稳步增长。 全球市场分析&#xff1a;全球狗笼市场预计从 2021 年到 2028 年将以 6.2% 的复…

【C语言】动态内存管理详解

文章目录 前言动态内存管理出现的原因malloc函数和free函数函数原型使用 calloc函数和realloc函数函数原型使用 动态内存使用中容易出现的错误柔性数组总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 动态内存管理是C语言中一项重要的编程任务&…