当 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次修改操作…...
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 概述 在微服务架构下,由于数据库和应用服务的拆分,…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
