当前位置: 首页 > news >正文

当 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,多数据库管理平台(私有云)。

相关文章:

当 ML 遇到 DevOps:如何理解 MLOps

近年来,人工智能 (AI) 和机器学习 (ML) 已经席卷全球,几乎成为任何行业的重要组成部分,从零售和娱乐到医疗保健和银行业。这些技术能够通过分析大量数据实现运营自动化、降低成本和促进决策&…...

vue+element+springboot实现多张图片上传

1.需求说明 2.实现思路 3.el-upload组件主要属性说明 4.前端传递MultipartFile数组与服务端接收说明 5.完整代码 1.需求说明 动态模块新增添加动态功能,支持多张图片上传.实现过程中对el-upload组件不是很熟悉,踩了很多坑,当然也参考过别的文章,发现处理很…...

react使用useState更新数组失败

失败案例: const [addBox, setAddBox] useState([])const itemAdd (item) >{addBox.push(item);setAddBox(addBox)console.log(addBox,点击添加按钮)} 原因:react的useState hook监听的是浅监听 在 React 中,使用 useState Hook 来更新…...

《LIO-SAM阅读笔记》3.后端优化

前言: LIO-SAM后端优化部分写在了mapOptimization.cpp文件中,本部分主要进行了激光帧的scan-to-map匹配,回环检测以及关键帧的因子图优化。本部分主要有两个环节同步进行,一个单独开辟了回环检测线程,另外一个是lidar…...

mac下jd-gui提示没有找到合适的jdk版本

mac下jd-gui提示jdk有问题 背景解决看一下是不是真有问题了方法一:修改启动脚本方法二:设置launchd环境变量 扩展动态切jdk脚本(.bash_profile) 背景 配置了动态jdk后,再次使用JD-GUI提示没有找到合适的jdk版本。 解决 看一下是不是真有问题…...

FlinkSQL窗口实例分析

Windowing TVFs Windowing table-valued functions (Windowing TVFs),即窗口表值函数 注意:窗口函数不可以单独使用,需要聚合函数,按照 window_start、window_end 分区,即存在:group by window_start,wind…...

18-网络安全框架及模型-信息系统安全保障模型

信息系统安全保障模型 1 基本概念 信息系统安全保障是针对信息系统在运行环境中所面临的各种风险,制定信息系统安全保障策略,设计并实现信息系统安全保障架构或模型,采取工程、技术、管理等安全保障要素,将风险减少至预定可接受的…...

Android 提取(备份)apk(安装包)

Android 提取(备份)apk(安装包) 一、通过安卓代码的方式 主要分三步: 根据应用找到包名根据包名获得apk提取apk 提取apk代码 private static final String BACKUP_PATH "/sdcard/backup1/"; private static final String APK ".apk";pri…...

gRPC-Go基础(4)metadata和超时设置

文章目录 0. 简介1. metadata1.1 metadata结构1.2 metadata创建1.3 客户端处理metadata1.4 服务端处理metadata1.5 metadata的传输 2. 超时设置2.1 客户端输出超时信息2.2 服务端端接收超时信息 3. 小结 0. 简介 Go在多个go routine之间传递数据使用的是Go SDK提供的context包…...

语言模型:从n-gram到神经网络的演进

目录 1 前言2 语言模型的两个任务2.1 自然语言理解2.2 自然语言生成 3 n-gram模型4 神经网络语言模型5 结语 1 前言 语言模型是自然语言处理领域中的关键技术之一,它致力于理解和生成人类语言。从最初的n-gram模型到如今基于神经网络的深度学习模型,语言…...

docker compose 部署 grafana + loki + vector 监控kafka消息

Centos7 随笔记录记录 docker compose 统一管理 granfana loki vector 监控kafka 信息。 当然如果仅仅是想通过 Grafana 监控kafka,推荐使用 Grafana Prometheus 通过JMX监控kafka 目录 1. 目录结构 2. 前提已安装Docker-Compose 3. docker-compose 自定义服…...

kubeadm创建k8s集群

kubeadm来快速的搭建一个k8s集群: 二进制搭建适合大集群,50台以上。 kubeadm更适合中下企业的业务集群。 部署框架 master192.168.10.10dockerkubelet kubeadm kubectl flannelnode1192.168.10.20dockerkubelet kubeadm kubectl flannelnode2192.168.1…...

鸿蒙开发之android对比开发《基础知识》

基于华为鸿蒙未来可能不再兼容android应用,推出鸿蒙开发系列文档,帮助android开发人员快速上手鸿蒙应用开发。 1. 鸿蒙使用什么基础语言开发? ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风…...

2702 高级打字机

因为Undo操作只能撤销Type操作,所以Undo x 实际上就是删除文章末尾x个字母。用一个栈即可解决(每个字母最多进出一次)。 这种情况下只需要设计一个合理的数据结构依次执行操作即可。 版本树:Undo x撤销最近的x次修改操作&#xf…...

yolov5旋转目标检测-遥感图像检测-无人机旋转目标检测-附代码和原理

综述 为了解决旋转目标检测问题,研究者们提出了多种方法和算法。以下是一些常见的旋转目标检测方法: 基于滑动窗口的方法:在图像上以不同的尺度和角度滑动窗口,通过分类器判断窗口中是否存在目标。这种方法简单直观,…...

Qt学习:Qt的意义安装Qt

Qt 的简介 QT 是一个跨平台的 C图形用户界面应用程序框架。它为程序开发者提供图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正地组件编程。 支持平台 xP 、 Vista、Win7、win8、win2008、win10Windows . Unix/Linux: Ubuntu 等…...

Anylogic Pro 8.8.x for Mac / for Linux Crack

Digital twins – a step towards a digital enterprise AnyLogic是唯一一个支持创建模拟模型的方法的模拟建模工具:面向过程(离散事件)、系统动态和代理,以及它们的任何组合。AnyLogic提供的建模语言的独特性、灵活性和强大性使…...

ROS无人机初始化GPS定位漂移误差,确保无人机稳定飞行

引言: 由于GPS在室外漂移的误差比较大,在长时间静止后启动,程序发布的位置可能已经和预期的位置相差较大,导致无法完成任务,尤其是气压计的数据不准,可能会导致无人机不能起飞或者一飞冲天。本文主要是在进…...

k8s网络类型

k8s中的通信模式: pod内部之间容器与容器之间的通信。 在同一个pod中的容器共享资源和网络,使用同一个网络命名空间。可以直接通信的。 同一个node节点之内,不同pod之间的通信。 每一个pod都有一个全局的真实的IP地址,同一个n…...

Seata 中封装了四种分布式事务模式,分别是: AT 模式, TCC 模式, Saga 模式, XA 模式,

文章目录 seata概述Seata 中封装了四种分布式事务模式,分别是:AT 模式,TCC 模式,Saga 模式,XA 模式, 今天我们来聊聊seata seata 概述 在微服务架构下,由于数据库和应用服务的拆分&#xff0c…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

JVM垃圾回收机制全解析

Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

django filter 统计数量 按属性去重

在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...