成功实施MLOps的一些最佳实践

译文
人工智能 机器学习
别以为仅仅注册新的SaaS提供商或创建新的云计算实例,MLOps就能正常工作了。它需要细致的准备,还需要诸团队和部门采用统一的方法。以下是成功实施MLOps的几个最佳实践。

译者 | 布加迪

策划 | 梁策 孙淑娟

您可能已经熟悉机器学习及其在当今世界的应用。人工智能(AI)和机器学习(ML)便于开发这样的智能软件:能够准确预测结果,自动化执行通常由人执行的各项工作。尽管将机器学习纳入应用程序至关重要,但对于组织而言,确保机器学习顺利运行更为重要。

为此,许多公司利用一套名为“机器学习运营”(MLOps)的最佳实践。而MLOps对于任何企业未来的繁荣正在变得至关重要。据德勤声称,到2025年,这个市场的产值可能会扩大40亿美元,自2019年以来增长近12倍。

尽管机器学习为诸多业务流程带来了种种优势,但许多公司仍难以实施ML方法以提高生产力。

MLOps最佳实践以及如何运用?

别以为仅仅注册新的SaaS提供商或创建新的云计算实例,MLOps就能正常工作了。它需要细致的准备,还需要诸团队和部门采用统一的方法。以下是成功实施MLOps的几个最佳实践。

1.跨多个细分市场验证模型

模型可重复使用,但软件不能。模型的有用性会逐渐降低,因此需要再训练。每个新的情况都需要调整模型,需要训练管道来完成这项任务。

虽然试验监控可以帮助我们管理模型版本控制和可重复性,但在使用模型之前验证模型也很重要。

离线或在线验证是企业可以根据优先事项来使用的一种选择。使用测试数据集评估模型对实现业务目标的适用性,重点关注精度和准确性等指标。在做出升级决策之前,应将指标与当前的生产/基线模型进行比较。

如果您的试验在元数据方面得到了很好的跟踪和管理,可以轻松执行升级或回滚。本文着眼于使用A/B测试来验证在线模型,看看它在面对真实数据时是否表现良好。

机器学习系统越来越意识到可以从数据中获得的偏差。这方面的一个例子是Twitter的图像裁剪工具,它对某些用户无效。可以将模型的性能与不同的用户组进行比较,发现并修复这种不准确性。模型的性能还应在各种数据集上进行测试,以确认它符合要求。

2.尝试新事物,跟踪结果

超参数搜索和特征工程是不断发展的领域。考虑到技术现状和数据不断变化的模式,ML团队的目标是生成最佳系统。

然而,这需要与最新的趋势和标准保持同步。此外,测试这些概念,看看它们是否可以帮助您的机器学习系统更好地执行。

数据、代码和超参数都可以在试验中使用。每个可能的变量组合都会生成可以与其他试验的结果进行比较的指标。进行调查所在的环境也可能会改变结果。

您可能还需要部署时间跟踪软件,以确保结果的及时性,并跟踪花在每个项目上的时间。

3.了解MLOps的成熟度

微软和谷歌等领先的云提供商使用针对MLOps采用的成熟度模型。

实施MLOps需要组织变革和新的工作实践。随着组织的系统和程序开始完善,这种情况逐渐发生。

任何成功的MLOps实施都需要如实评估组织的MLOps成熟度进度。进行有效的成熟度评估后,公司可以学会迈入到新的成熟度水平。改变部署过程(比如实施DevOps或引入新的团队成员)是其中的一部分。

有多种方法可以存储用于机器学习的数据,比如特征商店(feature store)。特征商店对于数据基础架构比较完善的组织很有帮助。它们需要确保不同的数据团队使用相同的特征,并减少重复工作量。如果组织只有少数几个数据科学家或分析员,特征商店可能不值得花精力搞。

组织可以利用MLOps成熟度模型,让技术、流程和团队共同成熟起来。它确保了迭代的可能性以及实施之前测试工具。

4.进行成本效益分析

确保您了解MLOps可以为贵组织做些什么。如果您在进行另一次购买时遵循策略,可以有效地处理每笔交易。假设您是想挑一辆汽车的购车者。面前有诸多选择,比如跑车、SUV、紧凑轿车和豪华轿车等。您得先选择最适合需求的类别,确保购买的车子符合需求,然后根据预算分析不同的类别和型号。

为贵公司选择最佳的MLOps技术时,同样如此。比如说,跑车和SUV有不同的优缺点。同理,您可以分析几种MLOps工具的优缺点。

为了做出明智的战略决策,您必须考虑几个变量,包括贵公司的预算和目标、打算进行的MLOps活动、打算处理的数据集的来源和格式以及团队的能力。

5.保持沟通渠道畅通

产品经理和用户体验设计师会影响支持系统的产品如何与客户互动。机器学习工程师、DevOps工程师、数据科学家、数据可视化专家和软件开发人员需要齐心协力,实施和管理长期的机器学习系统。

员工绩效由经理和企业主审核和鉴定,而负责合规的专业人员验证活动是否符合公司的政策和监管标准。

如果需要机器学习系统在面对不断变化的用户、数据模式和期望时继续满足业务目标,它们要相互联系。

6.将自动化融入工作流程

由于广泛而先进的自动化,公司的MLOps成熟度可能会提高。许多机器学习任务必须在缺乏MLOps的环境中手动执行。这包括特征工程、数据清理及转换、将训练和测试数据分割成更小的块、构建模型训练代码等。

数据科学家手动执行这些任务,从而为错误和浪费时间埋下了祸根,这些时间原本可用于探索。

持续再训练是自动化实际运用的典型例子,数据分析员可能为验证、数据摄取、特征工程、试验和模型测试建立管道。持续再训练可防止模型漂移,通常被视为自动化机器学习的早期步骤。

原文链接:https://www.kdnuggets.com/2022/04/mlops-best-practices-apply.html

责任编辑:武晓燕 来源: 51CTO技术栈
相关推荐

2011-07-26 10:03:11

ITIL实施ITIL流程认证

2010-11-02 14:11:15

SilverlightWPF微软开发

2022-08-25 18:58:48

MLOps

2022-08-02 09:55:04

React前端

2017-05-03 19:32:28

持续测试持续集成工具开发

2021-02-06 14:25:29

Java延迟加载代码

2017-05-02 21:08:35

开发架构工程师

2022-04-02 14:43:59

Promethues监控

2024-07-05 13:59:26

2023-09-08 07:01:08

机器学习监控ML

2021-07-06 14:17:16

MLOps机器学习AI

2010-08-11 15:09:15

2021-10-21 06:52:17

Vue3组件 API

2018-06-29 14:51:41

Java健壮性实践

2023-10-07 16:20:34

JavaAPI

2011-06-16 16:39:14

CSS

2015-04-23 09:38:43

云计算基础AWS解决方案

2020-02-03 16:03:36

疫情思考

2010-09-28 14:14:19

SQL语句

2011-06-01 16:50:21

JAVA
点赞
收藏

51CTO技术栈公众号