写点什么

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:504447
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论

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

Chrome上的这些灵魂插件太猛了,碾压其他同款,美团二面惜败

Java 程序员 后端

ConcurrentHashMap扩容?lastRun到底是个啥?,理解透彻

Java 程序员 后端

DL4J实战之一:准备,工业互联网架构师

Java 程序员 后端

Docker Swarm从部署到基本操作,Java程序员进大厂面试必备基础技能

Java 程序员 后端

BATJ互联网公司必问知识点:Spring十个面试专题及答案,java技术面试总结评语

Java 程序员 后端

BAT面试必考Java面试题100+:Kafka,mysql连接查询原理

Java 程序员 后端

Ceph实战(三)-块设备的创建与映射,netty架构原理图

Java 程序员 后端

CAS之ABA问题的解决方法,深入理解Nginx及使用Nginx实现负载均衡

Java 程序员 后端

CentOS7环境部署kubenetes1,数据库mysql面试题

Java 程序员 后端

Class文件结构介绍[字段表集合和方法表集合],kafka基础原理

Java 程序员 后端

案例推荐|Apache Pulsar 助力金山云日志服务,日处理 200TB 数据

Apache Pulsar

开源 云原生 日志 中间件 Apache Pulsar 消息系统

一文了解 PG PITR 即时恢复

青云技术社区

数据库 postgresql 云计算

BATJ互联网公司面试必问知识点:Spring全家桶全解,java分布式框架技术方案

Java 程序员 后端

CentOS8安装Docker,经典实战教程

Java 程序员 后端

disruptor笔记之二:Disruptor类分析,java的学习网站

Java 程序员 后端

CentOS中VMware tools的安装以及安装失败的解决办法,java程序设计教程pdf

Java 程序员 后端

CentOS安装Redis,java程序员进阶路线

Java 程序员 后端

C语言AES算法实现(基于Mbedtls),java中高级面试题最新

Java 程序员 后端

Choreographer机制和卡顿优化,mysql基础入门

Java 程序员 后端

详解低延时高音质:编解码篇

声网

编解码 音频体验 Opus

APP性能优化系列-自定义启动器(三),阿里巴巴java面试几轮

Java 程序员 后端

在线文本去空行工具

入门小站

工具

Go语言,协程的深入剖析

微客鸟窝

Go 语言 11月日更

CompletableFuture异步编程,高级java开发笔试题

Java 程序员 后端

B站,牛逼!,字节跳动算法工程师面试总

Java 程序员 后端

disruptor笔记之四:事件消费知识点小结,kalilinux教程pdf

Java 程序员 后端

【Java 原理剖析系列】深度分析 Semaphore工作原理分析

洛神灬殇

Java 并发编程 Semaphore 11月日更

BATJ互联网公司必问知识点:Spring十个面试专题及答案(1)

Java 程序员 后端

BATJ互联网月薪45K的Java岗面试题首次曝光,掌握这些Offer指定跑不了

Java 程序员 后端

BS-GX-016基于SSM实现教材管理系统,unixlinux编程实践教程

Java 程序员 后端

BS-GX-018 基于SSM实现在校学生考试系统,linux系统架构和应用技巧pdf

Java 程序员 后端

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