架构师机器学习操作 (MLOps) 指南

MLOps 是机器学习操作的缩写,是一组实践和工具,旨在满足工程师构建模型并将其投入生产的特定需求。一些组织从一些自主开发的工具开始,这些工具在每次实验后对数据集进行版本控制,并在每个训练周期后对检查点模型进行版本控制。另一方面,许多组织选择采用具有实验跟踪、协作功能、模型服务功能甚至用于处理数据和训练模型的管道功能的正式工具。

若要为组织做出最佳选择,应了解业界领先的 MLOps 工具提供的所有功能。如果你走本土路线,你应该明白你正在放弃的能力。对于需要快速行动且可能没有时间评估新工具的小型团队来说,自主开发的方法很好。如果选择实施第三方工具,则需要选择与组织的工程工作流最匹配的工具。这可能很棘手,因为当今的顶级工具在方法和功能上有很大差异。无论您选择哪种方式,您都需要能够处理大量数据并以高性能方式提供训练集的数据基础架构。检查点模型和版本控制大型数据集需要可扩展的容量,如果您使用昂贵的 GPU,您将需要高性能的基础设施来充分利用您的投资。

在这篇文章中,我将介绍一个功能列表,架构师无论选择哪种方法或工具,都应该考虑该列表。此功能列表来自我对当今三家顶级 MLOps 供应商 KubeFlow、MLflow 和 MLRun 的研究和实验。对于选择从自主开发解决方案开始的组织,我将介绍一个可以扩展和执行的数据基础架构。(剧透警报 - 您在这里需要的只是 MinIO。当谈到第三方工具时,我注意到我研究的供应商有一种模式。对于选择采用 MLOps 工具的组织,我将介绍此模式,并将其与现代数据湖参考体系结构联系起来。

在深入探讨功能和基础结构要求之前,让我们更好地了解 MLOps 的重要性。为此,将模型创建与传统应用程序开发进行比较会很有帮助。

模型与应用的区别

传统的应用程序开发,例如实现向应用程序添加新功能的新微服务,从查看规范开始。首先设计新的数据结构或对现有数据结构的更改。编码开始后,数据的设计不应更改。然后实现服务,编码是此过程中的主要活动。单元测试和端到端测试也进行了编码。这些测试证明代码没有错误,并且正确地实现了规范。在部署整个应用程序之前,它们可以由 CI/CD 管道自动运行。

创建模型和训练它是不同的。第一步是了解原始数据和所需的预测。机器学习工程师确实需要编写一些代码来实现他们的神经网络或设置算法,但编码并不是主要活动。主要活动是重复实验。在实验过程中,数据的设计、模型的设计和使用的参数都会发生变化。每次试验后,都会创建指标,以显示模型在训练时的表现。此外,还会生成指标,以确定模型性能,以针对验证集和测试集。这些指标用于证明模型的质量。每次试验后都应保存模型,每次更改数据集时,也应保存数据集。一旦模型准备好合并到应用程序中,就必须对其进行打包和部署。

总而言之,MLOps 之于机器学习,就像 DevOps 之于传统软件开发一样。两者都是一组旨在改善工程团队(开发或 ML)和 IT 运营 (Ops) 团队之间协作的实践和原则。目标是使用自动化来简化开发生命周期,从规划和开发到部署和运营。这些方法的主要好处之一是持续改进。

让我们更深入地了解 MLOps,并查看要考虑的特定功能。

要考虑的 10 个 MLOps 功能

实验跟踪和协作是与 MLOps 最相关的功能,但当今更现代的 MLOps 工具可以执行更多功能。例如,有些可以为您的实验提供运行时环境。其他人可以在模型准备好集成到应用程序后打包和部署模型。

下面是当今 MLOps 工具中发现的功能的超集。此列表还包括其他需要考虑的事项,例如支持和数据集成。

1 . 来自主要参与者的支持 - MLOps 技术和功能在不断发展。您需要一个由主要参与者(分别为 Google、Databricks 或麦肯锡公司支持 Kubeflow、MLflow 和 MLRun)支持的工具,以确保持续开发和改进。举个具体的例子,今天许多流行的工具都是在大型语言模型();LLMs因此,许多公司正在添加新功能来支持生成式 AI。

2 . 现代数据湖集成 - 试验会生成大量结构化和非结构化数据。与现代数据湖(或数据湖仓一体)完美集成的 MLOps 工具将非结构化数据存储在数据湖中(直接称为 MinIO),结构化数据将进入数据仓库。不幸的是,许多 MLOps 工具在产生现代数据湖的开放表格式之前就已经存在,因此大多数工具都会为其结构化数据提供单独的解决方案。这通常是数据基础架构需要支持的开源关系数据库。关于非结构化数据(数据集和模型检查点),自 2014 年以来,业内所有主要工具都使用 MinIO。

3 . 实验跟踪 - MLOps 工具最重要的功能可能是跟踪每个实验的数据集、模型、超参数和指标。实验跟踪还应该促进可重复性 - 如果在五年前的实验中获得了理想的结果,而之后的实验降低了模型的性能,那么您应该能够使用 MLOps 工具返回并获取确切的超参数,以及用于产生理想结果的数据集特征。

4 . 促进协作 - MLOps 工具的一个重要组件是用于显示每个实验结果的门户或 UI。所有团队成员都应该可以访问此门户,以便他们可以看到彼此的实验并提出建议。一些 MLOps 工具具有花哨的图形功能,允许创建自定义图形来比较实验结果。

5 . 模型打包 - 此功能打包模型,以便可以从其他编程环境(通常作为微服务)访问模型。这是一个很好的功能。经过训练的模型只不过是一个序列化对象。许多组织可能已经弄清楚了这一点。

6 . 模型服务 - 将模型打包为服务后,此功能将允许将包含模型的服务自动部署到组织的正式环境中。如果您拥有能够跨环境管理所有软件资产的成熟 CI/CD 管道,则不需要此功能。

7 . 模型注册表 - 模型注册表提供 MLOps 工具当前管理的所有模型的视图。毕竟,创建生产级模型是所有 MLOps 的目标。此视图应显示已部署到生产环境的模型以及从未投入生产的模型。应以这样一种方式标记已投入生产的模型,以便您还可以确定它们部署到的应用程序或服务的版本。

8 . 无服务器函数 - 某些工具提供允许对代码进行批注的功能,以便可以将函数或模块部署为容器化服务,以便在群集中运行试验。如果您决定使用此功能,请确保您的所有工程师都熟悉此技术。这可能是一个学习曲线 - 具有DevOps背景的工程师将更容易,而以前学习机器学习的工程师几乎没有编码经验。

9 . 数据管道功能 - 某些 MLOps 工具旨在提供完整的端到端功能,并具有特定于构建数据管道以检索、处理和存储干净数据的功能。管道通常被指定为有向无环图 (DAG) - 某些工具还具有调度功能。当与无服务器函数结合使用时,它可以成为开发和运行数据管道的强大低代码解决方案。如果您已经在使用管道或工作流工具,则不需要此功能。

10 . 训练管道功能 - 这类似于数据管道,但训练管道会从数据管道中断的位置开始。训练管道允许您调用数据访问代码,将数据发送到训练逻辑,并注释数据工件和模型,以便自动保存它们。与数据管道类似,此功能可以与无服务器函数结合使用,以创建 DAG 和计划实验。如果您已经在使用分布式训练工具,那么您可能不需要此功能。可以从训练管道开始分布式训练,但这可能太复杂了。

MLOps 和存储

在了解了传统应用程序开发和机器学习之间的差异之后,应该很清楚,要想在机器学习方面取得成功,您需要某种形式的 MLOps 以及能够实现性能和可扩展容量的数据基础架构。

如果你需要快速启动一个项目,并且没有时间评估正式的 MLOps 工具,那么自主开发的解决方案是很好的选择。如果您采用这种方法,好消息是您的数据基础架构只需要 MinIO。MinIO 与 S3 兼容,因此如果您从其他工具开始并使用 S3 接口访问您的数据集,那么您的代码就可以工作了。如果您刚开始,那么您可以使用我们的 Python SDK,它也与 S3 兼容。考虑使用 MinIO 的企业版,它具有缓存功能,可以大大加快训练集的数据访问速度。查看 AI 建立在对象存储上的真正原因,我们将深入探讨 MinIO 如何以及为什么用于支持 MLOps。选择自主开发解决方案的组织仍应熟悉上述十个功能。您最终可能会超出自主开发的解决方案,最有效的方法是采用 MLOps 工具。

对于拥有多个 AI/ML 团队创建不同类型的模型的大型组织来说,采用第三方 MLOps 工具是最佳方法。具有最多功能的 MLOps 工具不一定是最好的工具。查看上面的功能,并记下您需要的功能、当前作为现有 CI/CD 管道一部分的功能,最后,您不需要的功能,这将帮助您找到最合适的功能。MLOps 工具对大 PB 级对象存储有着浓厚的兴趣。其中许多会在每次实验中自动对数据集进行版本控制,并在每个时期后自动检查模型。同样,MinIO 可以提供帮助,因为容量不是问题。与自主开发的解决方案类似,请考虑使用 MinIO 的企业版。缓存功能在为存储桶配置后自动工作,因此即使 MLOps 工具不请求使用缓存,MinIO 也会自动缓存经常访问的对象,如训练集。

未来的愿望清单

目前市场上的许多 MLOps 工具都使用开源关系数据库来存储模型训练期间生成的结构化数据,这些数据通常是指标和超参数。不幸的是,这将是一个需要组织支持的新数据库。此外,如果组织正在向新式数据湖(或数据湖仓一体)迁移,则不需要额外的关系数据库。对于主要的 MLOps 供应商来说,最好考虑使用基于 OTF 的数据仓库来存储他们的结构化数据。

所有主要的 MLOps 供应商都在后台使用 MinIO 来存储非结构化数据。遗憾的是,这通常部署为一个单独的小型实例,该实例作为 MLOps 工具的整体大型安装的一部分进行安装。此外,它通常是 MinIO 的旧版本,这违背了我们始终运行最新和最好的精神。对于现有的 MinIO 客户,最好允许 MLOps 工具使用现有安装中的存储桶。对于不熟悉 MinIO 的客户,MLOps 工具应支持最新版本的 MinIO。安装后,MinIO 还可以用于组织内 MLOps 资源以外的用途,即任何需要对象存储优势的地方。

结论

在这篇文章中,我通过调查 MLOps 功能和支持这些功能所需的数据基础结构,介绍了 MLOps 的架构师指南。在较高级别上,组织可以构建自行开发的解决方案,也可以部署第三方解决方案。无论选择哪个方向,了解当今行业中可用的所有功能都很重要。自主开发的解决方案允许您快速启动项目,但您可能很快就会超出您的解决方案。了解你的特定需求以及 MLOps 将如何与现有 CI/CD 管道配合使用也很重要。许多 MLOps 工具功能丰富,包含你可能永远不会使用的功能,或者你已作为 CI/CD 管道的一部分拥有的功能。

若要成功实现 MLOps,需要一个可以支持它的数据基础结构。在这篇文章中,我为那些选择自主开发解决方案的人提供了一个简单的解决方案,并描述了对第三方工具的期望及其所需的资源。

最后,我列出了一份愿望清单,希望进一步开发 MLOps 工具,帮助他们更好地与现代数据湖集成。

有关使用现代数据湖支持 AI/ML 工作负载的详细信息,请查看现代数据湖中的 AI/ML。

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

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

相关文章

在Linux上安装和配置RocketMQ:保姆级教程

感谢您阅读本文,欢迎“一键三连”。作者定会不负众望,按时按量创作出更优质的内容。 ❤️ 1. 毕业设计专栏,毕业季咱们不慌,上千款毕业设计等你来选。 当安装RocketMQ时,确保遵循以下步骤: 步骤概述 安装 …

如何保障生物制药中试验网和办公网之间的跨网安全文件交换数据?

在针对数据化大环境下,生物制药企业的数据安全尤为关键,尤其是试验网与办公网之间的数据交换。这些数据不仅包含新药品研发成果、临床试验数据,还有健康医疗数据等,都是企业的核心竞争力和商业秘密 。因此,安全地进行跨…

求函数最小值-torch版

目标:torch实现下面链接中的梯度下降法 先计算 的导函数 ,然后计算导函数 在处的梯度 (导数) 让 沿着 梯度的负方向移动, 自变量 的更新过程如下 torch代码实现如下 import torchx torch.tensor([7.5],requires_gradTrue) # print(x.gr…

如何用Vue3和Plotly.js创建交互式表格?

本文由ScriptEcho平台提供技术支持 项目地址:传送门 Plotly.js 动态生成 HTML 表格 应用场景介绍 在数据分析和可视化领域,经常需要以表格的形式展示数据。Plotly.js 是一款功能强大的 JavaScript 库,不仅可以创建交互式图表,…

漂亮的不像话的网站首屏,直接勾起了用户浏览欲望。

漂亮大气的网站首屏页面可以激发用户的浏览欲望,主要通过以下几个方面的设计和呈现来实现: 引人注目的视觉效果:使用高质量的图片、精心设计的图形和动画效果来吸引用户的眼球。这些视觉元素应当与网站的主题和品牌形象相符,并能够…

代码随想录(day3)有序数组的平方

暴力求解法: 心得:需要确定范围,比如nums.sort()是在for循环之外,根据函数的功能来确定 return返回的是nums,而不是nums[i]因为返回的是整个数组 class Solution(object):def sortedSquares(self, nums):for i in r…

生物素修饰稀土掺杂无机荧光纳米颗粒

一、基本概述 生物素,也被称为维生素H或辅酶R,是B族维生素的一种,主要参与代谢脂肪和蛋白质,维持人体的正常生长、发育和健康。稀土掺杂无机荧光纳米颗粒则因其良好的光学性能,如窄发射带、高稳定性、良好的生物相容性…

查看oracle ojdbc所支持的JDBC驱动版本

oracle jcbc驱动的下载地址参考:JDBC and UCP Downloads page 其实上文中对ojdbc所支持的JDBC驱动版本已经有说明了,不过,因为oracle的驱动包很多时间,都是在公司内部私服里上传维护的,上传的时候,可能又没…

快手矩阵源码揭秘:短视频运营新利器,一键管理多平台,轻松告别繁琐!

在数字化浪潮席卷全球的今天,短视频已成为人们生活中不可或缺的一部分。无论是抖音、快手还是其他短视频平台,都汇聚了数以亿计的用户,为内容创作者提供了广阔的舞台。然而,随着短视频平台的不断涌现,如何高效、便捷地…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十七章 Linux 环境变量

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

NSAT-8000电源检测软件测试砖式电源模块的方案及优势

砖式电源模块类型 砖式电源,顾名思义其外观尺寸像块砖,具有体积小、功率大、安装方便等特点。砖式电源模块具备高可靠性和高稳定性,能够为设备提供稳定的电力输出,在通信、工业、医疗等领域广泛应用。 根据尺寸大小,砖…

数据分析入门指南:表结构数据(三)

在数字化转型的浪潮中,表结构数据作为企业决策支持系统的核心要素,其重要性日益凸显。本文深入剖析了表结构数据的本质特征、高效处理策略,并探讨了其在现代商业智能环境中的广泛应用,旨在为数据分析师与决策者提供前沿洞察与实战…

菜花插画:成都亚恒丰创教育科技有限公司

菜花插画:田园诗意的视觉盛宴 在纷扰繁杂的都市生活中,人们往往渴望一抹清新与宁静,以慰藉心灵的疲惫。而菜花插画,恰似一股来自乡野的清风,以其独特的田园诗意,成都亚恒丰创教育科技有限公司为我们的视觉…

SpringSecurity中文文档(Servlet Method Security)

Method Security 除了在请求级别进行建模授权之外&#xff0c;Spring Security 还支持在方法级别进行建模。 您可以在应用程序中激活它&#xff0c;方法是使用EnableMethodSecurity 注释任何Configuration 类&#xff0c;或者将 < method-security > 添加到任何 XML 配…

2024年夏季德旺杯数学素养水平测试

此为小高组的测试&#xff0c;不过德旺杯主要看获奖情况&#xff0c;选择学员入营

2024互联网助力数字消费发展蓝皮书

来源&#xff1a;中国互联网络信息中心 近期历史回顾&#xff1a; 2024年5月全国二手房市场月报.pdf 2024跨境电商 2023年中国首席营销官&#xff08;CMO)调查报告.pdf 品牌信任维度.pdf 2024阿里妈妈经营指南VOL.10-“轻”感生活激发夏日生意新增长&#xff08;38页&#xff…

【漏洞复现】WordPress插件Recall CVE-2024-32709 SQL注入漏洞

0x01 产品简介 WordPress是一款免费开源的内容管理系统(CMS)&#xff0c;最初是一个博客平台&#xff0c;但后来发展成为一个功能强大的网站建设工具&#xff0c;适用于各种类型的网站&#xff0c;包括个人博客、企业网站、电子商务网站等&#xff0c;并逐步演化成一款内容管理…

【开源项目】H264码流格式解析

目录 1.概述2.头文件的定义2.1 基础头文件&#xff08;base.h&#xff09;2.2 H264码流读取文件&#xff08;bs.h&#xff09;2.2.1 单比特读取函数&#xff08;bs_read_u1&#xff09;2.2.2 指数哥伦布无符号编码&#xff08;bs_read_ue&#xff09;2.2.3 指数哥伦布有符号编码…

【独家揭秘】视频号矩阵系统源码,智能多平台管理,发布效率飙升的秘密武器!

在如今这个信息爆炸的时代&#xff0c;视频内容已经成为人们获取信息和娱乐的重要方式。然而&#xff0c;对于众多内容创作者和企业来说&#xff0c;如何高效地将视频内容发布到各大平台&#xff0c;提升品牌曝光度和用户互动&#xff0c;一直是一个头疼的问题。今天&#xff0…

获超九成Gartner用户力推!FortiGate连续五年斩获“客户之选”称号

近日&#xff0c;Gartner Peer Insights™ 网络防火墙客户之选报告发布&#xff0c;Fortinet 连续第五年荣登这项权威榜单。该评选结果源于广大用户对 Fortinet 防火墙产品的真实反馈&#xff0c;是客户选择 Fortinet 的重要参考依据&#xff0c;也是FortiGate能够占据全球防火…