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

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

正如所料,数据显示该领域从12年才开始急速发展,正好伴随着人们对深度学习的重新关注开始。

前AlexNet时期(12年之前)

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

发展时期(2012年到2015年)

随着机器学习圈开始了”使劲喂数据”玩法后,机器学习已经变成了数据主导的领域。看每年推出的各个类别工具数时,这点尤其明显。15年,57%(82个中的47个)是数据管道工具。

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

而针对建模和训练方面的工具大多是框架。深度学习框架的竞争现在差不多大局已定,主要是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

欢迎扫码关注:

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

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月12日
下一篇 2020年6月12日

相关推荐