【科技】机器学习演变:未来有很大潜力,但现在还不足够好
本篇文章2825字,读完约7分钟
【每日科技网】
大型科技企业都在积极地围绕人工智能和机器学习进行调整:谷歌现在是ai-first,优步在血脉中流淌智能基因,其内部的人工智能研究实验室正不断涌现。
他们倾注了大量的资源和精力,让全世界相信,机器智能革命正在到来。
他们认为,深度学习是推动这一转型的突破性进展,并为新型自动驾驶汽车、虚拟助手提供了动力。
尽管这种宣传方法对现状有艺术式的推广,但这种方法的未来却并不那么新潮。
与机器学习关联的软件工程师和数据科学家仍然采用多个相同的算法和工程工具,就像他们多年前做的那样。
也就是说,以前传下来的机器学习模式而不是一个深层的神经互联网正在为很多人工智能应用提供动力。
工程师们仍在采用以前传下来的软件工程工具来进行机器学习工程,但这些工具并不起作用:将数据建模的管道最终由分散的、不兼容的部件构建而成。
随着大型科技企业通过构建具有端到端功能的新型机器学习平台,这一过程将会发生了变化。
大型科技企业最近开始采用他们自己的机器学习工程的集中平台,这更清晰地将以前分散的数据科学家和工程师的从业流程整合在一起。
机器学习工程分为三个阶段数据解决、模型构建、部署和监控。
在中间,我们有管道的模型,这是机器学习算法,学习预测给定的输入数据。
这种模式是深度学习的地方。
深度学习是一种机器学习算法的子范畴,它采用多层次的神经互联网来学习输入和输出之间的多而杂关系。
神经互联网的层次越多,它所能捕捉到的多而杂性就越高。
以前传下来的统计机器学习算法(即哪些避免用深层神经互联网的算法)拥有更有限的能力来获取关于训练数据的新闻。
但是,这些更基本的机器学习算法在多个应用程序中运行得非常好,这使得深度学习模型的额外多而杂性常常是多余的。
因为此,我们仍然看到软件工程师在机器学习工程中广泛采用这些以前传下来模型即使在深度学习的狂热爱好者也是如此。
但是,把全部东西放在一起后,我们看将能看到训练机器学习模型前后的情况。
第一个阶段涉及清理和样式化大量数据,并将其输入到模型中。
最后一个阶段涉及对模型的仔细部署和监控。
我们发现,人工智能的大部分工程时间实际上并不是用来构建机器学习模型的,而是花在准备和监控这些模型上。
尽管大型科技企业人工智能研究实验室专注于深度学习,但在这些企业中,大多数机器学习应用程序并不依靠于神经互联网,而是采用以前传下来的机器学习模式。
最常见的模型包括线性/逻辑回归、随机森林和增强决定树。
这些都是科技企业采用的其他服务,比如朋友建议、广告定向、客户有趣预测、供需模拟和搜索展示的结果排名。
工程师用来训练这些模型的一点工具也同样很好地采用。
最常用的机器学习库之一是scikit-learning,它是十年前发布的(尽管谷歌的tensorflow正在上升)。
我们有充分的理由采用更简单的模型而不是一个深入学习。
深度神经互联网不太容易训练。
它们需要越来越多的时间和计算能力(它们一般需要不同的硬件,特别是gpu)。
深入学习是很困难的它仍然需要大量的手工操作,包括直觉、尝试和错误的结合。
在以前传下来的机器学习模式下,工程师花在模型培训和调优上的时间相对较短一般只有几个小时。
最终,如果深度学习能够实现的准确度提升是适度的,那么对可扩展性和开发速度的诉求就会超过它们的价值。
因为此,在训练机器学习模式时,以前传下来做法效果很好。
但是,同样的情况并不适用于连接机器学习管道的基础设施。
在机器学习工程中采用相同的旧软件工程工具,会产生更大的错误可能性。
机器学习管道的第一阶段数据收集和解决证明了这一些。
虽然大企业肯定有大数据,但数据科学家或工程师必需清理数据,使之有用验证并整合来自不同来源的重复数据,标准化指标,设计和说明功能。
在大多数企业,工程师采用组合的sql或hive查询和python脚本,从一个或多家数据源聚合并样式化多达数百万个数据点。
这一般需要几天的体力劳动。
其中一点可能是重复性的从业,因为多个企业的流程是分散的数据科学家或工程师经常采用本地脚本或jupyter笔记本操作数据。
此外,大型科技企业的规模较大,在生产任务中会造成错误,所以要谨慎部署和监控模型。
正如一位工程师所描述的那样,在大企业,机器学习是80%的基础设施。
然而,以前传下来的单元测试以前传下来软件测试的支柱并不真正适用于机器学习模型,因为机器学习模型的正确输出在之前是未知的。
毕竟,机器学习的目的是让模型学会根据数据做出预测,而不需要工程师专门编写任何规则。
因为此,工程师们使用的不是单元测试,而是使用一种不那么结构化的做法:他们手动监控仪表板,并为新模型编写警报。
实际世界数据的一些变化可能会让训练的模型变得不那么准确,因为此工程师根据应用程序的不同,每天按月对新数据进行重新培训。
但是,在现有的工程基础设施中缺少机器学习的支持,可能会在开发模型和生产模型之间产生脱节正常代码更新的频率要低得多。
多个工程师仍依靠于将模型部署到生产中的基本做法,比如将已训练模型的串行化版本或模型权重留存到一个文件中。
工程师有时需要用另一种语言或框架重建模型原型和部分数据管道,因为此他们在生产基础设施上从业。
从数据解决到培训再到部署的任何阶段,任何与机器学习开发过程的不兼容都可能导致错误。
为了处理这些问题,一点大企业,拥有开发定制工具的资源,已经投入了时间和工程技术来创建他们自己的机器学习工具。
他们的目标是拥有一支无缝的、端对端的机器学习平台,完全兼容该企业的工程基础设施。
facebook的fblearner flow和uber的michelangelo都是内置的机器学习平台,可以做到这一些。
他们允许工程师用直观的客户界面来构建培训和验证数据集,减少在这一阶段消费的时间。
然后,工程师就可以用(或多或少)点击一个按钮来训练模型。
最后,他们可以轻松地监控和直接更新生产模型。
像azure machine learning和amazon machine learning 这样的服务是公开的可选方案,提供类似的端到端平台功能,但只与其他amazon或微软服务集成,用于管道的数据存储和部署组件。
尽管大型科技企业一直强调要通过机器学习来提高产品的质量,但在大多数企业,这一过程仍面临重大挑战和效率低下。
他们仍然采用以前传下来的机器学习模式,而不是一个更先进的深度学习,仍然依靠于以前传下来的工具基础设施,而这些工具不适合机器学习。
幸运的是,由于目前专注于这些企业的人工智能,他们正在投资专门的工具,使机器学习变得更好。
有了这些内部工具,或者有可能与第三方机器学习平台结合起来,这些平台能够紧密地整合到现有的基础设施中,组织就能实现人工智能的潜力。
作者catherine dong是bloomberg beta的暑期助理,他将在facebook担任机器学习工程师。
标题:【科技】机器学习演变:未来有很大潜力,但现在还不足够好
地址:http://www.greenichiban.com/news/12659.html
免责声明:国际科技时报是中国具有影响力的科技媒体,以全球视角,第一时间呈现最新科技资讯。所著的内容转载自互联网,本站不为其真实性负责,只为传播网络信息为目的,非商业用途,如有异议请及时联系btr2031@163.com,国际科技时报的作者:何鸿宝将予以删除。