当前位置: 首页 > 科技观察

为什么90%的机器学习模型从未投入生产

时间:2023-03-12 21:06:46 科技观察

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