在低效系统的根本原因是一系列随时间累积的错误决策的相互关联网络。寻找解决性能不佳系统的灵丹妙药是很诱人的,但这种策略很少,如果有的话,能够取得成功。考虑人体;有很多迅速解决健康问题的产品,但实现健康长寿的解决方案需要系统的方法。同样,在“迅速致富”方面,也有很多建议。在《别相信你的直觉》(HarperCollins,2022)中,塞思·斯蒂芬斯-戴维多维茨(Seth Stephens-Davidowitz)表明,收入排名前0.1%的人中有84%至少从拥有企业中获得一些收入。此外,企业创始人的平均年龄约为42岁,一些最成功的公司是房地产或汽车经销商。这些都不是迅速致富的计划,而是需要丰富的技能、专业知识和通过生活经验获得的智慧的企业。
城市是另一个没有灵丹妙药的复杂系统的例子。WalletHub创建了一个美国最良好管理城市的榜单,旧金山在其中排名第149位,尽管它在理论上比其他城市有很多优势,如宜人的天气、是世界顶级科技公司的总部所在地,以及2022-2023年的预算为140亿美元,人口为84.2万。这个预算与全巴拿马国的相似,后者的人口为440万。正如旧金山的案例所示,仅靠收入或自然美景并不足以使城市运行良好;需要有一项全面的计划:执行和战略至关重要。没有单一的解决方案会使或断掉一个城市。WalletHub的调查指出了衡量城市管理良好的广泛标准,包括基础设施、经济、安全、健康、教育和财务稳定性。
同样,在MLOps领域,寻找一个单一的答案来将模型投入生产,也许是通过获取更好的数据或使用特定的深度学习框架,是很诱人的。相反,就像这些其他领域一样,有一个基于证据的、全面的战略是至关重要的。
什么是MLOps?
MLOps的核心是持续改进所有业务活动。日本汽车工业将这个概念称为”改善”,字面上的意思是“提高”。对于构建生产机器学习系统,这体现在显而易见的方面,即提高模型准确性以及支持模型的整个生态系统。
一个非常好的例子是机器学习系统的一个不明显的组成部分,即业务需求。如果公司需要一个准确的模型来预测在仓库存储多少库存,但数据科学团队创建了一个计算机视觉系统来跟踪已经在仓库中的库存,那么就解决了错误的问题。无论库存跟踪计算机视觉系统有多准确,业务要求的是不同的,因此系统不能实现组织的目标。
那么什么是MLOps?MLOps是Machine Learning(ML)和Operations(Ops)的复合词,是设计、构建、启用和支持在生产中高效部署ML模型的过程和实践,以持续改进业务活动。与DevOps类似,MLOps基于自动化、灵活性和协作来提高质量。如果你在考虑持续集成/持续交付(CI/CD),那你没有错。MLOps支持CI/CD。根据Gartner的说法,“MLOps的目标是在ML模型的部署和管理方面实现标准化,同时支持ML管道的运营。它支持ML构件的发布、激活、监控、性能跟踪、管理、重用、维护和治理”。
企业中的MLOps
企业公司和初创公司之间存在实质性的差异。企业家专家斯科特·谢恩在《企业家的幻想》(耶鲁大学出版社,2010年)中写道:“只有1%的人在两年以内的公司工作,而有60%的人在十年以上的公司工作。” 长寿是企业公司的特征。
他还说:“经过43次创业,最终才能有一家公司在十年后雇佣除创始人以外的任何人。” 本质上,企业公司的建设是为了规模和长寿。因此,考虑支持这些特征的技术和服务是至关重要的。
注意
初创公司对用户具有技术优势,但对于投资者和雇员而言,它们的风险配置也是不同的。风险投资家拥有众多公司的投资组合,实现风险分散。据FundersClub称,一个典型的基金“包含1.35亿美元”,“分散在30到85家初创公司之间”。与此同时,初创公司的雇员将工资和股权投资于一家公司。
利用期望值在概率为1/43的情况下生成实际股权价值,一家企业提供每年5万美元的奖金,在第四年返回20万美元。而一家初创公司在第四年产生的价值为4,651.16美元。对于大多数人来说,从财务角度来看,初创公司通常是一项有风险的决策。然而,它们可能通过提供学习新技术或技能的加速机会以及获得巨额回报的微小机会,提供卓越的回报。
相反,如果初创公司的生命周期是动态的,那么它必须选择与企业完全不同的技术解决方案。如果一个初创公司在10年内存活的概率只有2.3%,那么为什么要关心供应商锁定或多云部署?只有在数学上挑战的初创公司才会构建尚不需要的东西。
同样,如果你是一家盈利的企业,希望在现有成功的基础上发展,考虑超越初创公司使用的解决方案。其他指标,如招聘能力、企业支持、业务连续性和价格,变得至关重要,成为关键的绩效指标(KPIs)。
理解企业解决方案中的投资回报率(ROI)
“免费”解决方案的吸引力在于你无需付出任何代价就能得到某些东西。实际上,这种情况很少发生。图1-1呈现了三种情景。在第一种情景中,解决方案虽然不花费任何费用,但也没有提供任何价值,因此投资回报率为零。在第二种情景中,存在高价值,但成本超过了价值,导致投资回报率为负。在第三种情景中,价值为一百万,成本为五十万,提供了五十万的价值。
最佳选择不是免费的,而是提供最高投资回报率的解决方案,因为这种投资回报率能够提高盈利企业的速度。让我们通过深入研究定制解决方案来更进一步地扩展ROI的概念,从某种意义上说,定制解决方案也是“免费”的,因为它是由一名员工构建的。
在图1-2中,一位真正聪明的工程师说服管理层允许他们构建一个专门为财富100强公司解决特定问题的定制系统。这位工程师不仅交付速度很快,而且系统超出了预期。或许会觉得这是一个成功的故事,但实际上这是一个失败的故事。一年后,这位聪明的工程师收到了一家价值万亿美元的公司的工作邀请,于是离职了。大约三个月后,系统崩溃了,没有人足够聪明来修复它。公司不情愿地替换整个系统,并对新的专有系统进行了全员培训。
对于组织而言,最终的成本是在使用一种优越系统一年后失去的势头,再加上从旧系统切换到新系统所需的培训时间。因此,一种带有正回报率的“免费”解决方案对于组织来说可能具有长期的负回报率。这种情况不仅仅是假设的;你可能亲身见过。在《被随机愚弄:生活和市场中的机会隐藏角色》(Random House,2008)一书中,纳西姆·塔勒布提出:“如果失败成本太高,那么成功多少次并不重要。” 这个说法直接适用于希望实施MLOps的成功企业。采取正确类型的战略风险至关重要。在接下来的部分,我们将更详细地讨论风险的概念。
理解企业中的风险与不确定性
并非所有的风险都相同,就像并非所有的不确定性都相同。与初创公司不同,企业已经进入了生存阶段。有一些风险企业是不需要承担的。吉姆·柯林斯在他关于企业的书《从优秀到卓越》(哈珀商业,2011年)中提出了一个问题:“卓越的组织在技术方面有何不同的思考方式?” 他发现在每种情况下,“从优秀到卓越”的公司都通过技术复杂性成为了技术应用的先驱。此外,柯林斯指出,技术是动力的加速器,而不是创造者。
注意: 马克·斯皮茨纳格尔在《安全港》(Wiley,2021年)中提出考虑在金融投资中使用几何平均数的理由。他表示:“利润是有限的。风险是无限的。” 在投资时,你可能失去的财富的百分比比你可能失去的财富的绝对值更重要。这一事实非常适用于企业。为什么要冒险面临无限损失呢?
柯林斯关于技术的关键观点直接适用于企业中的MLOps。机器学习的目的是加速已经存在的业务价值。使用机器学习的原因不是将组织转变为与专门从事研究的公司竞争的机器学习研究人员;而是通过技术加速组织的战略优势。
以机器学习作为业务加速器的计算风险是可以接受的,前提是以一种允许组织限制技术变更管理负面影响的方式进行。当一家公司的核心优势在于其他行业,如制造业、酒店业或金融服务时,创建专门的机器学习解决方案和平台存在基本上无限的风险。
企业在加速技术进步方面有许多选择,包括使用像Hugging Face或TensorFlow Hub这样的预训练模型,像AWS Rekognition这样的计算机视觉API,或者像Ludwig或MLRun这样的开源AutoML解决方案。采用正确的抽象层次的方式来采用MLOps的企业,为自己赋予了“从优秀到卓越”的优势,而不是像“雇佣了15名数据科学家”进行“研究”的组织。在后一种情况下,经过多年的研究,最好的情况是什么都没有做,但在最坏的情况下,一个糟糕的解决方案会比什么都不做带来更糟糕的结果。
经济学家弗兰克·奈特清晰地阐明了风险和不确定性之间的区别:承担已知风险的奖励与无法计量和无法计算的风险完全不同。这种形式的风险被称为奈特不确定性,以奈特的名字命名。进行机器学习的企业应该深入考虑他们正在承担哪种风险:一个可知的普通风险,还是他们正在踏上一条充满奈特不确定性的道路?在几乎所有情况下,在机器学习和人工智能中承担可知的风险要好得多,因为技术不是增长的创造者;相反,它是加速器。
了解到加速是使用技术的伟大公司的关键见解后,让我们看一下MLOps和DevOps之间技术加速的一些差异。
MLOps与DevOps的对比
没有DevOps,就不能进行MLOps。DevOps是进行MLOps的基础构建块,没有替代品。DevOps是一种以敏捷方式发布软件的方法论,同时不断提高业务结果和软件本身的质量。一个高级的DevOps实践者与美食大厨有很多共同之处。大厨对食材有深入的了解,拥有多年创造美味佳肴的实际经验,可以以产业化和可重复的方式制作这些美食。重复性使得餐馆能够保持开放并盈利。
同样,通过DevOps,领域专家对如何构建软件并以高质量和可重复的方式部署它有详细的了解。对于数据科学专家转向MLOps的最大挑战之一是缺乏DevOps经验。经验是无法替代的;许多数据科学从业者和机器学习研究人员应该通过使用DevOps方法构建和部署软件来获得基础知识和经验,以成为MLOps方面的专家。
然而,传统的DevOps和MLOps之间存在明显的差异。一个明显的差异在于数据漂移的概念;当模型在数据上训练时,随着底层数据的变化,它可能逐渐失去有效性。这个概念的一个巨大的理论例子来自纳西姆·塔勒布在《被随机愚弄》(Random House,2021年)中的描述,他描述了一个“淘气的孩子”,如图1-3所示,可能会破坏容器中红球与黑球的底层分布的理解。
在静态条件下,从容器中取出的球越多,人们对红球与黑球底层分布的了解就越有信心。在动态条件下,如果球不断变化,那么在旧版本数据上训练的模型就不会准确。这个例子捕捉到了MLOps中的许多特定于MLOps而在DevOps中找不到的独特要素之一。
总结起来,DevOps是MLOps的必要基础,但MLOps的额外要求,如数据漂移,是传统DevOps中没有的。
什么不是MLOps?
了解MLOps的一种方法是定义它不是什么。以下是一些常见的MLOps反模式:
- 雇佣一支数据科学团队并寄希望于最好的结果
MLOps反模式中可能最常见的是雇佣一支数据科学团队,并期望出现出色的解决方案。如果没有理解MLOps和支持它们的技术基础设施的组织支持,就不会有理想的结果。
- 只构建定制的机器学习解决方案
仅构建定制解决方案的一个基本问题是它们对于组织的业务目标可能并非必要。在自动驾驶公司为专有数据训练一个定制的机器学习模型对于竞争优势至关重要。为一家财富500强的快递公司训练一个类似的模型可能是一项昂贵的实验,对业务没有真正的价值。
- 忽视DevOps的重要性
工作在孤立环境中的团队没有遵循DevOps的最佳实践。例如,在得克萨斯州有一个以R语言构建模型的数据科学团队,然后将其传送到旧金山金融区的DevOps团队中将其放入Python软件堆栈中是不切实际的。
最终,MLOps需要商业和以生产为先的思维方式。机器学习的目的是加速业务价值。这意味着构建解决方案的团队在解决机器学习问题的方法上必须灵活。
MLOps的主流定义
在技术领域的一个挑战是区分营销战略和技术战略。在MLOps的情况下,它不是一种营销策略;它是企业中一个严重问题的具体解决方案。问题的关键在于模型无法投入生产;即使投入生产,面对实际世界的复杂性,它们也会变得脆弱并崩溃。各种调查显示,50-70%的组织未能将人工智能试点项目或模型投入生产。
在确认了问题后,让我们来找到解决方案。解决方案需要解决以下关键问题(等等):
- 模型部署和开发时间
- 不同团队之间的协作
- 机器学习系统的运营卓越性
- 数据治理
- 提升部署模型的企业投资回报率
一个简约的定义MLOps的方式是,它支持机器学习的开发,就像DevOps支持软件开发一样。
什么是机器学习工程?
定义机器学习工程的一种方法是查看热门的认证。Google的专业机器学习工程师解释了专业机器学习工程师的以下标准:
- 构建机器学习问题 选择哪种模型取决于业务约束和上下文。例如,一个企业可能决定对比损坏的运送箱与成功交付的包裹。在这种情境下,分类模型可能比回归模型更合适。
- 架构机器学习解决方案 机器学习工程师与团队其他成员一起开发解决方案,以解决正确构建的问题。
- 设计数据准备和处理系统 数据准备和处理的两个关键步骤是构建数据集,然后对数据进行转换。
- 开发机器学习模型 详细的建模过程涉及一个团队或个人,他们创建一个与初始模型构建相适应的模型。
- 自动化和协调机器学习管道 管道用于创建一个可重复和可维护的机器学习过程。
- 监控、优化和维护 在构建复杂系统时,更好地是采取主动措施而不是被动措施。建立监控允许以主动方式维护机器学习系统。
机器学习工程的目标是构建解决特定业务问题的高质量机器学习模型,同时创造投资回报。
MLOps与业务激励
商学院中的一个经典问题是激励,通常被描述为“谁挪动了奶酪?”这个情境指的是一个在迷宫中移动的老鼠,取决于奶酪的位置。类似地,在MLOps中有两种常见的值得讨论的激励:负面外部性和雇佣数据科学家而不考虑投资回报:
- 负面外部性
负面外部性,例如一家公司为了盈利而将有毒废物倾倒到河流中,而不是选择更昂贵的适当处置方式,是资本主义中基本问题的经典例子。在机器学习中,负面外部性可能表现为偏见算法,根据种族、宗教、国籍等类别将无辜的人送进监狱,或者拒绝个人的信用。即使在模型中无意中产生的偏见仍然是违法的(例如,基于年龄拒绝信用)。企业如果不着眼未来,可能会使自己面临存在风险,例如,如果针对年长申请人的系统偏见被意外地固化到机器学习模型中。
- 雇佣数据科学家而不考虑投资回报
最近流行起来的一种策略是雇佣数据科学家,而不考虑他们解决的问题。正如我们讨论过的,这种策略最终是不起作用的,因为大多数进行人工智能和机器学习的组织中,模型并没有投入生产。
云中的MLOps
MLOps方法利用了云计算的几个关键优势。首先,云是一种弹性资源,可以高效利用计算和存储,并能够根据几乎任何需求进行扩展。这种能力意味着云计算可以随时访问基本无限的资源。
其次,云计算具有网络效应,即云技术受益于与其他云技术的集成。一个很好的例子是AWS Lambda,一种无服务器技术。AWS Lambda不仅因为其独立完成的任务而成为构建应用程序的有价值服务,更因为与其他AWS服务(如AWS Step Functions、Amazon SageMaker或AWS S3)的深度集成。对于任何活跃的云平台,可以假定服务的集成网络会随着平台开发更多功能而进一步增强其功能。
第三,所有云供应商都有MLOps平台。AWS拥有SageMaker,Azure拥有Azure Machine Learning,Google拥有Vertex AI。即使是像阿里巴巴云这样的较小的专业云,也有其面向人工智能的机器学习平台。通过使用云平台,组织可能会使用一些本地ML平台的服务,并可能通过自定义解决方案和第三方解决方案进行增强。
第四,所有云供应商都有云开发环境。一个重要的趋势是使用轻量级的CloudShell环境(如AWS CloudShell)、较重的交互式开发环境(IDE)选项(如AWS Cloud9)以及笔记本环境,其中既有免费的选项(如SageMaker Studio Lab或Google Colab),也有具有丰富IDE集成的选项(如SageMaker Studio)。
最后,根据公司的具体业务,可能别无选择,只能使用云计算。对于专门构建定制深度学习解决方案的组织来说,一些云计算组件是硬性要求,因为深度学习需要大量的存储和计算能力。
除了公共云供应商外,还有一些其他提供云中MLOps解决方案的参与者(请参见本节后面的内容)。这些供应商可以在公共云上或私有云上运行。使用较小的供应商的优势在于它们为客户提供的个性化水平。此外,MLOps供应商在MLOps方面通常拥有更深入的专业知识,因为这是其唯一的关注点。集成供应商通常确保更相关的功能和更多的集成。最后,选择与特定云提供商无关的供应商,作为客户,您也不会受到限制。相反,您可以在多个云上使用该供应商或在您可能拥有的其他基础设施上使用它(请参见本节后面的内容)。
在图1-4中,请注意在所有云中都存在一组云开发环境、灵活的存储系统、弹性计算系统、无服务器和容器化的托管服务以及第三方供应商集成的典型模式。
以下是有关这些类别的更多详细信息:
- 云开发环境: 一般来说,以开发者为中心的工具,如云shell和IDE,位于一个极端,而以机器学习为中心的工具位于另一个极端。存储查询工具,如Google BigQuery、Amazon Athena或Azure Databricks Integration,则位于中间。
- 在云中运行的MLOps平台: MLOps平台专为在云上或跨任何环境运行企业的MLOps而构建。诸如Iguazio、Valohai、DataRobot、Azure Databricks和Outerbounds等解决方案为企业提供了各种各样的MLOps解决方案。
- 弹性存储系统和弹性计算系统: 深度学习系统对大数据和来自GPU、CPU和专门应用集成电路(ASICs)(如Tensor Processing Units(TPU))的灵活计算能力具有依赖性。因此,本地和第三方的MLOps平台大量使用这种弹性能力来提供托管解决方案。
- 无服务器和容器化的托管服务: 云平台逐渐演变为更多无服务器解决方案,如AWS Lambda或Google Cloud Functions,以及具有完全托管的容器化解决方案,如Google Cloud Run或AWS Fargate。这些托管服务反过来具有深度的平台集成,通过网络效应增强了云平台的价值主张。
- 第三方供应商集成: 云平台无法在所有方面以及以正确的质量拥有完全匹配的一切。在大型仓储商店购物可以找到各种各样的商品以合理的价格。然而,它们可能没有您喜欢的正宗美食或您需要的确切家电功能。就像大型仓储商店一样,云提供商无法在所有方面都有深入的了解。因此,第三方集成处理这些专业或高级用例。
通过介绍MLOps的云计算的共同特点,让我们进一步详细讨论云环境。
主要的云开发环境
微软最出色的新产品之一是GitHub Codespaces,这是一个基于云的开发环境,具有许多可定制的功能,是练习MLOps的绝佳场所。特别是,这个环境之所以有帮助,是因为它与GitHub深度集成,并且可以使用专门的运行时进行定制。最后,与GitHub Actions的协同作用为出色的CI/CD提供了支持。
谷歌提供三种不同的云开发方式:Colab笔记本、Google Cloud Shell和Google Cloud Shell编辑器。 图1-5展示了适用于Google Cloud Platform(GCP)的完整编辑器。
最后,AWS平台也有云shell环境,如图1-8所示。
所有这些都导致了云开发者工作区优势的概念,如图1-9所示。笔记本电脑或工作站由于预装软件而昂贵且不确定,并且根据定义不是部署目标。当您查看云基工作区时,它具有许多令人惊叹的优势,包括强大的计算能力、可处置性、预加载和与先进工具的深度集成。
云计算领域的关键参与者
知道有人想要年薪20万美元或更多吗?根据迈克·卢基德斯(O’Reilly)的2022年云薪资调查,AWS、Azure和GCP认证专业人士的平均薪资超过20万美元。 Statista的数据进一步支持了这一点,如图1-10所示。截至2022年第二季度,在全球市场中有三个关键参与者。AWS的市场份额约为33%,Azure的市场份额约为21%,Google Cloud的市场份额约为10%。综合而言,这三家供应商控制着市场的三分之二,市场产生了近2000亿美元的收入。服务收入较去年增长了37%。
对于希望使用云计算的组织来说,一个合理的策略是使用最大供应商的平台。马太效应的说法:“富者越富,穷者越贫”,在云计算中有几个原因适用:
- 可用的雇员和供应商 利用最大的云平台使得雇佣员工和找到与该平台合作的供应商更加容易。
- 可用的培训材料 最大平台的培训材料的可用性使得培训员工变得更加容易。
- 可用的服务 更大的平台可以雇佣更多的软件工程师和产品经理,这意味着您可以依靠其平台不断推出新功能并进行维护。
- 服务成本 规模经济意味着最大的供应商最能从规模经济中获益。他们可以通过大宗购买获得价格优势,然后将其传递给客户。
既然您了解了云计算的顶级供应商,让我们讨论每个供应商如何看待与MLOps相关的云计算世界。
AWS看待与MLOps相关的云计算
获取AWS云计算的高层次摘要的最佳途径是查阅《Amazon Web Services AWS概览白皮书》。特别是,他们提到了云计算的六个优势:
- 将固定费用换成可变费用 避免大量的资本支出,鼓励敏捷性和效率。
- 受益于大规模经济 随着供应商价格的下降,客户的价格也下降,使得客户能够以比购买相同产品更低的价格购买。同样,平台上的托管服务将有一个稳定的新功能计划。
- 停止猜测容量 由于系统具有弹性扩展的能力,因此无需预先配置资源。
- 提高速度和灵活性 将重点放在组织的比较优势上,不建设与业务无关的IT,使组织能够更快地移动。
- 停止花费在运行和维护数据中心上 通过外包IT的这个组成部分来实现成本节省。
- 分分钟实现全球化 到AWS,全球化是一个极具挑战性的问题,由于其全面的提供,这个问题迎刃而解。
这些特性最终融入到Amazon SageMaker的核心MLOps提供中,如图1-11所示,项目的生命周期从准备、构建、训练,最终到部署和管理解决方案。在工作流程的中心,与Studio和RStudio的开发工具实现了紧密的集成。
在了解了AWS对MLOps的观点后,让我们看看Azure的观点。
Azure看待与MLOps相关的云计算
Microsoft Azure将MLOps的世界视为一种“从概念验证或试点项目有效扩展到生产中的机器学习工作负载”的方式。如图1-12所示,模型的生命周期包括训练、打包、验证、部署、监视和重新训练。
接下来,让我们看看谷歌对MLOps的看法。
GCP看待与MLOps相关的云计算
了解谷歌看待这个世界的理想途径是查阅《Production ML Systems Crash Course》。该公司指出的一个问题是问题空间中建模部分的微小性,如图1-13所示。相反,其他任务的组合,包括数据收集、服务基础设施和监视,占据了问题空间的大部分。
最终,这导致了Google的Vertex AI平台如何处理MLOps工作流程,如图1-14所示。ML开发过程发生,包括为业务问题构建模型的过程。数据处理阶段导致了一个可以根据需要扩展的操作化训练过程。然后,模型部署与工作流编排以及工件组织一起发生。在部署过程中,模型中嵌入了监控。
尽管公有云提供商提供了他们自己的解决方案,但有时企业可能需要一种更符合其特定需求的解决方案。让我们看看另外两种部署选项:本地部署和混合云部署。
本地 MLOps
在某些用例中,企业可能无法使用公有云。像需要保护敏感数据或必须遵守严格法规(例如,数据本地化隐私法规)的业务限制要求一种可以在本地运行的 MLOps 解决方案。许多 MLOps 解决方案都提供在云中或本地部署的能力。这种方法的唯一缺点是本地解决方案需要企业提供支持以大规模运行 ML 算法所需的强大计算能力的服务器和设备。他们还需要更新和维护基础设施。
另一方面,本地部署几乎肯定需要某种程度的定制。这种安装使企业对产品有更多的控制权,他们可以提出具体的请求,使其符合其需求。更具体地说,如果部署的解决方案是初创公司的解决方案,它们将会细心工作,确保满意度和采用。如果它是一个开源产品,那么企业不仅可以利用社区的开发能力,还可以使用自己的开发人员深入研究产品,以确保其符合其需求。
混合环境中的 MLOps
类似于本地部署,有些企业可能更喜欢混合云部署。这涉及在公共云(们)、本地,甚至可能在私有云或边缘设备上部署。当然,这使得事情变得更加复杂,因为MLOps解决方案必须实现数据路径与控制路径的完全分离,并且必须由一个高可用、可扩展的实体交付,该实体协调、跟踪和管理跨各种基础设施部署的ML管道。别忘了,这必须以高速和最佳性能发生。最后,理想情况下,该解决方案为工程师提供了跨所有基础设施类型的单一开发和部署堆栈。
找到一个满足所有这些要求的供应商或开源解决方案可能并不简单,但如前所述,最好的选择是初创公司或成熟的开源解决方案,可以根据您基础设施的特定需求进行定制。
企业MLOps策略
完成了MLOps中涉及的关键问题的高层概述,现在是时候转向战略了,如图1-15所示。在实施MLOps战略时,有四个关键类别需要考虑:云、培训与人才、供应商以及高管对ROI的关注。
让我们讨论这四个类别的每一个:
云 没有关于使用哪个云平台的完美答案。任何中央平台都将提供规模经济的优势。在MLOps战略中,关键在于了解云平台如何符合每个组织的独特目标,以及它如何与其他战略组件(如招聘或第三方供应商集成)保持一致。
培训与人才 通常,组织只关注新技术的强大之处,而不考虑使用该技术的培训和人才组成部分。在几乎所有情况下,如果使用较不强大的解决方案可以更好地进行招聘和培训,组织应该选择较不强大的技术。这意味着在实施新技术时,广泛的技术普及是至关重要的。如果您无法招聘或培训您的员工,那么最新的技术就没有生存的机会。
供应商 在使用云计算时经常被忽视的问题是,通常需要通过专业供应商来增强组织以实现其技术目标。这些战略选择可以提高云计算和业务战略的ROI。例如,使用专门从事Hadoop、Kubernetes或预训练模型技术的供应商。这些供应商将因每个组织及其业务目标而异。
高管关注ROI 最终,如果高管的关注不在ROI上,前面三个类别就毫无意义。技术的目的是推动长期的商业价值,这意味着问题需要准确的范围界定。
结论
这一章为理解企业将机器学习和人工智能投入生产中所面临的危机铺平了道路。从常识的角度来看,“只是雇佣更多数据科学家”以增加投资回报,与“只是雇佣更多软件工程师”来加速传统软件项目进展的想法一样合理。在传统软件公司的情况下,如果没有产品、没有目标和没有监督,那么雇佣更多的开发人员只会增加组织的资本支出,而并没有增加任何附加值。
与这种情况不同,MLOps旨在增加一种方法论,借鉴了DevOps成功的经验教训,同时处理机器学习的独特特性。最终,在企业层面,数据科学归结为投资回报率。对于大多数组织来说,技术是价值的催化剂,而不是价值本身。创造对投资回报率的渴望的组织可以迅速采用MLOps思维方式。