3、MLOps:云环境中的机器学习运营策略与实践

MLOps:云环境中的机器学习运营策略与实践

1. MLOps与商业激励

在商业领域,激励问题一直是经典难题,就像“谁动了奶酪”的场景,老鼠会根据奶酪的位置移动。在MLOps中,有两个常见的激励问题值得探讨:
- 负外部性 :在资本主义中,企业为了盈利将有毒废物倾倒入河流而不是采用更昂贵的妥善处理方式,这是负外部性的典型例子。在机器学习中,负外部性可能表现为有偏见的算法,例如基于种族、宗教、国籍等因素将无辜的人送进监狱或拒绝给予某人信贷。即使是模型中无意产生的偏见也是违法的,比如基于年龄拒绝信贷。如果企业未能考虑到未来,当机器学习模型中意外包含对老年申请人的系统偏见时,可能会面临生存风险。
- 不考虑投资回报率(ROI)招聘数据科学家 :最近,不考虑要解决的问题而招聘数据科学家成为一种时尚。但这种策略最终行不通,因为在大多数从事人工智能和机器学习的组织中,模型并未投入生产。

2. 云环境中的MLOps

MLOps方法充分利用了云计算的几个关键优势:
1. 弹性资源 :云是一种弹性资源,能够实现计算和存储的高效利用,并具备根据需求进行扩展的能力,几乎可以满足任何需求。这意味着云计算可以按需访问几乎无限的资源。
2. 网络效应 :云技术通过与其他云技术集成而受益。例如,AWS Lambda是一种无服务器技术,它之所以成为构建应用程序的有价值服务,并非因为其单独的功能,而是因为它与其他AWS服务(如AWS Step Functions、Amazon SageMaker或AWS S3)的深度集成。对于任何活跃的云平台,随着平台功能的不断发展,集成的服务网络将进一步增强其能力。
3. MLOps平台 :所有云供应商都提供MLOps平台。AWS有SageMaker,Azure有Azure Machine Learning,Google有Vertex AI,甚至像阿里云这样的小众云也有其人工智能机器学习平台。通过使用云平台,组织可能会使用原生ML平台的一些功能,并可能用自定义解决方案和第三方解决方案进行增强。
4. 云开发环境 :所有云供应商都提供云开发环境。目前的一个重要趋势是结合使用轻量级的CloudShell环境(如AWS CloudShell)、较重的全交互式开发环境(IDE)选项(如AWS Cloud9)以及笔记本环境(如免费的SageMaker Studio Lab或Google Colab,以及像SageMaker Studio这样与丰富IDE集成的环境)。
5. 必要选择 :根据公司的业务需求,有时可能别无选择,只能使用云计算。对于专门构建定制深度学习解决方案的组织来说,一些云计算组件是硬性要求,因为深度学习需要大量的存储和计算能力。

除了公共云供应商,还有其他一些参与者在云环境中提供MLOps解决方案。这些供应商可以在公共云或私有云上运行。使用小型供应商的优势在于其为客户提供的定制化水平较高,并且由于专注于MLOps,他们在该领域拥有更深入的专业知识。集成供应商通常能确保提供更相关的功能和更多的集成。此外,选择对特定云提供商无偏向的供应商,客户可以在多个云或其他基础设施上使用该供应商的服务。

AI基础设施联盟(AIIA)是一个有助于进行机器学习供应商分析的资源。该组织为数据科学家和工程师提供有关AI/ML工具的清晰信息,以构建强大、可扩展的端到端企业平台。其中一个资源是全面的MLOps格局图,它描绘了该行业的所有参与者,包括开源和企业级MLOps解决方案,并详细说明了每个供应商解决方案的功能。

云环境中的MLOps通常具有以下典型模式:
| 类别 | 描述 |
| ---- | ---- |
| 云开发环境 | 通常一端是以开发者为中心的工具(如云shell和IDE),另一端是以机器学习为中心的工具,中间是存储查询工具(如Google BigQuery、Amazon Athena或Azure Databricks Integration)。 |
| 云MLOps平台 | 专门为企业在云或任何环境中运行MLOps而构建,如Iguazio、Valohai、DataRobot、Azure Databricks和Outerbounds等提供了广泛的企业级MLOps解决方案。 |
| 弹性存储和计算系统 | 深度学习系统依赖于大数据,以及GPU、CPU和AI加速器(如张量处理单元TPU)等灵活的计算能力。因此,原生和第三方的MLOps平台都大量使用这种弹性能力来提供托管解决方案。 |
| 无服务器和容器化托管服务 | 云平台正朝着更多的无服务器解决方案(如AWS Lambda或Google Cloud Functions)和全托管容器化解决方案(如Google Cloud Run或AWS Fargate)发展。这些托管服务具有深度的平台集成,通过网络效应增强了云平台的价值主张。 |
| 第三方供应商集成 | 云平台无法提供所有方面的完美组合和高质量服务,就像大型仓储商店可能没有你喜欢的正宗美食或你需要的精确电器功能一样。因此,第三方集成可以处理这些专业化或高级用例。 |

3. 关键云开发环境
  • GitHub Codespaces :微软的GitHub Codespaces是一个基于云的开发环境,具有许多可定制的功能,是实践MLOps的好地方。它与GitHub深度集成,并且可以使用专门的运行时进行定制。与GitHub Actions的协同作用使得它能够实现出色的持续集成/持续交付(CI/CD)流程。你可以通过以下视频了解更多关于GitHub Codespaces的信息:
    • “Building with the GitHub EcoSystem: Copilot, Codespaces, and GitHub Actions”
    • “GitHub Codespaces and Custom Dotfiles”
    • “Compiling Python from Scratch with GitHub Codespaces”
    • “GitHub Copilot Driven: Python DevOps from Functions to Continuous Delivery of Microservices on AWS”
    • “GitHub Codespaces Course”
  • Google云开发环境 :Google提供了三种不同类型的基于云的开发环境:Colab笔记本、Google Cloud Shell和Google Cloud Shell Editor。你可以通过以下视频了解更多关于Colab笔记本的信息:
    • “Data Science on Your First Day with Python”
    • “Python for Data Science with Colab and pandas in One Hour Video Course”
    • “What are Google Colab Notebooks and How Do You Share Them for Data Science Projects?”
  • AWS云开发环境 :AWS平台提供云shell环境。通过设置多云持续集成,你可以快速同时了解多个云。你可以通过视频“GitHub Actions Hello World All Cloud and Codespaces”学习如何设置。

云开发工作空间相比传统的笔记本或工作站具有许多优势,如强大的计算能力、可丢弃性、预加载功能以及与高级工具的深度集成。你可以通过视频“52 Weeks of AWS - The Complete Series”或在YouTube上了解更多关于云开发工作空间优势的信息。

4. 云计算的关键参与者

根据2022年Mike Loukides(O’Reilly)的云薪资调查,AWS、Azure和GCP认证专业人员的平均年薪超过20万美元。截至2022年第二季度,全球云计算市场有三个关键参与者:AWS约占33%的市场份额,Azure约占21%,Google Cloud约占10%。这三家供应商合计控制了近2000亿美元收入市场的三分之二,服务收入较上一年增长了37%。

对于希望使用云计算的组织来说,选择最大供应商的平台是一个合理的策略,这符合“富者愈富,贫者愈贫”的马太效应,原因如下:
- 人才和供应商获取 :利用最知名的云平台更容易招聘到员工,并找到与该平台合作的供应商。
- 培训材料 :知名平台有更多的培训材料,便于员工培训。
- 服务功能 :大型平台可以雇佣更多的软件工程师和产品经理,意味着你可以期待平台不断推出新功能并得到维护。
- 服务成本 :规模经济使得最大的供应商能够从批量采购中获得定价优势,并将这些优势传递给客户。

你可以通过观看Noah Gift的“AWS Solutions Architect Professional Course”和“AWS Certified Cloud Practitioner Video Course”来备考AWS云认证。

5. 各供应商对云计算与MLOps关系的看法
  • AWS观点 :AWS云计算的优势体现在以下六个方面:
    • 固定费用转可变费用 :避免大量资本支出,鼓励灵活性和效率。
    • 大规模经济优势 :随着供应商价格下降,客户也能受益,平台上的托管服务将有稳定的新功能推出计划。
    • 无需预估容量 :系统具备弹性扩展能力,无需预先配置资源。
    • 提高速度和敏捷性 :专注于组织的比较优势,不构建非核心业务的IT,使组织能够更快地发展。
    • 节省数据中心运营成本 :将数据中心运营外包可节省成本。
    • 快速全球化 :AWS的全面服务使全球化变得容易。

这些优势最终体现在Amazon SageMaker的核心MLOps服务中,项目生命周期涵盖从准备、构建、训练到最终部署和管理解决方案的全过程,工作流程的核心是与Studio和RStudio等开发工具的紧密集成。你可以通过视频“Amazon SageMaker Studio Labs: First Thoughts”了解SageMaker Studio Lab的完整演示。

  • Azure观点 :Microsoft Azure认为MLOps是一种将概念验证或试点项目高效扩展到生产环境中的机器学习工作负载的方法。模型的生命周期包括训练、打包、验证、部署、监控和再训练。
  • Google观点 :从Google的生产ML系统速成课程中可以看出,建模在整个问题中所占的比例很小,而数据收集、服务基础设施和监控等其他任务占据了更多的问题空间。Google的Vertex AI平台处理MLOps工作流程的过程包括为业务问题构建模型框架、数据处理阶段、可扩展的训练过程、模型部署、工作流编排和工件组织,并且在部署过程中内置了监控功能。
6. 其他部署选项
  • 本地部署 :在某些情况下,企业由于业务限制(如需要保护敏感数据或遵守严格的法规,如数据本地化隐私法规)无法使用公共云,需要能够在本地运行的MLOps解决方案。许多MLOps解决方案支持在云或本地部署。本地部署的缺点是企业需要提供支持大规模运行ML算法所需的强大计算能力的服务器和设备,并进行更新和维护。但另一方面,本地部署几乎肯定需要某种程度的定制,这使企业能够更好地控制产品,并根据自身需求进行定制。如果部署的是初创公司的解决方案,他们会更加关注并努力确保客户满意和采用;如果是开源产品,企业不仅可以利用社区的开发力量,还可以让自己的开发人员深入参与,对产品进行调整以满足需求。
  • 混合云环境部署 :与本地部署类似,一些企业可能更喜欢混合云部署,即在公共云、本地甚至私有云或边缘设备上进行部署。这使得情况变得更加复杂,因为MLOps解决方案必须实现数据路径和控制路径的完全分离,并由一个高可用、可扩展的实体进行编排、跟踪和管理跨不同基础设施部署的ML管道。此外,该解决方案还需要以高速和最佳性能运行,并为所有基础设施类型的工程师提供一个统一的开发和部署堆栈。找到满足所有这些要求的供应商或开源解决方案可能并不容易,但初创公司或成熟的开源解决方案是根据特定基础设施需求进行定制的最佳选择。
7. 企业MLOps战略

实施MLOps战略时,需要考虑四个关键类别:
- 云平台选择 :没有一种完美的云平台选择方案。任何核心平台都有规模经济的优势,但在MLOps战略中,重要的是要了解云平台如何适应每个组织的独特目标,以及如何与其他战略组件(如招聘或第三方供应商集成)相契合。
- 培训和人才 :组织通常只关注新技术的强大功能,而不考虑使用该技术所需的培训和人才。在大多数情况下,如果使用不太强大的技术能更方便地进行招聘和培训,那么组织应该选择这种技术。这意味着在实施新技术时,普及技术至关重要。如果无法招聘或培训员工,最新的技术也将无法发挥作用。
- 供应商选择 :使用云计算时,通常需要专业供应商的支持来帮助组织实现技术目标。这些战略选择可以为云和业务战略带来更好的投资回报率。例如,使用专门从事Hadoop、Kubernetes或预训练模型的供应商技术。供应商的选择将因每个组织及其业务目标而异。在“Enterprise MLOps Interviews”中,Outerbounds的CEO兼Metaflow的作者Ville Tuulos提到,虽然所有公司都使用云的基础层(如存储和数据库),但他们通常需要在更高层次上与供应商进行增强。
- 高管对ROI的关注 :如果高管不关注投资回报率,前面三个类别就没有意义。技术的目的是推动长期商业价值,因此问题需要准确界定。

8. 结论

企业在将机器学习和人工智能投入生产时面临着危机。从常识角度来看,“仅仅招聘更多的数据科学家”来提高投资回报率就像“仅仅招聘更多的软件工程师”来使传统软件项目更快完成一样不切实际。在传统软件公司中,如果没有产品、目标和监督,招聘更多的开发人员只会增加组织的资本支出,而不会带来任何附加值。

MLOps旨在引入一种方法,在借鉴DevOps成功经验的同时,处理机器学习的独特特征。在企业层面,最终数据科学的核心在于实现商业价值。

MLOps:云环境中的机器学习运营策略与实践

9. 关键要点总结

为了更好地理解和实施MLOps,我们可以将前面的内容总结为以下关键要点:
| 要点分类 | 具体内容 |
| ---- | ---- |
| MLOps激励问题 | 存在负外部性(如算法偏见)和不考虑ROI招聘数据科学家的问题 |
| 云计算优势 | 弹性资源、网络效应、提供MLOps平台和云开发环境、必要时的唯一选择 |
| 云开发环境 | GitHub Codespaces、Google的Colab笔记本等多种环境 |
| 云计算关键参与者 | AWS、Azure、Google Cloud占据大部分市场份额 |
| 供应商观点 | AWS强调成本、规模等优势;Azure关注扩展到生产;Google重视非建模任务 |
| 部署选项 | 本地部署和混合云部署各有优缺点 |
| 企业战略 | 考虑云平台、培训人才、供应商和ROI四个关键类别 |

10. MLOps实施流程分析

下面通过一个mermaid流程图来展示MLOps的一般实施流程:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([开始]):::startend --> B(选择云平台):::process
    B --> C(确定业务目标):::process
    C --> D(数据收集与预处理):::process
    D --> E(模型开发与训练):::process
    E --> F{模型评估}:::decision
    F -->|通过| G(模型部署):::process
    F -->|未通过| E(模型开发与训练):::process
    G --> H(监控与维护):::process
    H --> I{是否需要更新}:::decision
    I -->|是| D(数据收集与预处理):::process
    I -->|否| J([结束]):::startend

从这个流程图可以看出,MLOps的实施是一个循环的过程,从选择云平台开始,经过数据处理、模型开发、评估、部署和监控等环节,并且会根据模型的性能和业务需求进行持续的更新和优化。

11. 不同部署选项的详细对比

为了更清晰地了解本地部署和混合云部署的差异,我们可以通过以下表格进行详细对比:
| 对比项目 | 本地部署 | 混合云部署 |
| ---- | ---- | ---- |
| 适用场景 | 有敏感数据保护需求、需遵守严格法规 | 需要灵活利用公共云和本地资源 |
| 优点 | 企业有更多控制权、可定制化程度高 | 结合多种资源优势、可扩展性强 |
| 缺点 | 企业需提供硬件和维护、成本高 | 架构复杂、管理难度大 |
| 数据处理 | 数据在本地处理,安全性高 | 数据在不同环境流转,需确保安全分离 |
| 技术要求 | 企业需有一定的技术团队支持 | 需要专业的编排和管理工具 |

12. 企业MLOps战略的具体实施建议
  • 云平台选择
    • 进行全面的需求评估,明确企业的业务目标、数据规模、性能要求等。
    • 对不同云平台的功能、服务、成本进行详细比较,考虑与现有技术栈的兼容性。
    • 与云平台供应商沟通,了解其提供的技术支持和定制化服务。
  • 培训和人才
    • 制定系统的培训计划,涵盖机器学习、云计算、MLOps等相关知识。
    • 招聘有相关经验的人才,同时注重内部员工的培养和提升。
    • 鼓励员工参与开源项目和技术交流活动,拓宽技术视野。
  • 供应商选择
    • 研究市场上的供应商,了解其专业领域和成功案例。
    • 与供应商进行合作测试,评估其解决方案的性能和稳定性。
    • 考虑供应商的长期发展能力和技术支持服务。
  • 高管对ROI的关注
    • 建立明确的投资回报率指标体系,对MLOps项目进行定期评估。
    • 高管参与项目的决策和监督,确保项目与企业战略目标一致。
    • 根据评估结果及时调整项目策略,优化资源配置。
13. MLOps未来发展趋势展望
  • 自动化程度提高 :未来MLOps将更加自动化,从数据处理到模型部署和监控的整个流程将减少人工干预,提高效率和准确性。
  • 多云协同增强 :随着企业对云计算的依赖增加,多云协同将成为趋势,MLOps解决方案需要更好地支持跨云平台的操作。
  • 安全和合规性加强 :随着数据安全和隐私法规的不断完善,MLOps将更加注重数据保护和合规性,确保模型的开发和使用符合相关法规要求。
  • 与其他技术融合 :MLOps将与人工智能、大数据、物联网等技术深度融合,创造出更多的应用场景和商业价值。
14. 总结与启示

MLOps作为一种新兴的方法论,为企业将机器学习和人工智能应用于生产提供了有效的途径。通过合理选择云平台、培养人才、选择合适的供应商和关注投资回报率,企业可以更好地实施MLOps战略,提高竞争力和商业价值。同时,随着技术的不断发展,企业需要密切关注MLOps的发展趋势,及时调整策略,以适应市场的变化。

在实施MLOps的过程中,企业还需要不断总结经验,解决遇到的问题,逐步完善MLOps体系。只有这样,才能在激烈的市场竞争中脱颖而出,实现可持续发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值