什么是MLOps——机器学习运维,为什么要用MLOps

博文视点Broadview

共 1670字,需浏览 4分钟

 ·

2022-05-09 20:01

👆点击“博文视点Broadview”,获取更多书讯

在过去的几年里,机器学习(ML)正在逐渐发展成为当今商业和软件工程领域的热门名词,由ML驱动的应用呈爆发式增长,如推荐系统、精准营销、广告系统等。

市面上ML方面的图书和文章也越来越多,细心的读者会发现ML相关图书多集中在不同机器学习算法的原理、算法是如何工作的及如何通过数据进行模型训练等方面的理论和实践上,而对于如何构建由ML驱动实际应用的项目工程方面,如数据收集、存储,模型部署、管理及监控运维等方面的书却很少见,这些方面没有得到足够的重视。

在企业应用中,除了一线科技巨头公司,也很少看到针对商业问题部署和管理ML的解决方案,而这部分正是MLOps(机器学习运维的简称)试图去实践的内容。

为了成功地给用户提供ML产品,数据科学家需要做的不仅是简单地训练一个模型,还需要将产品需求转化为ML的问题来思考,并为此不断地收集数据,在模型之间进行有效迭代,在生产中验证模型,并以稳健的方式部署和管理它们。

有过ML生产经验的读者能够体会到,学术环境中工作的算法及模型和现实生产系统所需的条件之间存在着显著的差异。在生产过程中,除了需要关注建模时基于的模型假设在现实中的真实表现,还需要关注性能瓶颈及后期模型更新迭代等一系列问题。

《MLOps实践――机器学习从开发到生产(全彩)》书中介绍的概念、技术、工具、框架和方法论都将告诉我们如何面向生产来思考、设计、构建和执行ML项目,进而实现整个ML生产化流水线的最佳实践。

如果你是一名数据科学家或ML工程师,你可能会质疑:“我为什么要关心MLOps?我已经把模型做出来了,线下测试效果都很好,把它们带到生产中不是IT团队的工作吗?”

这对于拥有独立IT/数据科学或算法部门的一、二线科技公司来说,你的质疑是没错的,但对于大多数刚开始接触数据科学和ML的公司来说,实际情况是设计算法、训练模型的人也将是部署模型和管理模型的人,而这两部分工作的关注点、知识结构及使用的工具都很不同,数据科学家需要关注数据质量、特征工程、模型的设计与训练等,而部署模型的人更多关注的是工程问题,如服务化、并发、低延时、监控、模型零停机更新、可扩展性等,其中困难之一在于人才的稀缺。

即使这些公司能够聘请有才华的ML工程师和数据科学家,在2020年,大多数企业仍然需要花费31~90天的时间来部署一个模型,而18%的公司花费的时间超过了90天,有些公司甚至花费了一年多的时间来实现生产化。

企业在开发ML项目时面临的主要挑战,如模型版本控制、可重复性和扩展性,与其说是工程性的,不如说是科学性的,这使得具备良好MLOps知识和工程化经验变得非常重要和宝贵。

值得庆幸的是,我们可以借鉴软件工程领域DevOps已有的成熟的实践经验和教训。在添加数据和模型元素后,MLOps也将成为ML领域的关键突破。这是一种“机器学习”与“运维”相结合的解决方案,简单地说,就是数据科学家、研发人员和平台工程师之间的协作和沟通实践,可以优化和加速ML项目的生产生命周期。

实践MLOps意味着遵循标准化和流程化路径来自动化运行和监控ML部署工作流程的所有步骤,包括数据和基础设施管理、模型学习、测试、集成、部署、发布和实时监控。

与软件开发一样,MLOps需要一套工具和框架生态系统,将ML项目过程标准化,为数据科学家与其他项目成员创建一个协作环境,这是一种缩短将模型全面投入生产所需时间的解决方案。

本文内容摘自《MLOps实践:机器学习从开发到生产》一书,作者李攀登,非参数统计硕士, AlgoLink(专注于MLOps研发与应用)的创始人,出海游戏公司博乐科技数据专家。

扫码了解本书详情!

 

如果喜欢本文
欢迎 在看留言分享至朋友圈 三连

 热文推荐  





▼点击阅读原文,了解本书详情~

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报