当 ML 遇到 DevOps:如何理解 MLOps

近年来,人工智能 (AI) 和机器学习 (ML) 已经席卷全球,几乎成为任何行业的重要组成部分,从零售和娱乐到医疗保健和银行业。这些技术能够通过分析大量数据实现运营自动化、降低成本和促进决策,从而从根本上改变企业。最近,AI 和 ML 项目的数量急剧增加,这给有效的 ML 项目管理带来了困难。这就是 MLOps 进入科技行业中心舞台的方式。

什么是 MLOps?

MLOps,即机器学习操作,是一种优化 ML 生命周期的方法,以加速 AI 驱动的应用程序的创建。它遵循类似 DevOps 的技术,用于在 ML 领域进行快速可靠的软件开发。MLOps 与 DevOps 一样,可以促进协作思维,使数据科学家、软件工程师和数据专家之间能够持续沟通。它涵盖了 ML 过程的所有方面,从数据收集和模型创建到最终部署和持续的项目增强。

人工智能和机器学习到底是什么?

尽管它们关系密切,但 AI 和 ML 是两个不同的概念,不应混淆。人工智能是一个总称,涵盖了使计算机系统模仿人类智能的各种方法和技术。反过来,ML是AI的一个子领域,它允许计算机自动从结构化数据中学习。它专注于使用大型数据集训练算法,以创建复杂的 ML 模型,这些模型能够执行复杂的任务,例如分析大数据、对图像进行排序和生成类似人类的语音。

ML 生命周期包括哪些内容?

几乎所有的ML项目在其周期性生命周期中都会经历以下阶段:

  • 数据采集: 创建高质量的数据集是 ML 生命周期的重要组成部分,其中包括收集文本、图像、声音或视频等数据。
  • 数据准备和整理:随机化,将数据组织到数据集中,删除错误和重复项,并将其转换为可用的格式。
  • 模型开发:选择有效的模型架构,创建模型,在数据集上训练模型,对其进行调整和评估。
  • 模型部署:将经过训练的机器学习模型引入现实生活中的系统,并确定它是否使用可用数据提高其性能。
  • 监测:观察系统,通过早期检测和纠正来确保和保持所需的性能水平。

MLOps 如何改进 ML 生命周期?

MLOps 采用 DevOps 技术来创建最佳的标准化 ML 方法。在 ML 过程的所有阶段,它都严重依赖于以下实践:

  • 版本控制: 它广泛用于软件工程,涉及跟踪、存储和管理随时间推移对代码所做的更改。在 ML 中,它更进一步,专注于关键的 ML 组件(数据和模型),以确保可追溯性、可重复性、回滚、调试和协作。数据版本控制对于模型开发至关重要,而模型版本控制在模型的整个生命周期中都是必不可少的。
  • 持续集成和持续部署 (CI/CD):这些实践围绕着审查、重新评估和识别 ML 模型问题的持续过程展开,这允许在收到新数据时更改模型。CI/CD 还可以自动执行 ML 管道的各个部分,例如开发、构建和测试阶段。
  • 监控和日志记录:ML 模型监控负责持续跟踪已部署模型在生产中的性能,提供关键反馈,并确保模型准确预测并随着时间的推移提供价值。日志记录创建应用程序事件的记录,可用于识别在模型开发的任何阶段发生的性能问题的根源。
  • 模型治理和合规性: 这些做法旨在降低与模型性能不佳相关的风险,这可能导致各种问题,从糟糕的决策和糟糕的客户体验到违反国家和国际法律法规。例如,许多企业必须遵守许多国家/地区严格的个人数据安全法规。
  • 基础架构和可扩展性:构建、训练和运行 ML 模型所需的资源、工具和流程的组合称为 ML 基础设施。它通过协助数据科学家和工程团队管理和操作各种资源,以及简化训练和部署流程,确保 ML 工作流程的每个阶段的成功实施。ML 可扩展性是指 ML 应用程序处理任何数量数据的能力,同时在为数百万用户提供服务的同时保持成本效益和节省时间。
  • 自动化测试: 通过自动化单元和集成测试,MLOps 从业者可以产生长期影响。自动化加速了单元测试,单元测试基于将代码划分为多个块并单独测试每个块的概念。它还改进了集成测试,用于查看组件如何相互交互。其主要目标是确保组合单元相互交互,并且系统符合所有模型标准。

开展 MLOps 职业需要什么?

任何想要在 2023 年接受挑战,将自己的职业生涯转向这个充满活力的 AI 领域的人都应该熟悉 MLOps 中使用的基本实践、概念、工具和平台。它们如下:

  • 数据工程、机器学习和软件开发:了解 Python 编程语言的基础知识以及 ML 框架 TensorFlow 和 PyTorch 至关重要。
  • DevOps:了解 DevOps 原则、版本控制系统、CI/CD 管道以及 AWS 或 Google Cloud 等云平台至关重要。
  • MLOps 工具:熟悉用于管理端到端 ML 工作流的工具(包括 MLflow、Kubeflow 和 Apache Airflow)至关重要。
  • 实践:若要在 MLOps 中取得成功,必须在实际场景中构建、测试和部署 ML 机器学习模型。从小型个人项目开始可以帮助为在大型科技公司工作铺平道路。
  • 社区:沉浸在社区生活中,参加比赛和黑客马拉松,并与其他专业人士合作,对于及时了解 MLOps 开发、学习新技能和取得成功至关重要。
  • 认证:从云提供商处获得 ML 和 DevOps 认证至关重要,这样才能建立强大的简历并找到一份理想的工作。

结论:为什么 MLOps 很重要?

MLOps 是一组高效的做法,代表了向优化 ML 生命周期的转变,从而更快、更敏捷地开发、测试和维护 AI 应用程序。它的主要好处是效率、可扩展性和降低风险。


更多技术干货请关注公号【云原生数据库

squids.cn,云数据库RDS,迁移工具DBMotion,云备份DBTwin等数据库生态工具。

irds.cn,多数据库管理平台(私有云)。

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

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

相关文章

Angular进阶之六:Progressive rendering

简介 Progressive Rendering 是一种提高 Web 应用性能的方法,允许页面在加载过程中逐步呈现,以提高用户体验。在本文中,我们将探讨如何在 Angular 中通过自定义指令实现 Progressive Rendering,特别是处理从服务器获取大量数据的…

Java开发过程中的幂等性问题

幂等性问题: 1. 有时我们在填写某些 form表单 时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 2. 我们在项目中为了解决 接口超时 问题,通常会引入了 重试机制 。第一次请求接口超时了…

初等数论基础

欧拉函数 欧拉函数 ϕ ( x ) ,其中 x 是正整数,函数的值是从 0 到 x − 1 之间与 x 互为质数的个数 欧拉函数\phi(x),其中x是正整数,函数的值是从0到x-1之间与x互为质数的个数 欧拉函数ϕ(x),其中x是正整数&#xff0c…

【揭秘】如何使用LinkedHashMap来实现一个LUR缓存?

LRU(Least Recently Used)缓存是一种常用的缓存淘汰策略,用于在有限的缓存空间中存储数据。其基本思想是:如果数据最近被访问过,那么在未来它被访问的概率也更高。因此,LRU缓存会保留最近访问过的数据&…

CSS中背景设置——渐变色和放射渐变

渐变:通过渐变可以设置一些复杂的背景颜色,可以从实现一个颜色向其他颜色过渡的效果 渐变是图片,通过 background-image设置 一、渐变色 可选值 1: linear-gradient [ɡreidiənt],线性渐变,颜色沿着一条…

一年中的第几天

一年中的第几天 提示 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 第一版: int dayOfYear(char* date) {int i0;int year0,month0,day0;while(date[i]!-){year*10;yeardate[i]-0;i;}i;year(yea…

Python编程新技能:如何优雅地实现水仙花数?

水仙花数(Narcissistic number)也被称为阿姆斯特朗数(Armstrong number)或自恋数等,它是一个非负整数,其特性是该数的每个位上的数字的n次幂之和等于它本身,其中n是该数的位数。简单来说&#x…

00-开篇导读:学习分库分表开源框架的正确方法

1 前言 互联网高速发展带来海量的信息化数据,也带来更多的技术挑战。各种智能终端设备(比如摄像头或车载设备等)以每天千万级的数据量上报业务数据,电商、社交等互联网行业更不必说。这样量级的数据处理,已经远不是传…

SELinux 安全模型——MLS

首发公号:Rand_cs BLP 模型:于1973年被提出,是一种模拟军事安全策略的计算机访问控制模型,它是最早也是最常用的一种多级访问控制模型,主要用于保证系统信息的机密性,是第一个严格形式化的安全模型 暂时无…

机器学习三要素与拟合问题

1.如何构建机器学习模型? 机器学习工作流程总结 1.获取数据 2.数据基本处理 3.特征工程 4.机器学习(模型训练) 5.模型评估 结果达到要求,上线服务,没有达到要求,重新上面步骤 我们使用机器学习监督学习分类预测模型的工作流…

Qt5 安装教程 - 跳过登录界面

Qt5 安装教程 - 跳过登录界面 引言一、下载二、安装三、使用四、修改、维护、卸载 引言 Qt5.14.2及以前的版本有离线安装包,无需登录 (老版本连登录界面也无)。之后的版本需登录进行在线安装。 本文以Qt5.12.2版本为例,说明如何跳过登录界面&#xff0c…

Android Context在四大组件及Application中的表现

文章目录 Android Context在四大组件及Application中的表现Context是什么Context源码Activity流程分析Service流程分析BroadcastReceiver流程分析ContentProvider流程分析Application流程分析 Android Context在四大组件及Application中的表现 Context是什么 Context可以理解…

(JAVA)-(网络编程)-TCP协议

客户端(发送端) 1.创建客户端的Socket对象: 参数需要传递要服务端(接收端)的IP和端口,会去链接服务端,服务端连接不上代码会报错 Socket socket new Socket("127.0.0.1",10000); 2.从Socket对象中获取输出流,写出数据 OutputStream…

Java技术栈 —— Redis的雪崩、穿透与击穿

Java技术栈 —— Redis的雪崩、穿透与击穿 〇、实验的先导条件(NginxJmeter)一、Redis缓存雪崩、缓存穿透、缓存击穿1.1 雪崩1.2 穿透1.3 击穿 二、Redis应用场景——高并发2.1 单机部署的高并发问题与解决(JVM级别锁)2.2 集群部署…

Redis7.2.3(Windows版本)

1、解压   2、设置密码 (1) 右击编辑redis.conf文件:  (2) 设置密码。  3、测试密码是否添加成功  如上图所示,即为成功。 4、设置…

Android registerForActivityResult

startActivityForResult 已经被标记为不推荐的方法,推荐的替代方案是使用 registerForActivityResult: // Activity 的 onCreate 方法中调用 registerForActivityResult val activityResultLauncher registerForActivityResult(ActivityResultContract…

spring创建与使用

spring创建与使用 创建 Spring 项⽬创建⼀个 Maven 项⽬添加 Spring 框架⽀持添加启动类 存储 Bean 对象创建 Bean将 Bean 注册到容器 获取并使⽤ Bean 对象创建 Spring 上下⽂获取指定的 Bean 对象获取bean对象的方法 使⽤ Bean 总结 创建 Spring 项⽬ 接下来使⽤ Maven ⽅式…

010、切片

除了引用,Rust还有另外一种不持有所有权的数据类型:切片(slice)。切片允许我们引用集合中某一段连续的元素序列,而不是整个集合。 考虑这样一个小问题:编写一个搜索函数,它接收字符串作为参数&a…

uniapp在Windows系统上打包IOS

获取UDID 使用苹果手机自带Safari浏览器可获取UDID :https://www.pgyer.com/udid 苹果开发者官网:https://developer.apple.com/ 生成开发证书 安装OpenSSL并配置环境变量:http://slproweb.com/products/Win32OpenSSL.html 管理员打开命令行 where …

12.29最小生成数K算法复习(注意输入输出格式),校园最短路径(通过PRE实现路径输出,以及输入输出格式注意)

7-2 最小生成树-kruskal算法 分数 15 const int maxn 1000; struct edge {int u, v, w; }e[maxn]; int n, m, f[30]; bool cmp(edge a, edge b) {return a.w < b.w; } int find(int x) {if (f[x] x) {return x;}else {f[x] find(f[x]);return f[x];} } //int arr[100…