蝌蚪娱乐平台卸载_PyTorch横扫顶会,TensorFlow退守业界:机器学习框架一年变天

2020-01-11 13:11:31

蝌蚪娱乐平台卸载_PyTorch横扫顶会,TensorFlow退守业界:机器学习框架一年变天

蝌蚪娱乐平台卸载,鱼羊 栗子 发自 凹非寺

量子位 报道 | 公众号 qbitai

tensorflow 2.0正式发布没几天,pytorch 1.3今天也上线了。

一个疯狂强调“易用性”,一个整出了移动端部署。老将和新秀都卯足了劲。

毕竟,机器学习框架的世界,局势变化过于迅猛,稍不注意就会被抢了地盘。

一年前,tensorflow还是各大顶会论文选择的主流框架,如今顶会几乎成了pytorch的天下。

cvpr 2019,只提到pytorch的论文有280篇,只提到tensorflow的论文有125篇,但这还不是悬殊最大的一场会议。

有网友 (@programmerchilli) 说,虽然知道大批研究者逃离tf拥抱pt:

但我绝对想不到涨幅能到这种地步。

那么,pytorch的优势到底在哪里?

pytorch一路凯歌,对tensorflow经营多年的格局又有怎样的冲击。

这一次,一位来自康奈尔大学的少年horace he,用一份详尽的调查报告,对现状进行了总结,也为潜在入门者提供了方向:

报告开头就提到:目前的大背景是,大量研究人员从tensorflow转投pytorch。

但大家未必知道,这势头来得多猛烈。来看2018年与2019年的各大顶会对比吧:

△ 被挡住的icml是32.5%

表格列出了cvpr、naacl、acl、iclr、icml这五大顶会上,仅提到pytorch/仅提到tensorflow的论文数量。

2018年,pytorch五项数据全部低于tensorflow。

2019年,pytorch五个数字全部超越tensorflow。

pytorch每项数据的增幅,都在192%到450%之间,涨势十分凶猛。

其中,以自然语言处理(nlp) 的顶会naacl (450%) 和acl (290%) 最为显著;在视觉顶会cvpr上也有大幅增长 (240%) 。

相比之下,tensorflow有三项数据下滑。其中naacl数据下降幅度达到了38.2%,而这里正是pytorch飞跃式增长的地方。

此消彼长,pytorch只用了一年,便把弱势变成了压倒性优势:

280:125 (cvpr) ,两倍有余。

66:21 (acl) ,三倍有余。

103:33 (naacl) ,三倍有余。

在语言和视觉顶会上,pytorch的主导地位最明显。这跟上文提到的涨幅是吻合的。

如果还有人把pytorch当做一个新秀,试图在tensorflow主导的世界里,划出一片自己的地盘,那么数据告诉他们,已经不是这样了。

虽然,看上去tensorflow还有两项数据在增长,但其实只有icml的涨幅 (32.5%) ,还跟得上会议总录取论文数的增长。

也就是说,在另外四场会议上,tensorflow已经开始衰退了。

一是简单。它和numpy比较像,风格很python,能轻易和python生态集成起来。

比如,你只要把一个pdb断点扔进pytorch模型里,它直接就能用了。

相比之下,在tensorflow模型里面debug的话,便会复杂得多了。

二是api好。比起tensorflow的api,大多数研究人员更偏爱pytorch的api。pytorch设计得更科学;而tensorflow要在各种api之间切换,令人操作不便:

‘layers’ -> ‘slim’ -> ‘estimators’ -> ‘tf.keras’

三是性能。虽然pytorch的动态图 (dynamic graphs) 提供的优化空间比较小,但许多用户都反馈说pytorch的速度不亚于tensorflow,甚至比对方还快。

虽然,没有严格测试数据表明到底谁更快,但至少tensorflow并没有明显的优势。

这样,再加上前两点,足够让许多研究人员拥抱pytorch了。

tensorflow在研究领域会怎样?

就算今后tensorflow变得像pytorch一样友好,pytorch的地盘也已经很大了。

这就是说,pytorch的代码实现更容易找到,人们也更有动力发表pytorch的代码给大家用,跟别人合作的话队友也可能会倾向pytorch。

所以,迁回tensorflow 2.0这件事,大概率不会进展很快。

当然,谷歌和deepmind内部研究还是会用tensorflow。他们的研究成果,大概也给了一部分研究人员,继续用tensorflow的信心。

不过horace he听说,谷歌内部也有许多研究人员,渴望逃离tensorflow了。

另一方面,pytorch主导地位越来越强,谷歌研究人员可能和整个社区之间产生隔阂:他们很难在外部研究的基础上搭建自己的应用,外面的研究人员也很难借鉴谷歌的代码。

最后,tensorflow 2.0能不能挽回一些研究人员,还需要时间来观察。eager execution一定是个吸引人的点,而keras api就不一定了。

tensorflow守住工业界

虽然在各个开发者社区,“pytorch真香”论声势浩大,现在又在顶会数据上实力压倒tensorflow,但其实,在工业界,tensorflow仍具优势。

比如,根据medium博主jeff hale的统计结果,2019年,tensorflow在线上招聘启事中拥有1541个新增职位,而pytorch有1437个。

从arxiv的论文数量来看,tensorflow也仍然占据首位,只是领先优势在缩小。

一方面,tensorflow的诞生早于pytorch,工业界对新鲜事物的追逐,不像学术界那样热切,使用tensorflow已成行业惯性。

并且,许多企业的代码都是基于tensorflow搭建的,想要迁移到pytorch上,并非易事。

另一方面,相比于pytorch,tensorflow本身就是为工业界量身打造的。

相比于研究实验,工业界会有更多的限制和要求,比如:

· 不用python。python在服务器上运行时开销太大,有些公司承受不来。

· 可移动性。移动二进制文件中没法嵌入python解释器。

· 服务。无停机更新,模型间无缝切换,可预测时间的批处理,等等等等。

tensorflow在这些方面显然比pytorch做得好得多。比如,训练好模型,然后使用tf lite进行部署,是目前最可靠的生产管道之一。

有网友举了个例子:

tensorflow能够将模型导出到coreml android模型中,也能很容易地将其转移到gcp(谷歌云端平台)环境等任何形式的生产环境中。

相比之下,pytorch的部署有些让人头秃:模型无法导出到非python环境,无法优化,无法在移动设备上运行(随着pytorch 1.3的发布,无法在移动端部署的问题已经得到解决)。

况且,tensorflow还有keras这个好伙伴呢。

不过,也有网友认为,pytorch在工业界取得主导地位,只是时间问题。

毕竟在2018年的顶会上,tensorflow还是主流呢。仅仅一年时间,王座就已易主。

pytorch势头猛烈,但tensorflow也没有坐以待毙。

一个有趣的现象是,现在,这两个机器学习框架呈现出了“融合”的趋势。

十一假期,tensorflow 2.0正式登场,进一步整合tensorflow和keras,增强易用性,官方表示,这是一个快速、可扩展、可投入生产的灵活而强大的平台。

keras的作者françois chollet甚至说:“tensorflow 2.0是一个来自未来的机器学习平台,它改变了一切。”

在默认的eager execution模式下,tensorflow 2.0能提供pytorch eager模式下的大部分优点,比如易用性、可调试性等。

并且,针对tensorflow的api过于复杂这个问题,2.0版本也提供了更易用的api。模型的训练和serving都无缝集成在了基础框架中。

pytorch这边,2018年底引入了jit编译器和“torchscript”,增加图形功能。

就在今天,pytorch 1.3发布,新增移动端部署、量化和命名张量等功能。

机器学习框架未来的游戏规则会如何改变,还真令人期待呢。

最后,介绍下这份详细报告的作者:

horace he,来自康奈尔大学,是2016年入学的本科生。

自从上了大学,他每个暑假都在大厂实习:2017年是facebook实习软件工程师,2018年是谷歌的实习软件工程师,2019年在facebook做pytorch实习生。

另外,少年还是vscodevim (标星6.2k) 的主要贡献者之一:

那么,tensorflow和pytorch,你会pick谁?

参考资料:

https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/

https://towardsdatascience.com/which-deep-learning-framework-is-growing-fastest-3f77f14aa318

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(qbitai)对话界面,回复“招聘”两个字。

量子位 qbitai · 头条号签约作者

վ'ᴗ' ի 追踪ai技术和产品新动态

山东群英会