遍览200多个机器学习工具后,吾学到了啥

灵石县倭附商贸网
行业动态
栏目导航
遍览200多个机器学习工具后,吾学到了啥
浏览:94 发布日期:2020-07-12

大数据文摘出品

来源:huyenchip

编译:Fisher、Andy

由于机器学习钻研的放缓,以及行家对产业化的需求。近来行家对MLOps的关注越来越高,稀奇是其中涉及到的各栽各样的工具。

在这篇文章中,Chip幼哥统计了两百多个机器学习有关工具,并且对整个该周围的发展和近况进走了回顾,同时列出机器学习开发的难点稀奇是和传统柔件开发的差别点,末了还特意商议了开源对该周围的影响。

近来,为了更益地晓畅机器学习周围工具的团体情况,吾决定彻底调查每个能找到的人造智能/机器学习工具。整个过程中参考的资源包括:

Full Stack Deep Learning LF AI Foundation landscape AI Data Landscape 各媒体评选出的AI创业公司榜单 推特和领英上收到的帖子回复 别人分享给吾的工具列外(包括同伴、生硬人、风险投资人)

在筛失踪只有行使程序的公司(如用机器学习挑供商业分析的公司)、未处于积极开发中的工具,以及没人用的工具后,末了剩下202个工具。

完善列外如下:

https://docs.google.com/spreadsheets/d/1OV0cMh2lmXMU9bK8qv1Kk0oWdc_Odmu2K5sOULS9hHQ/edit?usp=sharing

倘若有工具你觉得答该列入但未被列入,请务必在留言区增添!

免责声明:

这个工具列外创建于19年11月,现在情况一定差别了; 有些科技公司挑供的一套工具数目太多,难以逐一列举,如Amazon Web Services挑供超过165项功能齐全的服务; 有很多不著名的创业公司,吾能够并不清新,甚至还有些都还没听说就休业了。

概述

吾认为能够将机器学习生产流程归纳成4个主要步骤:

项现在创建 数据管道 建模和训练 上线服务

基于某个工具是服务于上述流程中哪个,吾对工具进走了分类。吾没将项现在创建片面包含进来,由于这一步必要的是项现在管理工具,而不是机器学习工具。分类未必候并非浅易强横的,由于有些工具能够涉及多个步骤。而且这些工具模棱两可的描述也让人头大:什么“吾们突破了数据科学的极限”,“将AI项现在转化为实际世界的商业收获”,"让数据像空气清淡解放起伏",还有吾幼我最pick的一句:“吾们生活于数据科学之上,呼吸于数据科学之中”。

对于涵盖了流程中多个步骤的工具,吾遵命其最为人所知的功能来分类。有些工具多个分类的功能都为行家所熟识,吾就把它们都放在“一体化”(All-in-one)类中。吾还添添了“基础设施”(Infrastructure)这一类,来纳入那些挑供基础设施来训练和存储模型的公司,它们大片面都是“云”挑供者。

团体发展历程

对此,吾记录了每个工具推出的年份。对于开源项现在,吾议决查看首次挑交时间来确定项现在是何时公开的。对于公司,吾在Crunchbase网站上查找它的竖立年份。然后吾绘制了各个类别工具数现在随时间的转折图。

随年份累添的工具数现在图:左上角图例挨次为一体化、数据管道、基础设施、建模和训练、挑供服务。

正如所料,数据表现该周围从12年才最先急速发展,恰恰陪同着人们对深度学习的重新关注最先。

前AlexNet时期(12年之前)

直到11年,该周围都是以建模和训练工具为主。一些框架现在还很通走(如scikit-learn),或影响了现在的框架(如Theano)。在12年之前竖立并存活至今的工具,有的已上市(Cloudera、Datadog、Alteryx),有的被收购(Figure Eight),有的成为了圈内特意炎门的开源项现在(Spark、Flink、Kafka)。

发展时期(2012年到2015年)

随着机器学习圈最先了"使劲喂数据"玩法后,机器学习已经变成了数据主导的周围。看每年推出的各个类别工具数时,这点尤其清晰。15年,57%(82个中的47个)是数据管道工具。

每年推出的各个类别的工具数。左上角图例挨次为一体化、挑供服务、基础设施、数据管道、建模和训练。

产业化时期(2016年至今)

固然纯钻研很主要,但大无数公司都义务不首成本,除非钻研能在短期就带来商业行使。随着机器学习的钻研、数据和现成模型越来越易得,有更多的人和结构会想要直接找行使场景,这就添添了对机器学习产业化工具的需求。

在16年,谷歌宣布用神经机器翻译来改进谷歌翻译服务,这是深度学习在实际中的首批主要行使中一个。此后,行家开发了各栽工具来协助机器学习类行使安放上线。

团体发表近况

尽管AI周围初创公司很多,但大无数是行使型的(挑供商业分析或客户声援等行使),而不是工具型的(打造工具来协助其他公司开发行使)。或者用风投的走话来讲,大无数创业公司都是垂直细分AI(Vertical AI)。在19年的福布斯“50家AI创业公司”榜单中,只有7家是工具型公司。

行使类更益出售,由于你能够直接往一家公司倾销说:“吾们能够让你们一半的客户声援营业自动化”。相比首来,固然工具类要更长时间来出售,但会产生更大影响,由于你不是关注单独孤立的行使程序,而是关注整个生态的一片面。对于某一类行使,能够有多家供答商共存;但对于生态的一环,清淡只有幼批工具能存活下来。

这次,经过大量搜索后,吾也只找到大约200个AI工具,和传统柔件工程的工具数目相比还很少。比如,倘若你想对传统的Python行使做测试,2分钟之内就能在谷歌上搜到起码20栽工具。而倘若你想对机器学习模型做测试,那一个能够也搜不到。

机器学习开发所面临的题目

很多传统的柔件工程工具都能用来开发或安放机器学习行使。但也有很多题目是机器学习行使专有的,因而也必要特意的工具。

在传统的柔件工程中,写代码片面是难点。但在机器学习中,写代码只是团体的一幼片面。开发一个新模型,而且对实际义务挑供隐晦升迁,这不但难,成本也很高。因而大片面公司不会凝神于开发模型,而是用现成模型,例如 “BERT大法解决统统”。

对于机器学习,清淡有最多/最益数据的行使就是最益的。因此,大无数公司并不太凝神于改进深度学习算法,而是凝神于改善数据质量。由于数据能够会迅速转折,因而机器学习行使也请求更快的开发和安放周期。在很多时候,你能够得每晚都安放一个新模型。

模型的大幼也是一个题目。经过预训练的大型 BERT 模型有340M个参数,占1.35GB空间。就算能装在移动终端比如手机上,行业动态由于其测度要花的时间太长,因而对很多行使场景也是没意义的。比如,倘若输入法挑示下一个字符所花时间比你直接输入还要长,那响答的自动补全模型也就没意义了。

Git议决逐走比较来进走版本管理,这对大无数传统程序很有效。但它不适用于对数据集或模型做版本管理。对于大无数传统数据框架的操作,Pandas就很益了,但它却不克在GPU上跑。

基于走的数据格式(比如CSV)对于操纵较幼批据的行使造就很益。但倘若你的样本包含很多特征,而你只想用其中一个子集,那么基于走的数据格式仍必要先载入所有特征才走。像PARQUET和OCR如许的列式文件格式对处理这栽情况进走了优化。

机器学习行使开发所面临的一些题目:

监测:如何得知你的数据分布发生了转折,然后重新训练模型?例如:Dessa,由AlexNet的Alex Krizhevsky声援,于20年2月被Square收购。 数据标记:如何迅速标记新数据或针对新模型重新标记现有数据?例如:Snorkel CI/CD测试:如何运走测试来确保模型在改动后仍能发挥预期作用?你不克每次都花几天时间重新训练直到拘谨。例如:Argo。 安放:如何打包和安放一个新模型或替换失踪一个现有模型?例如:OctoML。 模型压缩:如何压缩模型来体面终端设备?例如:Xnor.ai是从Allen Institute分拆出来的一家创业公司,凝神模型压缩。2018年5月,该公司以6200万美元的估值得到1460万美元融资。2020年1月,苹果花了约2亿美元收购了它,并关失踪了它的网站。 测度优化:如何添快模型的测度时间?议决相符并若干操作?议决降矮模型精度?模型更幼会让测度速度更快。例如:TensorRT。 边缘设备:特意设计的硬件,使机器学习算法运走首来更快成本更矮。例如:Coral SOM。 隐私:如何才能既议决用户数据来训练模型,同时又珍惜用户隐私?如何才能使流程相符欧盟《通用数据珍惜条例》的请求?例如:PySyft。

下面这张图里,横坐标是这些工具设法解决的主要题目,纵坐标是针对特定题目的工具数目。

能够看出,很大一路比例荟萃在数据管道方面:数据管理、数据标记、数据库/查询、数据处理、数据生成。这类工具能够志在发展成一体化平台。由于数据处理是项现在中最消耗资源的阶段,一旦你让人们把数据放到你的平台上,你会很想用这些数据弄出一些预训练模型什么。

而针对建模和训练方面的工具大多是框架。深度学习框架的竞争现在差不多大局已定,主要是PyTorch和TensorFlow两个框架,此外还包括基于这两个框架的更高层次的框架,用于特定义务,比如自然说话处理(NLP)、自然说话理解(NLU)以及多模态题目。现在还有能够进走分布式训练的框架。以及近来谷歌推出的新框架JAX,每个厌倦TensorFlow的谷歌党都对它夸夸不息。

还有一些自力工具针对实验追踪,而通走框架内也有本身的实验跟踪功能。超参数调优很主要,因而有益几个工具就凝神于此,但相通异国哪个被普及批准——由于超参数调优的瓶颈不在竖立上,逆而在调优过程中所需算力上。

留待解决的最令人奋发的题目是在安放和服务方面。匮乏服务解决方案的因为之一是钻研人员和产品工程师之间匮乏疏导。在那些有能力进走AI钻研的公司(清淡是大公司),钻研团队与安放团队是睁开的,两个团队只议决带有字母“p”各栽经理疏导:产品经理(product managers)、项现在经理(project managers),以及项现在群经理(program managers)。幼公司的员工能够看到全栈的情况,但受制于千钧一发的产品需求,也没什么时间搞。只有幼批创业公司设法填补这个空白,这些公司清淡是由有为的钻研人员创办,而且有有余资金来雇用谙练的工程师,随时准备在AI工具市场上抢占份额。

盛开源码和盛开内核

吾查看的202栽工具中,有109栽是开源柔件。即使是不开源的那些,清淡也有相伴的开源工具。

开源兴起有若干因为。其中一个因为是所有声援开源的人多年来不息在谈论的:透明度、配相符性、变通性,而且这益似成了道德规范。客户能够不愿操纵一个没法看到源代码的新工具。否则,一旦这个工具停留运营(初创公司里频繁发生),就得哀剧地不得不重写代码。

自然,开源柔件并不代外非盈余和免费,其维护特意费时,而且腾贵。据传TensorFlow团队的周围挨近1000人。公司在挑供开源工具时必须得考虑其商业现在的,例如,越多人操纵他们的开源工具,就有越多人晓畅他们,信任他们的技术,并因此往购买他们的付费工具或想添入他们的团队。

比如谷歌就期待推广它的工具,益让行家用它的云服务。英伟达维护着cuDF(以及之前的dask),如许就能卖出更多GPU。Databricks免费挑供MLflow,而同时在出售其数据分析平台。就在近来,Netflix组建了特意的机器学习团队并发布了他们的Metaflow框架,此举使他们进入机器学习周围,得以吸收人才。Explosion免费挑供SpaCy,但对Prodigy收费。HuggingFace免费挑供transformers,但吾还不清新他们怎么赢利的(哈哈哈,良心企业)。

由于开源柔件已经成了一栽标准,初创公司要找到一栽走之有效的商业模式照样挺难的。由于任何一家公司竖立后都必须与现有开源工具竞争。倘若你遵命盛开内核的商业模式,那就必须决定哪些功能放在开源版本里,哪些放在付费版本里,而且还不显得吃相太寝陋;或者琢磨如何让免费用户最先付费。

结论

不息以来都有很多商议,商议AI泡沫是否会分裂。现今AI投资的很大一片面是在自动驾驶汽车上。由于十足自动驾驶离商业化还比较迢遥,因而有人推想投资者会对AI走业彻底绝看。添上现在谷歌已经停留了机器学习钻研员的雇用,而Uber裁失踪了AI团队一半的钻研人员。这两家公司的决定都是在新冠疫情前做出的。有传言称,由于大量的人在上机器学习课,因而这方面的技术人员将会饱和。

现在照样进入机器学习周围的益时机吗?吾笃信对人造智能的炒作实在存在,而且是时候镇静下来了。但吾不认为机器学习周围会湮灭,固然有能力做机器学习钻研的公司能够会缩短,但那些必要各栽工具把机器学习整相符产业化的公司照样不息必要的。

倘若你必须在工程师和机器学习行家之间选择的话,那吾提出你选择工程师吧。特出的工程师更容易掌握机器学习知识,但机器学习行家要成为特出的工程师就难多了。倘若你成了别名工程师,为机器学习周围开发出很棒的工具,吾也会永世感激你的!

有关报道:https://huyenchip.com/2020/06/22/mlops.html

【本文是51CTO专栏机构大数据文摘的原创译文,微信公多号“大数据文摘( id: BigDataDigest)”】