MLOps 体系结构模型

news2024/11/27 4:03:20

人工智能继续改变企业,但这导致企业在数字化转型和组织变革方面面临新的挑战。根据 2023 年福布斯报告,这些挑战可以总结如下:

  • 分析技术堆栈围绕分析/批处理工作负载构建的公司需要开始适应实时数据处理(福布斯)。这种变化不仅影响了数据的收集方式,还导致了对新的数据处理和数据分析架构模型的需求。
  • AI 法规需要被视为 AI/ML 架构模型的一部分。据《福布斯》报道,“Gartner 预测,到 2025 年,法规将迫使公司专注于人工智能道德、透明度和隐私。因此,这些平台将需要遵守即将出台的标准。
  • 必须建立专门的 AI 团队,他们不仅应该能够构建和维护 AI 平台,还应该能够与其他团队合作,通过这些平台支持模型的生命周期。

这些新挑战的答案似乎是 MLOps 或机器学习操作。MLOps 建立在 DevOps 和 DataOps 之上,旨在促进机器学习 (ML) 应用程序,并更好地管理 ML 系统的复杂性。本文旨在系统地概述 MLOps 架构挑战,并演示管理这种复杂性的方法。

MLOps 应用程序:设置用例

在本文中,我们的示例用例是一家多年来一直在进行宏观经济预测和投资风险管理的金融机构。目前,预测过程基于外部宏观经济数据的部分手动加载和后处理,然后根据个人喜好使用各种工具和脚本进行统计建模。

然而,根据该机构管理层的说法,由于最近宣布的银行法规和安全要求,这一过程是不可接受的。此外,与市场上的竞争对手相比,计算结果的交付速度太慢,在财务上是不可接受的。对新的数字解决方案的投资需要充分了解复杂性和预期成本。它应该从收集需求开始,然后构建最小可行产品。

需求收集

对于解决方案架构师来说,设计过程从新体系结构需要解决的问题规范开始,例如:

  • 手动数据收集速度慢,容易出错,并且需要大量工作
  • 实时数据处理不是当前数据加载方法的一部分
  • 没有数据版本控制,因此不支持随时间推移的可重复性
  • 模型的代码在本地计算机上手动触发,并不断更新,无需版本控制
  • 完全缺少通过通用平台共享数据和代码
  • 预测过程不表示为业务流程,所有步骤都是分散的和不同步的,并且大多数步骤都需要手动操作
  • 数据和模型的实验不可重现且不可审计
  • 在内存消耗增加或占用大量 CPU 的操作的情况下,不支持可伸缩性
  • 目前不支持对整个过程进行监控和审计

下图演示了新架构的四个主要组件:监视和审计平台、模型部署平台、模型开发平台和数据管理平台。

图 1.MLOps 体系结构图 

平台设计决策

设计 MLOps 平台时要考虑的两个主要策略是:

  1. 从头开始开发与选择平台
  2. 在基于云的、本地或混合模型之间进行选择
从头开始开发与选择完全打包的 MLOps 平台

从头开始构建 MLOps 平台是最灵活的解决方案。它将提供解决公司未来任何需求的可能性,而无需依赖其他公司和服务提供商。如果公司已经拥有所需的专家和训练有素的团队来设计和构建 ML 平台,那将是一个不错的选择。

预打包解决方案是模拟不需要大量自定义的标准 ML 流程的不错选择。一种选择甚至是购买一个预训练的模型(例如,模型即服务),如果市场上有售,并只围绕它构建数据加载、监控和跟踪模块。这种解决方案的缺点是,如果需要添加新功能,可能很难按时完成这些添加。

将平台作为黑匣子购买通常需要围绕它构建额外的组件。选择平台时要考虑的一个重要标准是扩展或自定义它的可能性。

基于云的本地或混合部署模型

基于云的解决方案已经上市,AWS、Google 和 Azure 提供了流行的选项。在没有严格的数据隐私要求和法规的情况下,基于云的解决方案是一个不错的选择,因为模型训练和模型服务的基础设施资源是无限的。对于非常严格的安全要求,或者如果基础结构在公司内部已经可用,则本地解决方案是可以接受的。对于已经构建了部分系统但希望通过其他服务对其进行扩展的公司来说,混合解决方案是一种选择,例如,购买预训练模型并与本地存储的数据集成或合并到现有的业务流程模型中。

MLOps 架构实践

从我们的用例来看,金融机构没有足够的专家从头开始构建专业的 MLOps 平台,但由于法规和额外的财务限制,它也不想投资端到端托管的 MLOps 平台。该机构的架构委员会已决定采用开源方法,仅在需要时购买工具。架构概念是围绕开发简约组件和可组合系统的想法构建的。总体思路是围绕微服务构建的,这些微服务涵盖了可伸缩性和可用性等非功能性需求。为了最大限度地简化系统,对系统组件做出了以下决定。

数据管理平台

数据收集过程将完全自动化。由于外部数据提供程序的异构性,每个数据源都将有一个单独的数据加载组件。在写入实时数据和读取大量数据时,数据库选择至关重要。由于宏观经济数据的基于时间的性质以及该机构已有的关系数据库专家,他们选择使用开源数据库TimescaleDB。

使用标准关系数据库 GUI 客户端提供基于 SQL 的标准 API、执行数据分析和执行数据转换的可能性将减少交付平台第一个原型的时间。可以跟踪数据版本和转换并将其保存到单独的数据版本或表中。

模型开发平台

模型开发过程包括四个步骤:

  1. 数据读取和转换
  2. 模型训练
  3. 模型序列化
  4. 模型包装

训练模型后,参数化和训练的实例通常存储为打包工件。代码存储和版本控制最常见的解决方案是 Git。此外,该金融机构已经配备了像 GitHub 这样的解决方案,提供定义用于构建、打包和发布代码的管道的功能。基于 Git 的系统的体系结构通常依赖于一组执行管道的分布式工作器计算机。该选项将用作简约的 MLOps 架构原型的一部分,以训练模型。

训练模型后,下一步是将其作为已发布和版本控制的项目存储在模型存储库中。在该阶段,将模型作为二进制文件、共享文件系统甚至工件存储库存储在数据库中都是可以接受的选项。稍后,可以将模型注册表或 Blob 存储服务合并到管道中。模型的 API 微服务将公开模型的宏观经济预测功能。

模型部署平台

使 MLOps 原型尽可能简单的决定也适用于部署阶段。部署模型基于微服务体系结构。每个模型都可以使用 Docker 容器作为无状态服务进行部署,并按需扩展。该原则也适用于数据加载组件。一旦完成了第一个部署步骤,并明确了所有微服务的依赖关系,就可能需要一个工作流引擎来编排已建立的业务流程。

模型监控和审计平台

传统的微服务架构已经配备了用于收集、存储和监控日志数据的工具。Prometheus、Kibana 和 ElasticSearch 等工具足够灵活,可以生成特定的审计和性能报告。

开源 MLOps 平台

简约的 MLOps 架构是公司初始数字化转型的良好开端。但是,并行跟踪可用的 MLOps 工具对于下一个设计阶段至关重要。下表提供了一些最流行的开源工具的摘要。

表 1.用于初始数字化转型的开源 MLOps 工具

工具描述职能领域
Kubeflow使 Kubernetes 上的 ML 工作流部署变得简单、可移植且可扩展跟踪和版本控制、管道编排和模型部署
MLflow(机器学习流)一个用于管理端到端 ML 生命周期的开源平台跟踪和版本控制
BentoML系列用于 AI 应用和推理管道的开放标准和 SDK;提供自动生成 API 服务器、REST API、gRPC 和长时间运行的推理作业等功能;并提供自动生成 Docker 容器映像的功能跟踪和版本控制、管道编排、模型开发和模型部署
TensorFlow 扩展 (TFX)一个生产就绪的平台;专为部署和管理 ML 管道而设计;包括用于数据验证、转换、模型分析和服务的组件模型开发、管道编排和模型部署
Apache Airflow, Apache Beam一个灵活的框架,用于定义和调度复杂的工作流,尤其是数据工作流,包括 ML管道编排

总结

MLOps 通常被称为机器学习的 DevOps,它本质上是 ML 应用程序的一组架构模式。然而,尽管与许多知名体系结构有相似之处,但 MLOps 方法给 MLOps 架构师带来了一些新的挑战。一方面,重点必须放在 MLOps 服务的兼容性和组成上。另一方面,人工智能法规将迫使现有系统和服务不断适应新的监管规则和标准。我怀疑,随着 MLOps 领域的不断发展,一种提供 AI 道德和监管分析的新型服务将很快成为 ML 领域企业关注的焦点。

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

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

相关文章

【保姆级讲解PyCharm安装教程】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

js获取上周本周下周的日期(附Demo)

目录 前言1. 基本知识2. Demo3. 彩蛋 前言 现在的时间点是:2024-04-08,对应的日期如下(上周、这周、下周) 1. 基本知识 讲述Demo之前,先补充一些基础知识 JavaScript 中的 Date 对象是用于处理日期和时间的对象。它…

博客系统实现

一.准备工作 1.创建项目,把前端写好的博客静态页面拷贝到webapp目录中 2.引入依赖,这里主要用到servlet,mysql5.1.47,jacson2.15.0 3.找到右上角的edit configurations->smartTomcat->进行配置 4.数据库设计&#xff1a…

十四款大型语言模型在《街头霸王III》中一决雌雄

上周在旧金山举办的Mistral AI黑客马拉松上,开发出了一款基于经典街机游戏《街头霸王III》的人工智能(AI)基准测试。这款名为“AI Street Fighter III”的开源基准测试由Stan Girard和Quivr Brain开发,游戏在模拟器中运行&#xf…

【力扣刷题日记】1495.上月播放的儿童适宜电影

前言 练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。 今日题目: 1495.上月播放的儿童适宜电影 表:TVProgram 列名类型program_datedatecontent_idintchannelvarc…

【机器学习】深入解析机器学习基础

在本篇深入探讨中,我们将揭开机器学习背后的基础原理,这不仅包括其数学框架,更涵盖了从实际应用到理论探索的全方位视角。机器学习作为数据科学的重要分支,其力量来源于算法的能力,这些算法能够从数据中学习并做出预测…

产品推荐 | 基于Intel(Altera)Arria 10 10AS027/048打造的水星Mercury+ AA1核心板

01 产品概述 水星Mercury AA1片上系统(SoC)核心板通过结合基于ARM处理器的SoC FPGA、快速DDR4 ECC SDRAM、eMMC flash、QSPI flash、Gigabit Ethernet PHY和RTC形成了一个高性能嵌入式处理方案,结合了CPU系统的灵活性和FPGA原始的、实时的并…

【PolarDB-X从入门到精通】 第四讲:一站式学习源码部署

亲爱的同学们: 大家好!在之前的课程中,我们已经初步了解了PolarDB-X的架构、安装部署PolarDB-X的四种方式以及如何使用Docker和PXD进行安装部署。接下来,我们将进入更加专业的领域——源码编译部署PolarDB-X。 课程主题&#xf…

YOLOV8注意力改进方法:DilateFormer多尺度空洞 Transformer(附改进代码)

原论文地址:原论文下载地址 即插即用的多尺度全局注意力机制 本文提出了一种新颖的多尺度空洞 Transformer,简称DilateFormer,以用于视觉识别任务。原有的 ViT 模型在计算复杂性和感受野大小之间的权衡上存在矛盾。众所周知,ViT 模型使用全局注意力机制,能够在任意图像块…

C语言 函数——函数原型

目录 如何合并成一个完整的程序? 函数原型与函数定义的区别 函数原型的作用 如何合并成一个完整的程序? 问题:在一个函数中调用另一个函数,需要具备哪些条件呢? 若函数的定义出现在函数调用之前 若函数的定义出现…

Java绘图坐标体系

一、介绍 下图说明了Java坐标系。坐标原点位于左上角,以像素为单位。在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐…

对OceanBase中的配置项与系统变量,合法性检查实践

在“OceanBase 配置项&系统变量实现及应用详解”的系列文章中,我们已经对配置项和系统变量的源码进行了解析。当涉及到新增配置项或系统变量时,通常会为其指定一个明确的取值范围或定义一个专门的合法性检查函数。本文将详细阐述在不同情境下&#x…

自动驾驶中的传感器融合算法:卡尔曼滤波器和扩展卡尔曼滤波器

自动驾驶中的传感器融合算法:卡尔曼滤波器和扩展卡尔曼滤波器 附赠自动驾驶学习资料和量产经验:链接 介绍: 追踪静止和移动的目标是自动驾驶技术领域最为需要的核心技术之一。来源于多种传感器的信号,包括摄像头,雷达…

设计模式系列:单例模式

作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397) 定义 单例(Singleton)模式的定…

CentOS7.9创建本地yum源操作步骤报错解决方法

1.基础信息 CentOS7.9-mini最小化安装的系统,在离线安装rpm时候需要大量依赖,需要花费大量时间去查找依赖包。受于环境限制无法接入互联网使用公开yum源,于是便有了搭建本机yum源的想法,在网上下载CentOS7.9标准版“CentOS-7-x86_…

代码随想录阅读笔记-回溯【组合】

题目 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 思路 本题是回溯法的经典题目。 直接的解法当然是使用for循环,例如示例中k为2,很容…

查分约束学习

问题模型&#xff1a; 有n个变量&#xff1a;&#xff0c;有m个约束条件 令差分数组&#xff0c;可以知道如果x1x2<q&#xff0c;那么与j和i-1有关联 由画图可知&#xff0c;如果有在i-1至j建立的有向图中跑最短路&#xff0c;那么dis[n]即为最小的约束变量 另外&#x…

javaWeb车辆管理系统设计与实现

摘 要 随着经济的日益增长,车辆作为最重要的交通工具,在企事业单位中得以普及,单位的车辆数目已经远远不止简单的几辆,与此同时就产生了车辆资源的合理分配使用问题。 企业车辆管理系统运用现代化的计算机管理手段&#xff0c;不但可以对车辆的使用进行合理的管理&#xff0c;…

SpringBoot 定时任务实践、定时任务按指定时间执行

Q1. springboot怎样创建定时任务&#xff1f; 很显然&#xff0c;人人都知道&#xff0c;Scheduled(cron ".....") Q2. 如上所示创建了定时任务却未能执行是为什么&#xff1f; 如果你的cron确定没写错的话 cron表达式是否合法&#xff0c;可参考此处&#xff0c…

刷题之Leetcode59题(超级详细)

59.螺旋矩阵II 力扣题目链接(opens new window)https://leetcode.cn/problems/spiral-matrix-ii/ 给定一个正整数 n&#xff0c;生成一个包含 1 到 n^2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ …