在企业中大规模使用机器学习:ML平台和AutoML [第一部分]
多少个ML模型就是太多的模型
TL; DR:
整个企业和公司,甚至是初创企业,都在努力使机器学习模型投入运营和生产。
ML模型封装了模式,规则和知识,可实现业务流程的自动化和优化。 它们是数据驱动的应用程序和AI *服务的重要组成部分,它们可以改进并经常替换基于规则的旧业务流程,从而提高了生产率和结果。 > #MLSEV Machine Learning School — slidedeck https://www.slideshare.net/edslide/machine-learning-platformization-automl-adopting-ml-at-scale-in-the-enterprise
从2012年到2018年,蓝筹科技公司实施了内部使用的定制ML平台(例如Facebook的FBLearning,Uber的Michelangelo,Twitter的Cortex,AirBnB的BigHead),其中许多平台主要基于开源软件包,并且已经深入 为各自公司的特定用例量身定制。
从那时起,业界见证了企业级ML平台解决方案的强劲发展,其中包括现有供应商(例如Amazon Sagemaker,Microsoft Azure ML,Google Cloud ML等)和该领域的挑战者(例如DataRobot,H2O, BigML,Dataiku)。 现有供应商遵循增量策略方法,与挑战者采用的ML本机方法相比,其ML服务作为另一个应用程序层位于其现有云服务之上。
随着ML的采用增加,许多企业正在迅速转向现成的数据科学和机器学习平台,以加快产品上市时间,降低运营成本并提高成功率(已部署和运营的ML模型的数量)。
鉴于当前ML项目的一小部分,概念验证(PoC)和模型可以投入生产并获得可观的投资回报,因此,机器学习平台和自动机器学习(AutoML)成为增加ML模型快速原型制作和使用验证的选择工具 案例(ROI验证)。
结论:
· 尽管在过去几年中付出了巨大且不断增长的努力,包括企业对机器学习项目和计划的投资,但只有一小部分机器学习模型可以投入生产并取得切实的成果。 在许多情况下,那些确实被证明是有利可图的或非常有利可图的。 在规模上,帕累托的原则适用于20%的ML计划,占收益的80%,而许多PoC项目则被丢弃或冻结以供日后改进。
· 有证据表明,市场正在接近一个转折点,越来越多的公司倾向于购买(相对于构建)机器学习平台和工具,并考虑使用现成的供应商解决方案或混合方法与开源。
· AutoML和API是ML平台不可或缺的,以增加快速模型原型制作,ML用例验证和部署功能。 基本原理是通过增加ML候选用例的数量和成功率(生产中部署的ML模型)来获得更好的ROI(投资回报)。
· 数据(数量和质量-已准备好进行机器学习),机器学习技术债务,MLOps与DevOps以及企业机器学习流程和技能仍然是采用的主要障碍。 尽管如此,传统的机器学习正在迅速超越炒作周期的顶峰,预计在企业中采用主流技术仅需2至3年的时间。
· 未来的发展:除深度学习之外,在未来十年中,机器学习平台有望逐步整合知识表示,推理,计划和优化功能,从而为稳健的AI铺平道路。
免责声明:本文中的术语AI (人工智能)专门指的是构建机器学习驱动的应用程序的能力,这些应用程序最终将自动化和/或优化业务流程,并且不应与强大或强大的人工智能相混淆。 从形式上讲,"至少在本十年和/或接下来的十年中不太可能发生的事情"(作者强调)
摘要
在这里幻灯片—图库视频影像45分钟
[1]定义和上下文[第一部分:这篇文章]
机器学习平台定义•机器学习模型和应用程序作为企业中的一流资产•机器学习应用程序的工作流程•机器学习算法概述•机器学习平台的体系结构•机器学习的炒作周期的更新
[2]大规模采用机器学习
机器学习的问题•机器学习系统中的技术债务•多少模型太多模型•对机器学习平台的需求
[3]机器学习平台市场
机器学习平台市场参考•早期采用者•定制与购买:投资回报率和技术债务•机器学习平台•供应商格局
[4]定制的ML平台
ML平台市场参考-仔细研究•Facebook-FBlearner•Uber-米开朗基罗•AirBnB-BigHead•ML平台化正在成为主流
[5]从DevOps到MLOps
DevOps <> ModelOps•ML平台驱动的组织•领导力和责任心
[6]自动化ML-AutoML
Scaling ML —快速原型制作和AutoML•供应商比较•AutoML:OptiML
[7] ML平台的未来发展
深度学习之外:知识表示,推理,计划和优化
1.定义和上下文
没有什么是独特的ML平台,产品或服务。 这个行业仍然非常分散,术语" ML平台","数据科学平台"或" AI *平台"经常互换使用。
总而言之,市场上不同的产品和服务产生了共性:
ML平台提供了构建ML解决方案必不可少的高级功能(主要是预测模型和规范模型)。
ML平台支持将这些解决方案合并到业务流程,周围的基础架构,产品和应用程序中。
它支持各种技能的数据科学家(以及其他利益相关者,即ML工程师,数据分析师和业务分析师/专家)在数据和分析渠道中的多个任务,包括以下所有领域:
•数据提取•数据准备和转换•数据浏览和可视化
•特征工程
•模型选择,评估和测试(和AutoML)
•部署
•监控和解释性
•维护与•合作
机器学习平台作为工具,系统和服务的组合,可以进行实验和快速原型制作,但是其投资回报率在企业运营和业务流程的背景下得以实现,而不仅仅是实验。
参考文献:
Poul Petersen,"端到端ML应用程序剖析" https://www.slideshare.net/bigml/mlsev-anatomy-of-an-ml-application
ML平台研究报告Papis.io
ML和AI的企业采用框架*
考虑到机器学习平台和工具及其产品,机器学习模型和数据驱动的应用程序的影响和投资回报率,它们可以被视为一流的企业资产。
麦肯锡的全球AI调查提供了有关AI *及其自身优势的企业自我报告影响的最新概述。
但是,这不仅与技术有关。 流程,优先级和人员(领导和问责制)在启动和成功部署ML驱动的应用程序和服务中也起着不可或缺的作用。
不仅对于ML应用程序而言,软件开发有所不同,而且将其与现有系统进行部署和集成也被证明是一项重大挑战。 考虑到ML软件开发中的许多差异,DevOps无法充分处理MLOps(机器学习操作)(更多详细信息请参见第5节)。
机器学习算法
管理ML算法以及支持其计算和数据转换需求可以说是ML平台为数据科学家和领域专家解决的关键任务。 快速实验并将不同算法应用于给定数据集的能力是验证任何用例(假设验证)的关键。
准确地说,AutoML(自动机器学习)为该过程提供了进一步的自动化,使用不同的算法创建了许多模型候选者,并评估了它们的性能,从而为给定的预测目标提供了最佳的模型选择。
实际上,除非有特殊的性能要求,或者在特定的使用案例中,企业中的绝大多数机器学习用例(例如市场营销,财务,人力资源,制造等)都不需要深度学习或神经网络算法。 处理非结构化数据(例如视频,图像或声音)的需求。
几乎80–90%的用例都利用了传统的ML算法,例如线性回归,逻辑回归,随机森林或集合,与更加不透明的神经网络方法相比,它们提供了可靠的结果和进一步的可解释性。
Kaggle的调查几乎由2万名受访者组成(数据科学家占很大一部分),可以很好地监视算法的使用情况:
参考文献:
Kaggle的数据科学和ML调查状态https://www.kaggle.com/kaggle-survey-2019
麦肯锡-分析时代
ML平台架构
对于定制的ML平台,开源软件包和技术是首选(例如Uber的情况:HDFS,Spark,Samza,Cassandra,MLLIb,XGBoost和TensorFlow),这决定了很多基础架构。
影响平台结构的其他因素是要解决的用例以及需要多少实时数据模型和静态数据模型。 Uber服务的实时需求(例如,预测乘车时间)与AirBnB(例如,推荐人)有所不同,并且在访问,处理数据需求和预期的预测时间方面与FICO(例如,信用评分)有很大的不同,因此架构非常不同 需要。
例如,对于Uber,在线部署的模型无法访问HDFS中存储的数据,从而难以从在线生产数据库中检索关键特征(例如,查询UberEATS订单服务以计算餐厅的平均餐前准备时间)。 特定时间段)。
Uber的解决方案是将这些所需的功能预先计算并存储在Cassandra中,以便可以满足预测时的延迟要求(来源:Uber engineering — Michelangelo https://eng.uber.com/michelangelo-machine-learning-platform/)。
与定制的开源软件相反,商业ML平台旨在概括大量多样的ML问题和用例。 他们的体系结构需要支持关键功能,同时允许通过抽象层进行足够的自定义:
· 基础架构(云,混合和本地)的自动部署和自动扩展—分布式
· API — RESTful ML服务—程序化API认证和集成
· 高级功能工程-DSL **
· 以编程方式使用算法和模型
· 使用编程自动化针对ML工作流进行定制— DSL
· 前端:可视化和界面
· 开发工具:绑定(Python,R,Java,C),库,CLI工具
** DSL域特定语言
带有DSL(领域特定语言)的API和编程自动化确保了衍生产品。 本系列文章的第7节将特别介绍AutoML。
DSL在API和计算基础架构之上提供了必要的抽象级别,以处理复杂性,自动化和定制。 DSL方法的示例包括用于功能选择和转换的Uber DSL(Uber的ML平台-Michelangelo)和用于ML工作流程自动化的BigML的DSL(WhizzML)。
参考文献:
优步工程-米开朗基罗https://eng.uber.com/michelangelo-machine-learning-platform/
Arxiv:有关用于机器学习和大数据的DSL的调查https://arxiv.org/pdf/1602.07637
PAPIS.io程序:机器学习API的过去,现在和将来http://proceedings.mlr.press/v50/cetinsoy15.pdf
WhizzML用于ML工作流程自动化的DSL https://bigml.com/whizzml
机器学习的炒作周期更新
随着企业和从业人员超越在实践中应用ML的学习曲线,随着技术的发展,机器学习和深度学习都超越了炒作周期的顶峰,迅速进入了"幻灭谷"(期望调整)。 Gartner最新的"炒作周期"报告对此有所反映,并预测在未来2-3年内将采用主流技术。
紧随其后的是,新的ML平台的功能(例如AutoML,MLOps,可解释的AI或Reinforcement Learning)目前正进入炒作曲线,很快就被过度炒作了。 这些尚不成熟的新机器学习技术还没有为主流或大规模采用做好准备。
建置与购买
多年来,市场已分为开源解决方案和行业解决方案。
从2012年到2018年,蓝筹科技公司实施了内部使用的定制ML平台(例如Facebook的FBLearning,Uber的Michelangelo,Twitter的Cortex,AirBnB的BigHead,稍后在第4节中进行更详细的分析)。
其中许多平台主要基于开源软件包,并且针对这些公司的特定用例进行了深度定制。
尽管开源软件包具有固有的自由性质(获得购买成本的收益),并且定制功能几乎不受限制,但是开源问题仍然伴随着相关的隐性技术债务,尤其是胶水代码(第2节中的更多详细信息) ,请参阅机器学习系统中的隐藏技术债务。D。Sculley等人,Google,NIPS,2015年)。
恰恰是配置,协调和合并使用不同的开源程序包(Glue代码)的成本,从长远来看,这会增加成本,从而使构建与购买业务案例对行业解决方案更具吸引力。
业界已经看到了企业级ML平台解决方案和MLaaS(机器学习即服务或Cloud ML服务)的强劲发展,现在该产品在各行业运营商(例如Amazon Sagemaker,Microsoft Azure ML,Google Cloud ML等)之间进行了划分。 )和挑战者(DataRobot,H2O,BigML,Dataiku等)。
对许多企业而言,重要的关键推动因素是上市时间和竞争力。 由于他们难以进行规模扩展并无法通过传统的构建研发方法成功地将足够多的ML模型成功投入生产,因此许多公司迅速转向采用现成的数据科学和机器学习平台来加速产品上市,降低运营成本并提高成功率。 (已部署并投入运营的ML模型的数量)。
参考文献:
机器学习系统中的隐藏技术债务。 D.Sculley等人,Google,NIPS 2015 https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf
Gartner的AI炒作周期https://www.gartner.com/smarterwithgartner/top-trends-on-the-gartner-hype-cycle-for-artificial-intelligence-2019/
[第1节完]
此帖子的配套幻灯片可在此链接上获得[在3月26日在机器学习学校#MLSEV上的演讲]
关于作者:
(本文翻译自ed fernandez的文章《State of the Machine Learning & AI* Industry》,参考:https://towardsdatascience.com/state-of-the-machine-learning-ai-industry-9bb477f840c8)