首页 > 其他分享 >机器学习运维(MLOps)

机器学习运维(MLOps)

时间:2024-10-18 09:17:38浏览次数:8  
标签:机器 运维 部署 模型 学习 MLOps 数据

机器学习运维(MLOps)

机器学习运维(Machine Learning Operations,简称MLOps)是一种将机器学习模型从开发到生产部署的系统方法,旨在缩短模型的开发周期,提高模型质量和可靠性。MLOps结合了DevOps、数据工程和机器学习,为整个机器学习生命周期提供了一套最佳实践。随着机器学习在各行各业的广泛应用,如何高效地开发、部署和维护机器学习模型成为了一个重要的挑战,而MLOps正是为解决这一挑战而诞生的。

一、MLOps的定义与背景

机器学习系统本质上是实验性的,并且具有更多的组件,这些组件的构建和操作相对复杂。MLOps是用于数据科学家和专业运维人员之间协作和交流的一系列实践,应用这些实践可以提高质量,简化管理流程,并在大规模生产环境中自动部署机器学习和深度学习模型,更容易使模型与业务需求以及监管要求保持一致。

MLOps正在慢慢演变成一种独立的机器学习生命周期管理方法,它适用于整个生命周期,包括数据收集、模型创建(软件开发生命周期、持续集成/持续交付)、编排、部署、健康、诊断、治理和业务指标。MLOps的关键阶段包括数据收集、数据分析、数据转换/准备、模型训练与开发、模型验证、模型服务、模型监控和模型再训练。

二、MLOps与DevOps的区别与联系

DevOps和MLOps具有基本的相似之处,因为MLOps源自DevOps,但它们在执行上完全不同。与DevOps不同,MLOps在本质上更具实验性。数据科学家和机器学习/深度学习工程师必须调整各种功能——超参数、参数和模型——同时还要跟踪和管理数据和代码库以获得可重复的结果。

除了所有的努力和工具之外,机器学习和深度学习行业仍然在为实验的可重复性而苦苦挣扎。在生产环境中,构建和部署模型所需的团队不仅仅由软件工程师组成。测试机器学习系统除了单元测试和集成测试等常规代码测试之外,还涉及模型验证、模型训练等。

为了提供模型在线预测的服务,不能仅将离线训练的机器学习模型部署,需要一个多步骤工作流来自动重新训练和部署模型。这个工作流增加了复杂性,因为需要自动化数据科学家在部署之前手动执行的步骤来训练和验证新模型。

生产中的机器学习模型可能会降低性能,这不仅是由于编程实现未达到最优,还因为数据配置文件的不断发展。与传统软件系统相比,模型可能会以更多方式衰减。在训练和服务工作流中处理数据的方式存在差异,训练和服务时数据发生了变化。反馈循环——当选择错误的假设(即目标)进行优化时,这会使收集到的数据有偏,用来训练模型。接着,在不知情的情况下,使用的这个有缺陷的假设又将收集新的数据点,并将其反馈到重新训练/微调模型的未来版本,使模型的偏差更大,并且滚雪球式增长。

虽然在源代码管理的持续集成、单元测试、集成测试以及软件模块或包的持续交付方面,MLOps和DevOps是相似的,但是,二者在机器学习上存在一些显著差异:

  1. 持续集成(CI):不再只是测试和验证代码和组件,还包括测试和验证数据、数据模式和模型。
  2. 持续部署(CD):不再是关于单个软件包或服务,而应该是一个系统(一个机器学习模型训练的流程),可以自动部署另一个服务(模型预测服务)或从某个模型回滚更改。
  3. 连续测试(CT):是机器学习系统独有的新属性,它与自动重新训练和服务模型有关。
三、MLOps的关键阶段与实践

MLOps涵盖了机器学习工作流程不同组件的最佳实践,即团队、数据、目标、模型、代码和部署。

  1. 数据准备和特征工程:通过创建可重现、可编辑和可共享的数据集、表格和可视化,为机器学习生命周期迭代探索、共享和准备数据。迭代地转换、聚合和删除重复数据以创建改进的特征。利用特征存储,使特征在数据团队之间可见和共享。
  2. 模型训练和调优:使用流行的开源库来训练和提高模型性能。作为一种更简单的替代方法,使用自动化机器学习工具(例如AutoML)自动执行试运行并创建可审查和可部署的代码。
  3. 模型管理:跟踪模型沿袭、模型版本,并管理模型工件和整个生命周期的转换。借助MLflow等开源MLOps平台,跨ML模型发现、共享和协作。
  4. 模型推理和服务:管理模型刷新频率、推理请求时间以及测试和QA中的类似生产细节。使用repos和orchestrators(借用devops原则)等CI/CD工具来自动化预生产管道。
  5. 模型部署和监控:自动化权限和集群创建以生产注册模型。启用REST API模型端点。
  6. 自动模型重训练:收集模型监控的指标信息针对性对模型进行重新训练。
四、MLOps的基础设施与工具

为了实现MLOps的目标,需要使用许多基础设施和工具。这些工具的目标是帮助数据科学家、机器学习工程师和运维团队更有效地协作,以便更快地开发、部署和维护机器学习应用程序。

  1. 数据管道管理:用于整理、清洗和转换数据的工具,如Apache NiFi、Luigi和Apache Airflow。
  2. 版本控制:用于跟踪代码、数据和模型变化的工具,如Git、DVC(Data Version Control)和MLflow。
  3. 模型训练:用于在多种硬件环境下训练模型的工具和平台,如TensorFlow、PyTorch、Keras和Apache MXNet。
  4. 模型验证和测试:用于评估模型性能和准确性的工具,如TensorFlow Extended(TFX)和MLflow。
  5. 模型部署:用于将模型部署到生产环境的工具和平台,如TensorFlow Serving、NVIDIA Triton Inference Server、AWS SageMaker和Microsoft Azure Machine Learning。
  6. 模型监控:用于实时跟踪模型性能和健康状况的工具,如Grafana、Prometheus和ELK Stack(Elasticsearch、Logstash、Kibana)。
  7. 自动化和持续集成/持续部署(CI/CD):用于自动化机器学习工作流程的工具,如Jenkins、GitLab CI/CD和GitHub Actions。
  8. 容器化和编排:用于简化部署和管理的容器技术,如Docker和Kubernetes。
  9. 云服务提供商:提供各种机器学习服务和基础设施的云平台,如Amazon Web Services(AWS)、Microsoft Azure和Google Cloud Platform(GCP)。
五、MLOps平台的发展与应用

MLOps平台是指一站式的AI算法生产平台,面向算法生产的用户,为AI算法生产实现降本增效的目标。算法本身是理论,比如要给用户推送感兴趣视频的算法,可以被表达为一系列的数学表达式,但表达式仅仅是定义规则而已,如果要将其落地,那么它本身会变成一个复杂的工程问题。

一站式的AI算法生产平台针对AI业务生产的全生命周期,针对数据集、模型编码、模型训练、模型优化、模型推理服务部署等步骤,提供相关的工具,助力用户低成本生产高质量的AI业务。

目前,国内外最具代表性和影响力的AI平台有:

  1. 华为ModelArts
  2. 阿里PAI
  3. 百度BML
  4. 字节火山机器学习平台
  5. Google Vertex
  6. 微软Azure AI
  7. Amazon SageMaker

这些平台提供先进生产工具,持续提供优秀的AI业务生产全流程所需要的工具;流程规范化,关键生产步骤规范化,保证生产流程的可观测性,以促进全链路生产效率,完成MLOps的建立,并为成本优化机制的实施提供基础;针对特殊的重要场景(例如LLM),提供专门的产品能力支持。

六、MLOps的未来展望

MLOps是一个快速发展的领域,它正在改变机器学习的开发和部署方式。通过采用MLOps的最佳实践和工具,企业可以显著提高机器学习项目的成功率,加速AI的落地应用。然而,MLOps不仅仅是工具的堆砌,更重要的是建立一种文化,鼓励跨职能团队协作,持续改进流程。

MLOps的未来展望包括更加智能和自动化的MLOps平台,以及AutoML的广泛应用,进一步简化模型开发流程。同时,提高模型的可解释性和可信度也是未来的重要方向。相信在不久的将来,MLOps将成为每个数据科学团队的标准实践。

MLOps是一个充满机遇的领域,欢迎更多开发者和研究者加入,共同推动机器学习工程化的发展。通过MLOps,可以加速机器学习应用程序的开发、部署和维护,实现更高效的工作流程、利用数据分析进行决策和改善客户体验,从而解锁以前未开发的收入来源、节省时间并降低成本。

标签:机器,运维,部署,模型,学习,MLOps,数据
From: https://blog.csdn.net/hong161688/article/details/143034184

相关文章

  • Aubo Robotics 工业机器人系列编程:i10a_Aubo-i10a安全操作规范
    Aubo-i10a安全操作规范1.安全操作的重要性在工业机器人操作中,安全性是最基本也是最重要的要求。Aubo-i10a工业机器人作为一款高精度、高灵活性的机器人,其安全操作规范不仅关系到机器人的正常运行,更关系到操作人员的人身安全。本节将详细介绍Aubo-i10a工业机器人的安全......
  • Aubo Robotics 工业机器人系列编程:i10a_Aubo-i10a传感器整合与应用
    Aubo-i10a传感器整合与应用传感器整合概述传感器在工业机器人中的作用至关重要,它们提供机器人与环境交互所需的各种数据。Aubo-i10a机器人支持多种传感器的整合,包括视觉传感器、力传感器、接近传感器等。这些传感器的整合不仅提高了机器人的感知能力,还使其能够执行更加复......
  • 【视频讲解】共享单车使用量预测:RNN, LSTM,GRU循环神经网络和传统机器学习
    全文链接:https://tecdat.cn/?p=37899原文出处:拓端数据部落公众号分析师:XuyanReng 随着城市化进程的加速,共享单车作为一种绿色、便捷的出行方式,在城市交通中扮演着日益重要的角色。准确预测共享单车的使用量对于优化资源配置、提高运营效率以及满足用户需求具有关键意义。一......
  • 比较相同机器上 redis和mysql分别单独承载的 最大连接数量
    在相同的机器上,Redis和MySQL的最大连接数量会受到硬件配置(如CPU、内存、网络等)、配置参数和应用场景的影响。以下是对Redis和MySQL在单机环境下最大连接数的比较:Redis最大连接数量默认配置:Redis默认的最大连接数为10,000。这个值可以通过配置文件中的maxcl......
  • D-Robotics(地瓜机器人)RDK X5闪连(RDK Studio使用教程)
    官方简介RDKStudio下载Step1(SD卡烧写)1.读卡器烧写读卡器+MicroSD卡,具体可参考此链接MicroSD卡烧录2.RDKStudio烧写RDKX5按着boot按钮上电,RDKX5就相当于读卡器,就可以插着闪连口给SD卡烧写镜像根据官方操作,插线上电,进入烧写模式注意:烧写模式......
  • 为什么说卷运维不如卷网络安全?
    最近发现很多从事运维的选择了辞职,重新规划自己的职业发展方向。运维工程师这个岗位在IT行业里面确实是处于最底层的,不管什么环节出现问题,基本都是运维背锅。背锅也就罢了,薪资水平也比不上别的岗位。一般运维的薪资水平大多数都是6-9K,还要高频出差。规模小一点的公司省内出差......
  • 【Matlab 六自由度机器人】笛卡尔空间规划和关节空间规划(附MATLAB建模代码)
    笛卡尔空间规划和关节空间规划近期更新前言正文1.笛卡尔空间规划特点:步骤:2.关节空间规划特点:步骤:3.两种方法的区别4.MATLAB代码:机械臂避障路径规划问题和解答4.1关节空间规划方法4.2笛卡尔空间规划方法4.3规划方法的比较5.路径规划优化5.1平滑性优化5.2速度......
  • Flyte:打造无忧的生产级数据和机器学习工作流平台
    flyteFlyte:革新数据科学和机器学习工作流程......
  • 人工智能、深度学习和机器学习教程:从入门到精通
    人工智能、深度学习和机器学习教程:从入门到精通人工智能(AI)、深度学习(DL)和机器学习(ML)是当今最热门的技术领域,正在深刻地改变着我们的生活和工作方式。本文将全面介绍这些技术的基础知识、主要算法和实践应用,帮助读者从入门到精通。人工智能概述人工智能是计算机科学的......
  • 国外电商系统开发-运维系统应用和软件安装过程
    安装流程图注意:上面只是作者本人安装Apache的举例,如果您的安装步骤不相同都没关系,您完全可以自行定义。在这里只是为了演示而已。        现在,开始创建任务:        点击添加步骤任务:        现在,可以看到页面中出现了一个服务器,还有第一......