当 ML 遇到 DevOps:如何理解 MLOps

2023-12-28 13:52
文章标签 理解 遇到 devops ml mlops

本文主要是介绍当 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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/546171

相关文章

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

如何通俗理解注意力机制?

1、注意力机制(Attention Mechanism)是机器学习和深度学习中一种模拟人类注意力的方法,用于提高模型在处理大量信息时的效率和效果。通俗地理解,它就像是在一堆信息中找到最重要的部分,把注意力集中在这些关键点上,从而更好地完成任务。以下是几个简单的比喻来帮助理解注意力机制: 2、寻找重点:想象一下,你在阅读一篇文章的时候,有些段落特别重要,你会特别注意这些段落,反复阅读,而对其他部分

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

Prometheus与Grafana在DevOps中的应用与最佳实践

Prometheus 与 Grafana 在 DevOps 中的应用与最佳实践 随着 DevOps 文化和实践的普及,监控和可视化工具已成为 DevOps 工具链中不可或缺的部分。Prometheus 和 Grafana 是其中最受欢迎的开源监控解决方案之一,它们的结合能够为系统和应用程序提供全面的监控、告警和可视化展示。本篇文章将详细探讨 Prometheus 和 Grafana 在 DevO

分布式系统的个人理解小结

分布式系统:分的微小服务,以小而独立的业务为单位,形成子系统。 然后分布式系统中需要有统一的调用,形成大的聚合服务。 同时,微服务群,需要有交流(通讯,注册中心,同步,异步),有管理(监控,调度)。 对外服务,需要有控制的对外开发,安全网关。

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字