放弃自研转向PyTorch!估值二百多亿的Chainer母公司倒戈

还有人在用Chainer吗?可能很多开发者都没有听说过这个名字,但是提起同类型的TensorFlow、Keras、Caffe框架,大部分开发者应该就懂这个框架的作用了。出现至今,Chainer就被冠以“小众”的称号。如今,属于Chainer的时代也要结束了,其母公司Preferred Networks(以下简称“PFN”)正式宣布转向PyTorch,随着最新升级版本v7的发布, Chainer将进入维护阶段。Preferred Networks将为Chainer用户提供文档和库以便他们将项目迁移至PyTorch。

Chainer终是落下帷幕

12月5日,日本人工智能领域初创公司Preferred Networks总裁兼CEO Toru Nishikawa宣布,为加快深度学习技术的实施以及探索自身更具竞争优势的新领域,公司计划逐步将其深度学习框架(研究和开发的基础技术)从Chainer迁移到PyTorch

同时,公司还将与Facebook和PyTorch社区的其他贡献者合作,积极参与PyTorch的开发。随着最新升级版本v7的发布, Chainer将进入维护阶段。Preferred Networks将为Chainer用户提供文档和库以便他们将项目迁移至PyTorch。

Toru Nishikawa就这一商业决定做出了如下解释:

“自开始使用深度学习框架以来,Chainer一直是我们能与丰田、发可那等生意伙伴展开合作的基础技术支撑。正是因为Chainer,我们才能有机会与英伟达微软等大型跨国公司合作。有了合作伙伴、社区和用户的大力支持才有了现在的Chainer,Chainer对公司的重要性不言而喻。所以从Chainer迁移到PyTorch对公司来说是一个艰难的决定。但是,我们坚信,在参与开发PyTorch后,公司能够进一步加快深度学习技术的实施,革新Chainer开发技术,同时寻找对公司来说具有竞争优势的新领域。”

为什么要迁移?

相比于TensorFlowKerasCaffe这些深度学习框架,Chainer在除日本之外的其他地区的存在感一直不是很高,尽管其GitHub代码库非常活跃,但却并没能引起业界应有的重视。

自2015年6月开源以来,Chainer一直作为基础技术支持PFN的研发,并为其业务增长做出了重大贡献。它独特的Define-by-Run方法受到了研究员和开发者社区的青睐。它可以让用户直观、灵活地构建复杂的神经网络,加快深度学习技术的进步,被当前主流深度学习框架视为标准方法广泛使用。

近年来,深度学习框架逐步成熟,将深度学习框架本身当成竞争优势的时代已经结束。PFN认为,目前阶段,与其做一些无关痛痒的改变从竞争者中脱颖而出,还不如大刀阔斧地革新技术,与像Facebook这样的PyTorch社区贡献者合作,确保PyTorch在健康的生态系统中保持可持续增长,从而进一步推动深度学习技术的发展。

据Toru Nishikawa称,其实Chainer是PyTorch的灵感来源之一,PyTorch的autograd库和nn.Module本身是基于Chainer的API设计的。虽然Chainer在操作上已经足够简单便捷,但是它覆盖的使用者和应用范围相比于PyTorch相去甚远。PyTorch 在学术界日益占据主导地位,让我们来看一下数据。下图显示了 PyTorch 论文和使用 TensorFlow 或 PyTorch 的论文之间的比率。PyTorch今年在机器学习领域的表现几乎碾压其他学习框架,69%的CVPR论文、75%以上的NAACL和ACL论文、50%以上的ICLR和ICML论文都使用了该框架。

目前,PyTorch已经成为增长最快的深度学习框架。仅在2019 年上半年,ArXiv 论文中 PyTorch 的引用量增长了 194%;PyTorch 平台的贡献者数量比去年增长了 50% 以上,达到近 1200 人。

PyTorch为什么深受研究人员喜爱?

简单。 它与 numpy 类似,非常 Python 化,并且可以很容易地与 Python 生态系统的其他部分集成。例如,你可以简单地在 PyTorch 模型中的任何地方插入一个 pdb 断点,这样就可以起作用了。如果是 TensorFlow 的话,调试模型需要一个活动的会话,最终会使事情变得更加棘手。

卓越的 API。 大多数研究人员更喜欢 PyTorch 的 API,而不是 TensorFlow 的 API。部分原因是 PyTorch 的设计更好,还有部分原因是因为 TensorFlow 需要通过多次切换 API ,从而阻碍了自身的发展(如,“layers”→“slim”→“estimators”→“tf.keras”)。

性能。 尽管 PyTorch 的动态图提供的优化机会严格来说很少,但还是有很多传闻称,PyTorch 的速度甚至比 TensorFlow 还要快。目前尚不清楚这些传闻究竟是否真的,但至少,在这一领域中,TensorFlow 并没有取得决定性的优势。

迁移是众望所归

PFN将把它的深度学习研究平台迁移到PyTorch,从而使机器学习开发能够实现灵活成型以及从研究到生产的平稳过渡。PyTorch背后是包括Facebook在内的庞大的开发者阵容,还拥有着专注于研发的开发者社区,它也是学术论文中最常用的框架之一。迁移后,PFN能有效地将其最新研究成果整合到研发活动中,并能对现有的Chainer资产加以利用(前提是这些现有Chainer资产已经转换成PyTorch资产)。PFN将与Facebook和开源社区的PyTorch团队合作共同促进PyTorch的开发,并在PFN开发的深度学习处理器MN-Core上支持PyTorch。

PFN将与Facebook和开源社区的PyTorch团队合作,为PyTorch的开发做出贡献,并支持目前由PFN开发的深度学习处理器MN-Core上的PyTorch。

针对PFN此举,Facebook公司和丰田研究院也发表了各自的看法:

Facebook人工智能基础设施副总裁Bill Jia:

“作为PyTorch的主要贡献者,我们很高兴像PFN这样的机器学习领域先行者能采用PyTorch作为未来开发框架,”Bill Jia说道。“PyTorch对前沿技术研究的实现以及其分布式训练和推理能力,能让PFN为客户快速创建原型并将ML模型部署到生产环境中。”

同时,考虑到组织在ML工具方面的专业知识,整个PyTorch社区都将从PFN代码贡献中受益。”

丰田研究院CEO Gill Pratt:

“丰田研究院(Toyota Research Institute,简称TRI)和丰田高级开发研究所(Toyota Research Institute – Advanced Development,简称TRI-AD)很高兴看到PFN做出这个决定,”Gill Pratt说道。“PFN最初创建了Chainer并一直在进行积极维护,这为我们在自动驾驶领域的研发和高级开发做出了巨大贡献。TRI和TRI-AD使用PyTorch也有一段时间了,他们认为采用PyTorch后,促进了我们对PFN深度学习的应用。”

最新版深度学习框架Chainer v7的主要特征以及CuPy v7通用矩阵计算库:

Chianer v7与基于C++的ChainerX之间相互操作更加流畅: · Chainer v7包含分布式深度学习工具包ChainerMN,大部分Chainer功能都支持ChainerX; · 添加了TabularDataset类,以灵活地处理多列数据集; · 整合ONNX和Chainer,Chainer v7可以通过ONNX与不同推理引擎一起使用;

关于最新版Chainer的全部功能介绍,可以访问这里

结语

一直以来,Facebook PyTorch和谷歌TensorFlow的较量从未停止。此次,日本PFN公司转战PyTorch是二者持续竞争的最新进展。不难预测,PyTorch的热度将持续走高,但现在推测它是否以及何时会形成垄断趋势还为时过早。

Preferred Networks背景介绍

据日经指数调查显示,Preferred Networks以3515亿日元(合32.4亿美元)的企业估值位列181家日本初创企业之首。自2014年成立以来,日本汽车制造商丰田一直与Preferred Networks密切合作,并已向该公司的深度学习、机器人和自动驾驶研发投入逾110亿日元(合1.01亿美元)。

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/IdHMSDpaA4stjNBrpdF1
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券