为什么生产机器学习失败-和如何修复它

机器学习已经成为任何严肃的数据团队的必备工具:增强流程, 生成更智能、更准确的预测, 总体上提高推荐一个正规滚球网站利用数据的能力.

However, 在理论上讨论机器学习的应用与在实际生产中大规模应用机器学习模型有很大的不同. In this article, 推荐一个正规滚球网站通过共同的挑战和相应的解决方案,使ML成为您的数据组织的力量倍增器. 

从在谷歌地图上生成你的周末自行车路线,到帮助你在Netflix上发现你的下一个值得狂欢的节目, 机器学习(ML)已经远远超越了一个理论流行语,成为推荐一个正规滚球网站大多数人每天都在使用的一项强大的技术. 

对于现代企业来说,对ML的需求从未如此强烈过. 但是,虽然某些行业已经被自动化所改变,但ML-think使之成为可能 fraud detection in finance and personalized product recommendations 在电子商务中——残酷的事实是许多ML项目在见到阳光之前就失败了. 

In October 2020, Gartner reported 只有53%的项目从原型到生产,而且是在有一定人工智能经验的组织中. 对于仍在努力发展数据驱动文化的公司来说,这个数字可能要高得多 some failure-rate estimates soaring to nearly 90%. 

Data-first tech companies like Google, Facebook, 亚马逊正在用ML改变推荐一个正规滚球网站的日常生活, 而其他许多资金充足、才华横溢的团队仍在努力启动他们的项目. But why does this happen? And how can we fix it?

推荐一个正规滚球网站分享了现代数据团队在大规模采用ML时面临的四大挑战,以及如何克服这些挑战. 

实际业务需求和ML目标之间的不一致

当您的业务目标和ML目标不一致时, 你所有的计划都注定要失败, 就像你用陈旧数据训练的模型一样. Image courtesy of Charles Deluvio on Unsplash.

The first challenge is strategic, 不技术性:从解决方案开始,而不是从明确定义的问题开始. 

随着公司竞相将ML合并到他们的组织中, 领导者可能会雇佣数据科学家和ML从业者来自动化或改进流程,而不需要对其有成熟的理解 哪些问题是真正适合ML的 to solve. 甚至当业务问题很适合ML的时候, 没有一个关于成功的共同定义, 项目可能在试验模式中被搁置数月,而涉众则在等待一个永远无法达到的理想化的机器般的完美水平. 

Machine learning is not magic, 它不会解决所有问题, and should, by nature, continue to evolve over time. 有时,仅仅实现与人类相同的结果的模型是一个有价值的项目——错误和一切. 

在开始任何项目之前,问问你的团队或干系人: 推荐一个正规滚球网站要解决的业务问题是什么? 为什么推荐一个正规滚球网站相信ML是正确的道路? 这个项目试图达到的业务价值的可度量阈值是什么? What does “good enough” look like? 

Without these clear, 在一开始就有共同的定义, 许多有价值的ML项目将永远无法达到生产,宝贵的资源将被浪费. 使用ML解决业务问题,而不是仅仅启动一个ML项目来选中ML框.

Model training that doesn’t generalize

具有清晰定义的业务问题和目标成功指标, 你潜在的陷阱变得更加技术性. During the model training stage, 与训练数据或模型拟合相关的问题是未来失败的罪魁祸首. 

The goal of model training is to develop a model that can generalize, 或者在得到新数据时做出准确的预测,因为它理解数据点之间的关系,并能确定趋势. Your training dataset should be clean, sizable, 并且代表了您的模型在生产中需要处理的实时数据. 在生产环境中,没有任何地方可以看到干净的数据. 预计要花相当多的时间打扫卫生, 标记和特征工程只是为了准备好数据.

代表性的训练数据也是关键:如果您的训练数据不能反映您的模型将遇到的实际数据集, 当您达到测试或生产阶段时,您可能会得到一个无法执行的模型. 

训练过程中可能出现的另一个问题是过拟合和欠拟合. Overfitting happens when a model learns too much 并产生与您的训练数据太接近的输出.

欠拟合正好相反——你的模型没有学到足够的知识,甚至无法对训练数据本身做出有用的预测, 更不用说在测试或生产中遇到的新数据了.

Testing and validation issues

As you test and validate your models, 合并多个数据流并进行更新以提高性能可能会带来新的挑战. 数据源、模型参数和 feature engineering all introduce room for error. 

这也可能是您在模型中检测到过拟合或欠拟合的阶段——一个模型在训练中表现很好,但在测试中未能产生有用的结果,这可能是过拟合. 

即使在像谷歌这样的公司,ML工程师比比皆是, surprises in your product models can—and will—arise. 

Deployment and serving hurdles

Deploying ML projects is rarely simple, 团队通常不能使用一致的工作流来实现这一点——因为ML项目解决了广泛的业务问题, 托管和部署它们的方法也有很多. For example, 有些项目需要定期进行批量预测, 而其他人则需要在应用程序发出API请求使用模型进行预测时,按需生成和交付预测. (这是使模型应用于不同用例具有挑战性的部分原因, 不管这听起来多么吸引人,这些高管可能会认为ML模型比狭隘的功能更神奇.)

Additionally, 一些ML项目可能需要很多资源, 跨职能团队需要就部署的优先级达成一致. 工程师能生产的东西是有限的, and as we’ve discussed, ML项目不仅仅是模型和算法:大多数项目都需要基础设施, alerting, maintenance, and more to be successfully deployed. 

这就是为什么在一开始就清晰地表达业务问题是如此重要, agree upon what success looks like, design an end-to-end solution, 并对ML项目的价值与其他优先级有共同的理解. Without this strategic plan, 你的项目可能永远无法获得最终生产所需的工程资源. 

举个例子,Netflix从未将其产品化 百万美元的推荐算法 由于获胜的模型实现的复杂性——而不是选择另一个更容易集成的提交.  

Tactics for scalable ML in production

机器学习并不神奇,但它很强大,而且经常被误解.  Sort of like this paper stick figure. Image courtesy of Kobu Agency on Unsplash.

Beyond strategic planning and staffing, 有一些具体的步骤可以帮助您扩大ML的生产. 

Lean into the cloud

如果您的团队是在本地工作,而不是在云中工作,那么是时候进行调整了. 在云中工作是保持模型训练和部署工作流步调一致的“粘合剂”. 大多数供应商和开源工具都是为云开发的, and once there, it’s much easier to automate processes. Testing, training, 验证和模型部署需要是一个可重复的过程, 它不应该从本地Python代码转到生产环境.

Leverage a DevOps approach

就像推荐一个正规滚球网站已经讨论过将DevOps实践应用到数据一样 setting data SLAs and measuring data health along observability pillars, ML团队可以跟随DevOps的脚步,实现 持续集成(CI)和持续交付(CD) model, while introducing Continuous Training (CT). 通过建立敏捷构建周期和工具, ML团队可以更快地将更改交付到代码库中,并提高整体性能. 

Similar to DevOps best practices, ML团队应该使用容器化来一致地跨任何类型的设备运行软件,并使工程师更容易将他们的工作产品化. 保持一致和可见的构建过程,更频繁地部署较小的更改,可以让团队工作得更平稳,并更深入地了解什么工作得更好, and what’s not. 可见性还帮助潜在的代码“看门人”信任构建过程,并加快ML团队的工作流程. 

投入时间去建立一个战略性的MLOps团队和流程将有助于减少项目在生产前被拖延的可能性, 使持续改进可行——为每个项目的长期成功打下基础.

Invest in observability and monitoring 

Finally, 机器学习的首要规则是,你的结果只会和你的输入一样好. 健康的数据对ML是绝对必要的. Without clean data and working pipelines, 模型将无法发挥其最大的潜力,并可能无法做出准确的预测. 

当你依赖ML来做重要的商业决策时, 您不希望在已经交付这些输出之后发现破损的管道或不准确的数据. 

That’s why data observability, 它提供了对数据健康的全面理解和全面监控,并且可以防止坏数据首先到达ML模型,值得投资吗. 

Achieving ML production at scale

你不需要设计下一个动作激活的安全摄像头来与你的ML产生影响. Image courtesy of Matthew Henry on Unsplash.

机器学习并不神奇,但它很强大,而且经常被误解. 

Still, with the right mix of strategy, processes, and technology, ML项目可以提供竞争优势,并推动每个行业的增长. 

即使你不是在构建下一个欺诈检测算法或虚拟个人助理, 推荐一个正规滚球网站希望这些最佳实践能帮助您(成功地)实现目标!) deploying ML at scale.

你最大的ML或数据痛点是什么? We’d love to hear from you! Reach out to Lior Gavish or Manu Mukerji.