转发自公众号量子位
【新智元导读】PyTorch仅在一年时间内,数据增长近3倍,大有超越TensorFlow的趋势。现在,PyTorch已经与谷歌TPU协同工作,谷歌不仅仅将TPU用于自己的AI开发框架,还希望尽可能获得更多的云计算客户和研究人员。
框架工具哪家强?TensorFlow的王冠可能要不保。
最近,Reddit上的一位博主简单粗暴的统计了一下2018年至2019年,ICRL论文中所涉及到的主流框架工具TensorFlow、PyTorch和Keras的搜索结果数,变化如下:
TensorFlow:228→266
Keras:42→56
PyTorch:87→252
从使用量来看,TensorFlow最受欢迎的,其次是PyTorch,TensorFlow依旧是当之无愧的老大哥。但是从增长趋势来看,PyTorch仅在一年时间内,数据增长近3倍。
尽管只是统计了ICRL一个会议的论文,但是PyTorch的势头真是猛啊,会不会取代TensorFlow?
今年3月,手握 ArXiv Sanity 大数据、现在主管特斯拉人工智能部门的 Andrej Karpathy,也给出了精确的排名结果(过去一个月内)。
各个框架在论文中被提到(单次计算)的比例分别是:
TensorFlow 14.3%
PyTorch 4.7%
Keras 4.0%
Caffe 3.8%
Theano 2.3%
Torch 1.5%
MXNet、Chainer 和 CNTK 均小于 1%:
也就在昨天,PyTorch刚刚发布1.0预览版,谷歌云表示:“我们也要拿下它!”
谷歌云:热烈欢迎PyTorch
谷歌云表示,随着PyTorch 1.0预览版的到来,其AI平台和服务将支持PyTorch。
PyTorch是一个深度学习框架,旨在实现简单灵活的实验。该框架现在支持完全混合的Python和C / C ++前端,以及生产环境中的快速本机分布式执行。
PyTorch 1.0将即时模式和图形执行模式融合在一起,为生产的研究和性能优化提供了灵活性。更具体地说,PyTorch 1.0不是强制开发者重写整个代码以实现优化或从Python迁移,而是提供了一个混合的前端,使开发者能够在用于原型制作的即时模式和用于生产的图形执行模式之间无缝地共享大部分代码。
此外,ONNX本身被加入到PyTorch 1.0中作为一种模型输出格式,这使得PyTorch 1.0中的模型可与其他AI框架进行互操作。ONNX还可用作加速运行时间或硬件特定库的集成接口。这使得开发人员可以完全自由地混合和匹配最佳的AI框架和工具,而无需采用资源密集型的定制工程。
再来看谷歌云。
虽然TensorFlow江湖地位没的说,但是谷歌云的目标是全方位支持机器学习从业者:包括新手小白学生、企业家,甚至是世界顶尖的研究和工程团队。ML开发人员对框架工具的选择各有不同,谷歌云已经将一些最流行的开源框架集成到产品和服务中,包括TensorFlow、PyTorch、scikit-learn和XGBoost。
在谷歌云的博客中,介绍了在以下几方面对Pytorch1.0的支持:
深度学习VM图像
谷歌云平台提供了一组虚拟机(VM)映像,其中包含使用各种深度学习框架所需的所有内容。谷歌云平台已经提供以社区为中心的PyTorch VM镜像有一段时间了,但随着PyTorch1.0预览版的发布,“特意”提供了一个包含该版本的新VM镜像。
这将是轻松高效使用PyTorch1.0预览版的最快方法:谷歌云已经设置了NVIDIA驱动程序,甚至预装了Jupyter Lab,并提供了示例PyTorch教程。
Kubeflow
Kubeflow是一个开源平台,旨在使端到端ML pipeline易于部署和管理。Kubeflow目前是支持PyTorch的, 其社区已经开发了一个PyTorch包,只需两个命令就可以安装在Kubeflow部署中。
此外,谷歌云还与英伟达合作,在Kubeflow中扩展了TensorRT包,以支持提供PyTorch型号。谷歌云的目标是让Kubeflow成为构建可移植的、可伸缩的和可组合的PyTorch pipeline的最简单方法。
TensorBoard集成
许多PyTorch用户表示,希望与TensorBoard(一种流行的机器学习可视化工具套件)进行更深入的集成。 谷歌云认为这是一个好主意,TensorBoard和PyTorch开发人员现在正在合作,以便更简单地使用TensorBoard来监控PyTorch的训练。
Cloud TPU中的PyTorch
在过去几年中,机器学习的巨大进步很大程度得益于计算机能力的急剧增长,而计算机能力可以用来训练和运行ML模型。
这种巨变促使谷歌开发了三代定制ASIC,称为“Tensor Processing Units”或TPU,专门用于机器学习。谷歌云已将这些芯片的第二代和第三代作为Cloud TPU并将其引入。许多PyTorch用户表示有兴趣通过Cloud TPU加速其ML工作负载。
谷歌云表示,谷歌TPU团队的工程师们正在积极地与PyTorch核心开发者合作,将PyTorch连接到Cloud TPU。长期目标是让每个人都能享受PyTorch的简单性和灵活性,同时受益于Cloud TPU的性能、可伸缩性和成本效率。
作为一个起点,参与的工程师已经制作了一个原型,通过开源线性代数编译器XLA将PyTorch连接到Cloud TPU。 这个原型已经成功地在Cloud TPU上用PyTorch训练ResNet-50,谷歌云计划开源该原型,然后与PyTorch社区合作并将其扩展。
谷歌云表示,PyTorch1.0只是一个开始,希望能与它有更深入的合作与互动。
谷歌云的野心:TPU加持,拿下开发者
谷歌和Facebook正在联手,让PyTorch与谷歌TPU协同工作,标志着这两家技术竞争对手罕见地达成了合作。
谷歌在2016年的年度开发者大会上首次发布了TPU,并将其作为公司和研究人员推动机器学习软件项目的一种更有效的方式。这家搜索巨头通过其云计算业务来达到销售TPU的目的。
随着越来越多的企业探索机器学习技术,谷歌、Facebook等公司已经创建了自己的人工智能软件框架,基本上是编码工具,目的是让开发人员更容易创建自己的机器学习驱动软件。这些公司还在开源模型中免费提供了这些AI框架,以便在编码器中推广它们。
在过去的几年里,谷歌一直以其所谓的Tensorflow框架作为AI项目的首选编码工具来吸引开发人员,并且开发了TPU,以便更好地与Tensorflow一起工作。谷歌愿意更新其TPU以与Facebook的PyTorch软件合作,这一事实表明,该公司希望支持的不仅仅是自己的AI框架,还可能获得更多可能使用竞争框架的云计算客户和研究人员。
Information Services Group首席分析师Blair Hanley Frank表示,在开发智能系统方面,数据科学家和机器学习工程师有各种各样的开源工具可供选择。“这一合作是至关重要的一步,有助于确保更多的人能够使用最好的硬件和软件能力来创建人工智能模型。”
Frank表示,他预计“人工智能市场将出现更多这样的合作”。
扩展框架支持可以帮助像AWS、谷歌和微软这样的云提供商驱动他们平台的额外使用。弗兰克说,“这意味着他们应该支持尽可能广泛的开发工具,尽可能多地吸引客户。”
除了谷歌,Facebook还表示,亚马逊和微软正在“深化对PyTorch软件的投资”。
该贴被liuliying930406编辑于2018-10-10 15:13:45