写点什么

MLOps 是构建在一个谎言上的吗?

Mateusz Kwaśniak

  • 2021-09-30
  • 本文字数:2807 字

    阅读完需:约 9 分钟

MLOps是构建在一个谎言上的吗?

在一些 MLOps 项目的背景介绍中,都会提及“87%的数据科学项目以失败告终”的论点。这个数据具体出自何处,是否准确测定?本文作者通过相关文献资料调研,指出该论点并无实据可依。尽管 MLOps 非常必要,但社区、学术界和业界不应以基于此论点开展讨论。


大家是否听说过这样一个论点,即 87%的数据科学项目以失败告终?


“机器学习运维”(MLOps)对数据科学家、机器学习工程师等数据科学领域相关从业人士来说都应该耳熟能详了。这个概念相对较新,但越来越多的人们开始想要了解什么是 MLOps,以及如何在自身项目中应用 MLOps 实践和工具。


我相信大家也注意到了这种趋势。MLOps社区正在持续不断成长(我也有幸参与其中)。MLOps 的相关议题和文章,涵盖了几乎全部机器学习领域会议。最近吴恩达和 DeepLearning.ai 也跟进,在 Coursera 发布了他们的 MLOps 课程“用于生产环境的机器学习工程”(可访问:“Machine Learning Engineering for Production”)。


作为一名 MLOps 工程师,我阅读并关注了大量的相关内容。我发现同一批图表和统计结果,多次作为核心内容出现在各种演示报告中,演示内容越来越千篇一律了。



此外我发现有一个特别有趣的素材在这些演讲和帖子里被复制来粘贴去,于是我要研究一下。是否真的“有 87%的数据科学项目无法投入生产环节”,本帖将对此一探究竟。

87%这一数字出自何处?

如果读者正参与面向社区和潜在客户的 MLOps 新产品展示宣讲,那么很有可能会看到这么一句:


87%的数据科学项目无法投入生产环节。


不仅如此,这一论点还出现在福布斯报道StackOverflow博客等处,以及遍布互联网的各博客帖子和会议视频中。这句话或类似的解释,已成为在阐释 MLOps 商业特性中不可或缺的描述。


那么该论点出自哪里?看上去是引用自 VentureBeat 的一篇文章(原文:“Why do 87% of data science projects never make it into production?”)。下面我们转向该文章。

VentureBeat 文章是这么说的


图 1 VentureBeat 的文章标题 。来源:VentureBeat.com


该文撰写于 2019 年 7 月。在此我必须指出的是,这是一篇介绍VentureBeat Transform 2019大会小组讨论情况的软文。文章无非是一个短评,其中引用了大会小组议题“如何理解人工智能实施”(“What the heck does it even mean to “Do AI”?”)中的内容:


人工智能基于经验提供竞争优势。即然大家有此通识,那么为什么只有 13%的数据科学项目(或者说每十个项目中只会有一个)实际投入生产?


Chapo 指出,为避免落入这 87%的失败项目中,项目开始时可以采取三种方式。第一,从小处着手,不要试图去面对一片汪洋,而是从中选择一个痛点去解决,进而可看到进展。第二,为解决问题,确保具备一支适合的跨职能团队。第三,借助于第三方,甚至是一些大企业,从项目一开始就得到加速助力。


回顾这一惊人观点,即 87%的数据科学项目是失败的,或者说无法投产,其中的数字的出自何处?我并没有在文章中找到,所以我决定上 YouTube 看一下演讲视频,肯定是在视频里的。

Transform 2019 大会小组讨论中是这么说的


图 2 Transform 2019 大会小组讨论的视频截图。来源:YouTube。


由此,我回看了 Transform 2019 大会小组讨论的录像。我认定这就是所有一切的源头所在,并最终了解这一奇幻数字是如何在各 MLOps 演讲中口口相传。


顺便说一句,我注意到该视频上传 YouTube 的两年以来,只被观看 353 次,得到 0 条评论。因此我认为,并没有多少人有兴趣去厘清为什么近十个机器学习项目中会有九个失败。正好,我就是来搞清楚的。


我竖耳倾听了这段 26 分钟长度的视频,试图捕捉到是否有演讲者提及 87%的数据科学项目失败,或是只有 13%的项目成功等类似说法。为确保不漏一处,我看了三遍,最终有所发现。在视频大约第 10 分钟处可听到:


我认为《CIO Dive》杂志指出只有 13%的项目最终实际投产。我非常惊讶于 13%这一数据。


这句话正是 IBM 数据科学和人工智能行业 CTO、全球领袖人物 Deborah Leff 说的。


不幸的是,这只是我查证过程中遵循的一个线索(breadcrumb)。显然,Transform 2019 大会小组讨论并非我能确证的信息来源。


那么,下面我们去追溯《CIO Dive》杂志文章吧。

《CIO Dive》杂志是这么说的


图 3 James Roberts 撰写的文章。图片来源:CIODive.com


在 Transform 2019 大会两年前的 2017 年,现任 Quisitive 首席数据科学家的 James Roberts 应邀为《CIO Dive》杂志撰写了一篇文章,指出了导致大多数数据科学项目失败的四个原因。我希望该文最终揭示了 87%这个神奇数字的由来,以及该数字是如何测定的。


文章篇幅相对较短,很有条理。因此我全文通读了多遍,在其中发现如下表述:


2017 年被专家称为数据素养(data literacy)和数字化转型之年。虽然数据是推动真正数字化转型的关键元素,但公司常以错误的方式推行数据和分析项目。事实上,只有 13%的数据和分析项目得以完成。并且在已完成的项目中,只有 8%的公司领导对结果表示完全满意。


我对 13%这一数字非常敏感。正如 Deborah Leff 所说,她是从《CIO Dive》杂志获取该信息的。但这个数字来自何处?哪里有解释?是否依然只是一条线索?


为什么只有 13%的“数据和分析项目”能够完成?


不幸的是,我们对这一论点的来源一无所知。也许只是《CIO Dive》杂志文章出于某种目的而捏出来的一个数字,或许是作者忘记指出对其它最终详细评定 87%数据科学项目失败的文章的引用。


尽管十个机器学习项目中完全有可能失败九个,但对此做出一个可靠的衡量是几乎不可能得,甚至“失败”或“投产”也是无法准确定义的。首当其冲,我们应如何准确定义机器学习模型的投产?


如果使用 FastAPI 等提供了单一的 API 端点服务,就能说项目投产了吗?是否还需要建立完整的 CI/CD/CT 流水线和监控?更重要的是,有些项目并不需要也没有计划去部署到生产环节中,这是否也会被视为失败?


查无实据,我也毫无头绪,略为失望。


应该如何阐释?

小结

有位首席数据科学家于 2017 年受邀在《CIO Dive》杂志发表了一个“观点”,指出“只有 13%的数据和分析项目完工”。这一神奇数字没有来源,也没有指出研究论文出处,具体出处的相关信息为零。


此后,该文由 IBM 数据科学和人工智能 CTO 和全球领导人物 Deborah Leff 在 Transform 2019 大会小组讨论中提及。她说:“我认为《CIO Dive》杂志指出,只有 13%的项目最终实际投产。”


然后,VentureBeat 在介绍 VentureBeat Transform 2019 大会小组讨论情况的软文中引用了这一数字,尽管文章中甚至没有提供视频录像的链接。那么随后发生了什么?


数以百计的机器学习和 MLOps 资源引用了同一文章,同一信息,即“87%的数据科学项目从未投产”,以此作为推销自己工具和产品的依据。


这种未经证实的信息这么容易传播,尤其是在严重依赖研究并非常接近研发和学术环境的社区中,这非常令人失望。


类似论点对于 MLOps 有何意义?可能毫无意义,但我们仍然需要这样的数字。但依据一篇主观论断的文章中提出的神奇数字,并以此为论点去构建社区、各种工具和多家初创公司,这无疑令人震惊。


原文链接:


https://mtszkw.medium.com/is-mlops-built-upon-a-lie-8282948b41ae

2021-09-30 16:504834
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 597.9 次阅读, 收获喜欢 1982 次。

关注

评论

发布
暂无评论
发现更多内容

看动画学算法之:双向队列dequeue

程序那些事

数据结构 算法 程序那些事 11月日更 双向队列

八、springboot 简单优雅的通过docker-compose 构建

Java 程序员 后端

公司来了一位前阿里大神,分享8面阿里面经(Java岗面试题集锦

Java 程序员 后端

分布式事务与Seate框架:分布式事务理论,Java知识总结

Java 程序员 后端

分布式基石|最难 paxos 和最易 raft?,java排序算法面试题

Java 程序员 后端

开源应用中心|Discuz!X全新PC社区体验,多种场景一站解决

Discuz! 开源社区 Discuz

全网火爆MySql 开源笔记,图文并茂易上手,阿里P8都说好

Java 程序员 后端

写博客是一种乐趣,一种需要培养的乐趣,java技术架构SHEET

Java 程序员 后端

一个往返于海陆的撸猫打渔人,用影像记录生活的星辰大海

最新动态

做了两年P7面试官,谈谈我认为的阿里人才画像,你配吗

Java 程序员 后端

分布式下的数据一致性问题,怎么解决?,java编程教程下载

Java 程序员 后端

全网最新最全面Java程序员面试清单(12专题5000解析)

Java 程序员 后端

初识java-JDBC,mysql索引左前缀原理

Java 程序员 后端

做个小项目那不是简简单单!Java实现航空航班管理系统。

Java 程序员 后端

入门级的我在学完阿里大牛写的MySQL笔记后,简历上写了精通

Java 程序员 后端

农业末流211,Java自学一年的我是怎么走上大厂之路的

Java 程序员 后端

分布式ID生成策略,我和面试官掰扯了一个小时

Java 程序员 后端

初探Linux--鸟哥私房菜读书笔记,廖雪峰java教程百度云

Java 程序员 后端

我的应用我做主丨动手搭建招聘小应用

华为云开发者联盟

低代码 招聘 应用 AppCube 应用魔方

全网讲解最透彻:高性能网络应用框架Netty,仅此一篇

Java 程序员 后端

关于垃圾回收你真的了解透彻了吗?我熬夜深度剖析了一下

Java 程序员 后端

凡尔赛一波:美团面试就这?,java工程师面试突击第二季分布式

Java 程序员 后端

刚从今日头条Java研发岗面试回来,我总结的失败原因(附面试题

Java 程序员 后端

初学者这样玩 TypeScript,迟早进大厂系列!

Java 程序员 后端

判断对象是否已死分析总结——JVM系列,让人茅塞顿开

Java 程序员 后端

使用MySQL的NoSQL的七大理由,java基础入门第二版第三章答案

Java 程序员 后端

先知道怎么手写一个分页查询,再去使用PageHelper吧

Java 程序员 后端

全网最透彻!Dubbo整合SpringBoot详解,又通宵了

Java 程序员 后端

关于Redis主从节点数据过期一致性的思考,它真的足够一致了吗?

Java 程序员 后端

写了四年的Java代码,分布式高并发都不会还做程序员?

Java 程序员 后端

凭借着这份Spring面试题,我拿到了阿里,字节跳动美团的offer

Java 程序员 后端

MLOps是构建在一个谎言上的吗?_语言 & 开发_InfoQ精选文章