什么是MLOps?

news2025/1/15 17:18:59

人工智能(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.coloradmin.cn/o/1340852.html

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

相关文章

基于遗传算法的航线规划

MATLAB2016b可以正常运行 基于遗传算法的无人机航线规划资源-CSDN文库

【网络安全 | 扫描器】御剑安装及使用教程详析

御剑是一款传统的Web网络安全综合检测程序,支持对PHP、JSP、ASPX等文件进行扫描,具备全扫描、网络安全扫描和主机安全扫描能力,方便发现网站漏洞。 文章目录 下载使用教程 本文对御剑的安装及使用教程进行详析 下载 下载地址读者可自行上网…

ARM CCA机密计算软件架构之RMI领域管理接口与RSI领域服务接口

领域管理接口 领域管理接口(RMI)是RMM与正常世界主机之间的接口。 RMI允许正常世界虚拟机监视器向RMM发出指令,以管理领域。 RMI使用来自主机虚拟机监视器的SMC调用,请求RMM的管理控制。 RMI使得对领域管理的控制成为可能&…

Python新手上路:“用Python和Pygame创造你的流星雨”

文章目录 一、前言二、下载安装过程1.官网下载安装包2.安装python过程第一步第二步第三步第四步第五步安装完成 3.简单测试Python3.1 检查 Python 版本号3.2 打开 Python 解释器3.3 输入你的第一个代码3.4 运行 Python 脚本 4.安装Pygame4.1 cmd命令安装Pygame4.2 pip升级4.3 安…

所有逐个位置相加的方法

989. 【加法模板】秒杀所有逐位相加 参考教程

python学习14

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

桥接模式-举例

概叙:桥接模式用一种巧妙的方式处理多层继承存在的问题, 用抽象关联取代了传统的多层继承, 将类之间的静态继承关系转换为动态的对象组合关系, 使得系统更加灵活,并易于扩展, 同时有效控制了系统中类的个数…

使用pytorch搭建ResNet并基于迁移学习训练

这里的迁移学习方法是载入预训练权重的方法 net resnet34()# load pretrain weights# download url: https://download.pytorch.org/models/resnet34-333f7ec4.pthmodel_weight_path "./resnet34-pre.pth"assert os.path.exists(model_weight_path), "file {}…

Keras多分类鸢尾花DEMO

完整的一个小demo: pandas1.2.4 numpy1.19.2 python3.9.2 import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import DataFrame from scipy.io import loadmat from sklearn.model_selection import train_test_split impor…

硅像素传感器文献调研(三)

写在前面: 引言:也是先总结前人的研究结果,重点论述其不足之处。 和该方向联系不大,但还是有值得学习的地方。逻辑很清晰,易读性很好。 1991年—场板半阻层 使用场板和半电阻层的高压平面器件 0.摘要 提出了一种…

【没有哪个港口是永远的停留~论文简读】Panoptic SegFormer

Panoptic SegFormer 原文:https://arxiv.org/pdf/2109.03814.pdf 代码:GitHub - zhiqi-li/Panoptic-SegFormer: This is the official repo of Panoptic SegFormer [CVPR22] 在全景分割中,图像内容可分为things和stuff两类。 things是可计…

2023.12.28力扣每日一题——收集巧克力

2023.12.28 题目来源我的题解(参考力扣官方题解)方法一 枚举方法二 二次差分 题目来源 力扣每日一题;题序:2735 我的题解(参考力扣官方题解) 嗯……今天不会,就当一次搬运工吧。 方法一 枚举…

去水印软件哪个好用?用他们就够了

随着数字媒体的发展,越来越多的人开始需要处理带有水印的图片或视频。水印不仅是一种版权保护手段,也常常被用来标记图片或视频的来源。然而,在某些情况下,我们可能需要去除水印以实现更好的使用效果。那么,去水印软件…

【C++进阶03】二叉搜索树

一、二叉搜索树的概念和性质 中序遍历二叉搜索树会得到一个有序序列 所以二叉搜索树又称二叉排序树 它可以是一棵空树 也可以是具有以下性质的二叉树: 若它的左子树不为空 则左子树上所有节点的值都小于根节点的值若它的右子树不为空 则右子树上所有节点的值都大于…

技术经验|Java基础之LocalTime类

文章目录 1 背景2 Time包在实际开发中的位置3 本地日期和时间类3.1 LocalTime自带功能3.2 LocalTime继承、重写功能 4 总结 📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师 🔥 三连支持&a…

【Java系列】多线程案例学习——基于阻塞队列实现生产者消费者模型

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习JavaEE的一点学习心得,欢迎大家在评论区交流讨论💌 目录…

九九乘法表c 语言 用于打印九九乘法表

以下是一个简单的C语言程序&#xff0c;用于打印九九乘法表&#xff1a; #include <stdio.h>int main() {int i, j;for (i 1; i < 9; i) {for (j 1; j < i; j) {printf("%d*%d%-2d ", j, i, i*j);}printf("\n");}return 0; }解释&#xff1…

GBASE南大通用GBaseCommand 类

代表一个要对 GBASE南大通用数据库执行操作的 SQL 语句。这个类不能被继承。对 于该类所有成员的列表&#xff0c;参考 GBASE南大通用 GBaseCommand 成员。  继承层次 System.Object |__ System.MarshalByRefObject |__ System.ComponentModel.Component |__ System.D…

go语言,ent库与gorm库,插入一条null值的time数据

情景介绍 使用go语言&#xff0c;我需要保存xxxTime的字段至数据库中&#xff0c;这个字段可能为空&#xff0c;也可能是一段时间。我采取的是统一先赋值为空&#xff0c;若有需要&#xff0c;则再进行插入&#xff08;需要根据另一个字段判断是否插入&#xff09; 在我的数据…

‘>>’,‘<<’和‘’的使用

>>: n n >> 1 是使用位移运算符将 n 向右移动一位的操作。在 C 语言中&#xff0c;>> 是右移位运算符&#xff0c;表示将二进制数向右移动指定的位数。 对于无符号整数&#xff0c;在右移位操作时&#xff0c;高位用 0 填充。例如&#xff0c;如果 n 的二…