作者 | Rhea Moutafis 译者 | 平川(From:InfoQ) 策划 | 陈思
时代变幻莫测,仅仅增加客户体验流畅度和沉浸感并不能减轻企业的压力。在这种情况下,投入数十亿美元开发可以改进产品的机器学习模型就可以理解了。但有一个问题。公司不能只是把钱砸在数据科学家和机器学习工程师身上,就希望可以有奇迹发生。据 VentureBeat 报道,大约 90% 的机器学习模型从未投入生产。换句话说,数据科学家的工作只有十分之一能够真正产出对公司有用的东西。
大多数机器学习模型从未部署。图片由作者提供。
企业正在经历艰难时期。我说的不是病毒流行和股市波动。
时代变幻莫测,仅仅增加客户体验流畅度和沉浸感并不能减轻企业的压力。在这种情况下,投入 数十亿美元 开发可以改进产品的机器学习模型就可以理解了。
但有一个问题。公司不能只是把钱砸在数据科学家和机器学习工程师身上,就希望可以有奇迹发生。
有数据为证。据 VentureBeat 报道,大约 90% 的机器学习模型从未投入生产。换句话说,数据科学家的工作只有十分之一能够真正产出对公司有用的东西。
尽管 十分之九 的科技高管相信,人工智能将成为下一次科技革命的中心,但人工智能的采用和部署尚未获得长足的发展,而这不能怪数据科学家。
企业尚未准备好采用机器学习
领导支持并不意味着投钱多
数据科学家的 就业市场非常好。企业在招聘,而且也已经准备好支付高薪。
当然,管理人员和企业负责人期望这些数据科学家能带来巨大的价值。然而,就目前而言,他们并没有为此提供便利。
GAP 数据分析高级副总裁 Chris Chapo表示:“有时人们会想,我所需要做的只是针对一个问题投入资金或技术,成功就会到来。”
为了帮助数据科学家在工作中发挥出色的作用,领导者不仅需要将资源引向正确的方向,还需要了解机器学习模型是干什么的。一个可能的解决方案是,让领导者们自己接受一些数据科学的入门培训,这样他们就可以在公司里把这些知识付诸实践。
数据访问难度大
公司不擅长收集数据。许多公司都是高度筒仓化的,这意味着每个部门都有自己收集数据的方式、首选格式、存储位置以及安全和隐私偏好。
另一方面,数据科学家经常需要来自多个部门的数据。筒仓化增加了清理和处理这些数据的难度。此外,许多数据科学家 抱怨,他们甚至无法获得他们需要的数据。如果你没有必要的数据,怎么开始训练一个模型呢?
也许在过去,筒仓化的公司结构——以及无法访问的数据——便于管理。但在一个技术飞速变革的时代,企业将需要加快步伐,在整个过程中建立起统一的数据结构。
对于数据科学家来说,能够获取所需的数据至关重要。图片由作者提供。
IT、数据科学和工程脱节
如果公司的目标是减少“筒仓”,这就意味着各部门需要更多地相互沟通,调整各自的目标。
在许多公司中,IT 部门和数据科学部门之间存在着 根本性的分歧。IT 倾向于优先考虑让事情正常运转并保持稳定。另一方面,数据科学家喜欢实验和破坏东西。这会导致沟通困难。
此外,对于数据科学家来说,工程并非总是必不可少的。这是一个问题,因为工程师有时候可能无法了解数据科学家所设想的所有细节,或者可能会由于沟通错误而改变实现方式。因此,正如 StackOverflow 指出 的那样,能够部署模型的数据科学家比那些不能部署模型的数据科学家更有竞争优势。
机器学习模型自身面临的挑战
扩展比你想象的要难
模型在小环境中工作得很好,并不意味着它在任何地方都可以工作得很好。
首先,可能没有处理更大数据集的硬件或云存储空间可供使用。此外,在规模很大时,机器学习模型的模块并不总是像规模较小时那么有效。
最后,数据获取可能比较困难,甚至不可能。正如前面所讨论的,这可能是由于公司的筒仓结构,也可能是由于在获取更多数据时遇到的其他挑战。
这也是在组织之间统一数据结构、鼓励不同部门之间进行交流的另一个原因。
重复工作
在部署机器学习模型的漫长道路上,超过四分之一 的企业都存在重复工作。
例如,软件工程师可能会按数据科学家的说法进行实现。后者可能也会继续,自己做一些工作。
这不仅浪费时间和资源,而且,当涉众不知道使用了哪个版本的代码,在遇到任何错误时就不知道应该向谁求助,这会导致额外的混乱。
如果数据科学家能够实现他们的模型,这是他们的优势,但对于谁做什么,他们应该与工程师沟通清楚。这样,就可以节省公司的时间和资源。
有效沟通对于机器学习模型正常运行至关重要。图片由作者提供。
高管们可能会不认可
总体来说,技术高管 非常相信 人工智能的力量,但这并不意味着他们会同意所有的想法。据 Algorithmia 报道,三分之一的企业高管将糟糕的部署统计数据归咎于缺乏高层支持。
似乎人们仍然认为数据科学家有点书呆子气,缺乏商业意识。为此,数据科学家应加强他们的业务技能,并尽可能寻求与高管的对话。
当然,这并不意味着每个数据科学家需要 MBA 学位才能胜任他们的工作。然而,从课程或业务经验中学习一些关键知识可能会对他们有长远的帮助。
不能跨语言且缺少框架支持
由于机器学习模型仍处于起步阶段,不同的语言和框架仍有相当大的差距。
有些管道开始时是 Python 开始,中间是 R,最后是 Julia。有的则相反,或者完全使用其他语言。由于每种语言都有自己独特的库和依赖项,项目很快就变得很难跟踪。
此外,有些管道可能会使用 Docker 和 Kubernetes 进行容器化,其他管道可能不会。有些管道将部署特定的 API,其他管道则不会。这样的例子不胜枚举。
为了弥补这种不足,像 TFX、Mlflow 和 Kubeflow 这样的工具出现了。但这些工具仍处于起步阶段,到目前为止,这方面的专家还很少。
数据科学家们知道,他们需要不断了解自己领域的最新进展。这应该也适用于模型部署。
版本控制和再现仍面临挑战
与上述问题相关的是,到目前为止,机器学习模型版本控制还没有一种可行的方法。显然,数据科学家需要跟踪他们所做的任何更改,但现在这相当麻烦。
此外,数据集可能会随时间漂移。随着公司和项目的发展,这是很自然的,但这使得再现过去的结果变得更加困难。
更重要的是,一旦项目启动,就会建立一个基准,用于现在和将来对模型进行测试。结合版本控制,数据科学家可以再现他们的模型。
如果模型不可再现,就会导致漫长的调查研究。图片由作者提供。
停止尝试,开始部署
如果数据科学家 90% 的努力都没有结果,这可不是一个好现象。这不是数据科学家的错,如上所述,这是由于组织结构上固有的障碍。
变革不是一天能完成的。对于刚刚开始接触机器学习模型的公司,建议他们从一个非常小而简单的项目开始。
一旦管理者勾勒出一个清晰而简单的项目,第二步就是选择合适的团队。这个团队应该是跨职能的,应该包括数据科学家、工程师、DevOps 和任何其他看起来对于获得成功至关重要的角色。
第三,在开始的时候,管理者应该考虑利用第三方来帮助他们加速这个过程。IBM 是提供这种服务的公司之一,但市场上也有其他公司。
最后一点是,切莫不惜一切代价追求先进。如果一个简单的低成本模型能满足 80% 的客户需求,并能在几个月内交付,这已经是一个了不起的成就了。此外,从构建简单模型积累的经验将有助于实现更复杂的模型,并有望使客户百分之百满意。
结论:革命需要时间
下一个十年注定是革命性的,就像上一个十年一样。人工智能的广泛应用只是 众多发展趋势 中的一个,物联网、高级机器人技术和区块链技术也在兴起。
我说的是几十年,而不是几年。例如,考虑到 90% 的公司都 已上云——如此之多,以至于我们很难想象没有云我们怎么生活。而另一方面,云是花了 几十年时间 才被广泛地采用。
我们没有理由认为人工智能革命会有任何不同。它需要一段时间才能推广开,因为目前还有许多需要解决的障碍。
但是,由于机器学习提供了如此多的方法来改善客户体验和企业效率,显然,赢家将是那些快速并尽早部署模型的公司。
原文链接:https://towardsdatascience.com/why-90-percent-of-all-machine-learning-models-never-make-it-into-production-ce7e250d5a4a