MLOps 带给商业与技术流程的5个好处与13个指标 | MLOps落地指南 - 流程篇

MLOps除了ML之外,另一部分则是DevOps(develop operations)。事实上,技术的运作(operation)与商业的运作是密不可分的。其中一个最常见的问题,便是在导入ML专案的时候,好不容易找来了各方的专家,在合作时因为彼此的背景、角色不同,而导致需要非常大量的沟通成本。例如资料科学家、DevOps、领域专家,大家在谈论dashboard的时候,心里想的分别是:模型的准确度、系统的稳健度、模型与使用者消费的关联程度。资料科学家可以解释资料跟模型,但可能没有管理业务运营的背景。 同样,业务团队或领域专家则可以评论怎麽样的资料反应市场状况,但他们不会知道这些资料点在ML模型下的意义是什麽。

MLOps的存在,帮助了大家在商业及技术上有一个共同的目标,且在这个目标下建立的平台,让专案开发更稳固、大家能够去了解对方眼中对这个专案在乎的事情是什麽。我们一起来看看在流程上,MLOps可以如何协助团队更顺畅的合作:

1. 高效率:自动化开发与更新

一方面基於ML 团队的成员背景大多不是与资讯有关,可能是边做边学。一方面基於ML专案在前期需要大量的实验,开发人员多为独立作业,过程也不少人工设定的参数夹杂在程序码里面,两者加乘下,也因此ML专案累积的技术债也是出名的难维护。如果新增一张资料表,或者更迭一次实验参数,要回溯到上个版本,可能都是很困难的。同样的,若是另一个同事接手维护,通常也要花不少时间重新梳理前人留下的程序码。

MLOps的出现,迫使资料科学家们必须开始思考如何更好地维护他们所开发的程序码。让原本只是在实验环境(如jupyter notebook)需透过运行的程序码,变成可以被其他程序自动执行的程序码。Pipeline的出现,使得人工干预的部分减少了,尽量让系统去执行程序,相对的在管理上也相对能够被管控。

衡量指标:(1)各资料来源是否能自动化倒入资料收集的管线(pipeline)。(2)模型的建立与训练,参数是否都有从程序码当中提取出来,让外部的系统可以执行这些训练程序码。(3)从专案的导入之後,是否有加速实现价值,加速模型迭代的时间,从几个月缩短到几小时能够完成一次的训练到部署的循环。

2. 高透明度:助於跨部门、团队协作

除了第一点所提到的,资料科学家彼此的合作之外。MLOps的实作过程也强调各项日志(Log)的重要性。这些日志资料包含(1)资料科学相关数据。包括程序码、版本、参数、实验时使用的资源、运算时间、错误或故障报告等等,从收集资料开始到模型上线的整个生命周期都建立了可视性、可重复性和再现性。(2)使用者相关数据。顾客使用ML功能的相关行为监测与纪录。例如呼叫模型的回应时间、送出去的资料以及得到的预测结果、使用者是否有针对ML模型推论的结果有正向的行为记录等等。让单一使用者体验能够被量化,让群体的使用者行为纪录可以回到系统,用来协助下一次模型运算试验。

其中(1)的资料大多是ML团队和DevOps使用及沟通。(2)的资料则是ML团队和领域专家用来沟通的素材。这些数据让各团队们不再只是埋首工作,也同时能够理解其他人所在乎的数据指标。让每一次的迭代都是经由资料的回馈触发。

衡量指标:(1)各团队的指标是否都能够以某种方式展现在相关联的报表上,如果有,其他合作的单位是否也能够理解当中报表的意涵。(2)倘若报表上有异常,是否各团队都有可以相对应的处理方式?

3. 高适应性:提高系统弹性、消除浪费

当模型的开发与部属都模组化,且有了相对应的报表能够观测这些开发过程、系统使用相关的数据。这让管理团队能够很快地掌握,当前的资源是否有被滥用、或是因为使用者大量涌入而需要增加使用的机器等等。这些都让公司在这个产品上相关的策略可以有更大的弹性,同时也因为根据需求随时调整,也消除了不必要的浪费。

衡量指标:(1)ML模型训练过程,是否都有很好地利用CPU/GPU/TPU以及Memory,有没有哪些地方还可以被优化(2)放置ML模型服务的机器,是否健康的回应使用者需求(3)假若目前的使用者数量涌进10倍、100倍的状况,系统会怎麽样调整?

4. 聚焦ML情境:在软件开发的核心概念上支援ML模型

我们在3面向谈ML产品与软件产品的相异处提到ML专案与一般软件开发专案的不同点。其中也包含用於开发它们的所需材料不同、构建过程不同、开发与执行的行为也不同。因此在MLOps的实作上,我们也要时时刻刻记得:当挪用DevOps的相关概念到专案上的时候,资料科学家跟资料工程师们是否都还能维持顺畅的开发流程。

这个想法会让ML专案同时能具有DevOps在系统更迭的稳定与快速。相对过去,MLOps也能够相对快速的与市场互动。基於我们前面提到的,自动化,可回溯的特性上。也因为我们导入系统监测,让资料、模型、使用者的数据能够及时被看见,当模型或者资料漂移时,能够进行下一次的开发。

衡量指标:(1)资料、模型、程序码是否都进入版本控制(2)假若平台上需要不同角色的权限设定,是否有系统化的设置好(3)系统监测与使用者日志,是否有针对ML的使用情境做调整,纪录相对应的资料在资料库里?

5. 高信任度:因专案的准确性、可解释性带来信任和影响力

ML专案在推送到产品化的过程当中,最被商业夥伴们觉得无法信任的原因,就是不知道这个决策是依据什麽而来的。举例来说,法务与金融业,每个决策都需要有资料佐证,不能直接用"模型说是这样"就直接拒绝某一个人的贷款申请或直接判定某人的罪行。

MLOps落地的过程当中,可以在模型交付的过程,将ML端跟商业端的负责人放在部署模型的必要审核,迫使双方团队在每一次的迭代都需要反覆的沟通与讨论。讨论的内容从一开始资料收集的状况、各项特徵所反映在模型的重要程度、模型上线之後如何影响使用者的行为等等。

即便大家可能在一开始还不是太清楚整个ML专案的影响力,但是随着每一次的迭代与循环,让整个专案的完整度能够提升,在部属的系统上也有相对应的安全措施确保每一次的交付都是有足够品质的准确度跟性能。在模型上线之後的系统可靠性、SLA、安全性和合规性这些也都是能够量化的。这些数据所累积的专案样貌,使得这个专案能够在公司内部、外部建立信任感,和影响力。

长久下来,公司、企业也对於模型所带来的效益有更多的信任,愿意投注资源给更多的ML专案、建立ML文化。

衡量指标:(1)ML专案是否带入可解释性,让模型与特徵值之间的关系能够更轻易的被领域专家理解(2)每一次的上线交付,是否都有可靠性、SLA、安全性和合规性的数据做依归。

结语

今天透过这几项细节,带大家看看MLOps除了在团队与技术之外,在商业与技术的流程上面的5大好处:

  1. 高效率:自动化开发与更新
  2. 高透明度:助於跨部门、团队协作
  3. 高适应性:提高系统弹性、消除浪费
  4. 聚焦ML情境:在软件开发的核心概念上支援ML模型
  5. 高信任度:因专案的准确性、可解释性带来信任和影响力

以及这5个好处相对应的指标,大家一起来看看公司内部的专案是否都有受到这些好康! :D

Reference
[1]. The state of MLOps in 2021
https://www.zdnet.com/article/the-state-of-mlops-in-2021/

[2]. How is MLOps Used in Business and Marketing?
https://neilpatel.com/blog/mlops/?lang_geo=us&

[3]. A Guide to Enterprise MLOps
https://www.dominodatalab.com/resources/a-guide-to-enterprise-mlops/

[4]. How MLOps Delivers Business Value
https://tdwi.org/articles/2020/10/20/adv-all-how-mlops-delivers-business-value.aspx?m=1

[5]. The Business Case for MLOps
https://www.thorogood.com/perspectives/whitepapers/the-business-case-for-mlops/


<<:  没想太多就用了 MongoDB 的结果 (上)

>>:  [Day 5] 资料产品第二层 - 资料加工术 - 资料聚合

android studio 30天学习笔记-day 3 -介绍Service

Service一般都被翻译为服务的意思,在android里,service是背景执行的元件,可用於长...

人脸辨识-day21 资料预处理--2

缺失值处理 在处理大量资料时,资料有些会有缺失的情况,有分以下几种缺失的情况,随机缺失(Missin...

什麽是 JSX (Day2)

介绍JSX JSX 是一种在 JavaScript 里面的标签语法,让我们可以在写逻辑时使用 HTM...

DAY7 MongoDB 资料更新(Update)

DAY7 MongoDB 资料更新(Update) 更新(update) 资料更新(Update)如...

Day 17 To Do List - 切版 2

第 17 天! 昨天我们建立了, To Do List 专案 这是我们预期的画面, 昨天做到 今天我...