MLOps–企业 AI 拼图中的缺失的一块

企业首席体验官们正日益重视机器学习(ML)和人工智能(AI)。机器学习在企业内部的大数据和 BI 团队中发挥着日益重要的作用。

https://specials-images.forbesimg.com/imageserve/5ff412ef2693833243b358ad/960x0.jpg?fit=scale

根据 Forrester 的报告,超过 50%的企业技术决策者已经采用或正在推动 ML 和 AI 落地。

撇开领导团队的投入和口号,许多组织还没有充分认识到 AI 的潜力。在 Algorithima 发布的《2020年企业机器学习状况》报告中,55%的受访企业尚未部署模型,22%的企业的模型已经在生产中运行了 1-2 年,只有大约 8%的企业在生产环境中运行复杂的模型。

部署机器学习模型的障碍之一是部署过程复杂且耗时漫长。各业务条线只有在部署的模型与现有业务流程充分整合后,才能从机器学习中获得价值。

根据 Algorithima 的调查,22%的受访者需要 1 到 3 个月的时间将新的 ML 模型部署到生产中。相比之下,18%的受访者提到需要三个月以上的部署时间。

部署缓慢导致企业中机器学习项目的频频受挫。IDC 在 2020 年 6 月进行的一项调查显示,企业中 28%的机器学习项目以失败告终。

对这一趋势进行更深入的分析,可以发现更多问题:碎片化的工具链,专业知识不足,ML 就绪数据匮乏,集成开发环境缺失以及开发人员、数据科学家和 DevOps 团队之间的缺乏协作。

这些挑战与在过去十年中开发人员和系统管理员所面临的挑战非常相似。开发人员和管理员之间缺乏协作,导致开发和部署脱节,这对组织来说代价高昂。DevOps 模式通过引入新的工具和流程来解决这一问题。通过有效的 DevOps 策略,各业务条线可以加快向终端用户提供新功能和服务的速度。

机器学习生态系统需要一个强大的类似 DevOps 的框架、工具链和流程,使得开发人员、数据科学家和运维人员能够紧密协作。MLOps 是 ML 与 DevOps 的结合,旨在将敏捷软件工程的一些成熟能力带到机器学习和人工智能中。

与软件开发类似,构建机器学习模型涉及到各种工具和框架。团队中的每个数据科学家都有其偏爱的工具来进行数据预处理、探索性分析和特征提取。ML 工程师使用自己选择的语言和框架来训练模型。运维团队则对模型进行打包、部署和扩展,以便现有业务应用进行推理。

在典型的软件开发环境中,开发人员使用 IDE 来构建和测试代码。同时,运维团队依靠容器和容器编排引擎来部署和扩展代码。与此同时,数据科学家使用 Jupyter Lab 作为开发环境来训练模型。Kubernetes 已经成为业务应用和机器学习模型的主流的部署平台。

机器学习模型的精确性可能会随着时间的推移而降低。不断变化的业务环境和外部因素是影响模型精度和准确性的关键因素。通过将软件开发和部署的敏捷性和速度赋能 ML,自动训练和部署新模型,而无需人工干预。

MLOps 包括对模型漂移的检测,这个术语用来描述预测和预期结果之间不断扩大的差距,它可以触发模型的自动训练、评估和部署过程。这种工作流程可与现代软件开发的持续集成(CI)和持续部署(CD)流水线相媲美。MLOps 增加了持续训练,不断比较模型预测的准确性,由持续评估过程触发持续训练。

ML 平台即服务(PaaS)产品,如Amazon SageMakerAzure MLGoogle Cloud AI都集成了流水线和 MLOps 功能。但这些工具与底层平台组件紧密耦合,如数据提取服务、对象存储、数据湖、分布式训练环境、容器编排、模型仓库和模型服务。

寻求一套统一标准的工具和平台的客户,可以尝试使用KubeflowMLflowSeldon等开源项目,这些项目可以在企业内部和云环境中工作。

有了成熟的 DevOps 框架,企业可以快速部署软件。SaaS 和移动应用的兴起导致了一种非破坏性的交付模式,用户无需任何干预就能获得新版本的软件。MLOps 承诺采用类似的方法来管理机器学习模型的生命周期。

现在是企业关注 MLOps,并将其作为实施机器学习项目的框架的时候了。

MLOps 带来了训练机器学习模型所涉及到的最好的迭代开发、可扩展和可管理的模型部署流程。它是目前企业 AI 战略中缺失的一块拼图。

原文链接:MLOps - The Missing Piece In The Enterprise AI Puzzle