为什么所有的机器学习模型有90%从没有投入生产
公司正经历艰难时期。我不是在谈论大流行和股市波动。
时代是不确定的,并且必须使客户体验越来越无缝和沉浸,并不会减轻公司的压力。因此,可以理解的是,他们为开发机器学习模型投入了数十亿美元,以改善他们的产品。
但是有一个问题。 公司不仅可以向数据科学家和机器学习工程师投入资金,还希望魔法能够实现。
数据说明一切。 根据VentureBeat的报告,大约90%的机器学习模型从未投入生产。 换句话说,实际上只有十分之一的数据科学家工作日能为公司带来有用的东西。
尽管十分之九的技术主管认为AI将成为下一次技术革命的核心,但AI的采用和部署仍具有增长的空间。而且数据科学家也不应该受到指责。
数据科学家的工作市场非常好。 公司正在招聘,他们也准备支付高薪。
当然,经理和企业领导者希望这些数据科学家能为他们增加很多价值。 目前,他们还不容易做到这一点。
GAP数据和分析高级副总裁Chris Chapo说:"有时候人们认为,我所要做的就是把钱扔在一个问题上或投入一项技术,而成功则来自另一端。"
为了帮助数据科学家发挥出色的作用,领导者不仅需要在正确的方向上引导资源,还需要了解机器学习模型的全部含义。一种可能的解决方案是,领导者自己接受数据科学的入门培训,以便他们可以在公司中将这些知识付诸实践。
缺乏可访问的数据
公司在收集数据方面也不错。但是,许多公司非常孤立,这意味着每个部门都有自己的收集数据的方式,首选格式,存储数据的位置以及安全性和隐私偏好。
另一方面,数据科学家通常需要来自多个部门的数据。孤岛式存储使清理和处理该数据变得更加困难。此外,许多数据科学家抱怨说,他们甚至无法获得所需的数据。但是,如果您没有必要的数据,您甚至应该如何训练模型?
孤立的公司结构和不可访问的数据过去可能是可管理的。 但是,在一个以惊人的速度进行技术改造的时代,公司将需要加强并在整个过程中建立统一的数据结构。
IT,数据科学与工程之间的脱节
如果公司的目标是减少孤岛,这也意味着各部门之间需要更多地沟通并调整其目标。
在许多公司中,IT和数据科学部门之间存在根本的鸿沟。IT部门倾向于优先考虑使事情正常运行并保持稳定。另一方面,数据科学家喜欢尝试和破坏事物。这不会导致有效的沟通。
此外,工程技术并非总是被认为对数据科学家至关重要。这是一个问题,因为工程师可能并不总是了解数据科学家所设想的所有细节,或者由于沟通不畅而可能以不同的方式实施事情。因此,正如StackOverflow所指出的那样,可以部署模型的数据科学家在竞争模型方面具有竞争优势。
如果模型在较小的环境中运行良好,则并不意味着它可以在任何地方运行。
一方面,用于处理更大数据集的硬件或云存储空间可能不可用。此外,机器学习模型的模块化在大范围上并不总是与小规模上一样。
最后,数据来源可能不容易甚至不可能。 如前所述,这可能是由于公司的筒仓结构所致,还是由于获取更多数据方面的其他挑战所致。
这是统一组织之间的数据结构并鼓励不同部门之间进行交流的另一个原因。
努力重复
在部署机器学习模型的漫长道路上,超过四分之一的公司面临重复的工作。
例如,软件工程师可能会尝试实施数据科学家告诉他们的操作。后者可能会继续自己做一些工作。
这不仅浪费时间和资源。 当涉众不知道要使用哪个版本的代码,以及遇到任何错误时该向谁求助,这也可能导致其他混乱。
尽管数据科学家能够实施自己的模型具有优势,但他们应与工程师明确交流由谁来完成的工作。这样,他们可以节省公司的时间和资源。
行政人员并不总是买账
技术主管坚信整个AI的力量,但这并不意味着他们对每个想法都深信不疑。正如Algorithmia报道的那样,三分之一的企业高管将部署统计数字不佳归咎于缺乏高级支持。
似乎数据科学家仍被视为有些书呆子且缺乏商业意识。 这使得数据科学家增强其业务技能并在可能的情况下寻求与高级管理人员之间的对话显得尤为重要。
当然,这并不意味着每个数据科学家都突然需要MBA才能胜任工作。但是,从课堂或业务经验中获得的一些重要经验可能会为他们提供长期服务。
缺乏跨语言和框架支持
由于机器学习模型仍处于起步阶段,因此在涉及不同的语言和框架时仍存在很大的差距。
一些管道以Python开始,以R继续,以Julia结束。 其他人则走另一条路,或完全使用其他语言。 由于每种语言都带有独特的库和依赖项集,因此很难快速跟踪项目。
此外,某些管道可能会利用Docker和Kubernetes的容器化,而另一些可能不会。 一些管道将部署特定的API,而其他管道则不会。 而这样的例子不胜枚举。
TFX,Mlflow和Kubeflow之类的工具开始出现,以填补这一空白。但是这些工具仍处于起步阶段,到目前为止,它们的专业知识还很少。
数据科学家知道,他们需要不断检查其领域的最新进展。 这也应适用于模型部署。
版本控制和可重复性仍然充满挑战
与上述问题相关的是,到目前为止,尚无版本控制机器学习模型的方法。 显然,数据科学家需要跟踪他们所做的任何更改,但是如今这已经很麻烦了。
此外,数据集可能会随时间漂移。 随着公司和项目的发展,这是很自然的事,但是很难再现过去的结果。
更为重要的是,一旦开始一个项目,就建立一个基准,该基准现在和将来都将根据该基准运行。结合勤奋的版本控制,数据科学家可以使他们的模型可重现。
如何停止尝试并开始部署
如果90%的数据科学家的努力无济于事,那就不是一个好兆头。如上所示,这不是数据科学家的错,而是由于固有的和组织性的障碍。
改变不是一天到一天的变化。 因此,对于刚开始使用机器学习模型的公司,建议从一个非常小而简单的项目开始。
一旦经理们概述了一个清晰而简单的项目,第二步就是选择合适的团队。它应该是跨功能的,并且应该包括数据科学家,工程师,DevOps以及任何其他对其成功至关重要的角色。
第三,管理者应该在开始时考虑利用第三方来帮助他们加速发展。IBM是提供这种服务的公司之一,但是市场上也有其他公司。
最后的警告是不要不惜一切代价追求复杂性。如果便宜又简单的型号可以满足80%的客户需求,并且可以在几个月内发货,那么这已经是一个很棒的壮举。此外,构建简单模型的经验将推动更复杂模型的实施,希望该模型可以使客户100%满意。
底线:革命需要时间
就像过去的十年一样,下一个十年注定是革命性的。人工智能的广泛采用只是众多增长趋势之一。物联网,先进的机器人技术和区块链技术的兴起也算入此列表。
我故意说的是几十年而不是几年。 例如,考虑到90%的公司都在云中-如此之多,甚至很难想象如果没有它,我们的生活将会如何。 另一方面,云花费了数十年才得到广泛采用。