PyTorch发布一周年:盘点社区和工程大事件,后来者居上态势已显?

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
简介: 本文来自AI新媒体量子位(QbitAI) 今天,PyTorch公开发布一周年了。 这个自诞生之日起就火热的深度学习框架,这一年是怎样的成长轨迹?刚刚,PyTorch团队在官网上发文,盘点了PyTorch上一年的进展、大事件和社区情况,并和其他框架进行了对比。
本文来自AI新媒体量子位(QbitAI)

今天,PyTorch公开发布一周年了。

这个自诞生之日起就火热的深度学习框架,这一年是怎样的成长轨迹?刚刚,PyTorch团队在官网上发文,盘点了PyTorch上一年的进展、大事件和社区情况,并和其他框架进行了对比。

总体来说战绩是这样的——

  • GitHub上有87769行Python代码导入了torch
  • GitHub上3983个资源库在命名或描述中提到了PyTorch
  • PyTorch文件的下载量超50万次,具体说达到了651916次
  • 5400个用户写了21500篇帖子,在论坛上讨论过5200个话题
  • 在Reedit机器学习版块被被提及达131次,而TensorFlow在这段时间仅被提及255次

PyTorch也频频出现在各种会议中——

  • 在最近的ICLR2018中提交的论文中,有87篇提到PyTorch。同时有228篇提到TensorFlow,42篇提到Keras,32篇提到Theano和Matlab
  • arXiv每月平均提到PyTorch 72次,TensorFlow 273次,Keras 100次,Caffe 94次,Theano 53次

这些对比数据之外,PyTorch团队还整理了这一年社区的大事件和突破性进展。量子位则其重点,编译整理如下:

社区大事件

第一个现身社区的PyTorch程序包来自CMU博士Brandon Amos,他帮助简化了矩阵块的操作。

Jun-Yan Zhu, Taesung Park, Phillip Isola, Alyosha Efros和UC伯克利的团队发布了人气很高的Cycle-GAN and pix2pix,实现了图像到图像的转换。

项目地址:
https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

哈佛大学自然语言研究组(HarvardNLP)和Systran团队构建并改善PyTorch中OpenNMT系统。

项目地址:
https://github.com/OpenNMT/OpenNMT-py

推特上的MagicPony团队贡献了超分辨率工作的进展。

介绍地址:
https://twitter.com/Rob_Bishop/status/821793080877588480

Salesforce 研究院发布了一些程序包,包括PyTorch-QRNN。这是一种RNN,比CuDNN优化的标准LSTM快2倍到17倍,James Bradbury和他的团队也因此成为PyTorch社区中最活跃和最引人注目的力量之一。

PyTorch-QRNN项目地址:
https://twitter.com/Smerity/status/917472260851560448

Uber、美国东北大学和斯坦福的研究团队围绕Pyro和ProbTorch组了一个概率编程社区,积极开发torch分布的核心程序包。

英伟达的研究人员发布了三个高质量的库,可以实现pix2pix-HD、Sentiment Neuron和FlowNet2的相关论文,他们还分析了PyTorch中不同数据并行模型的可扩展性。

相关项目地址:
https://github.com/NVIDIA/sentiment-discovery
https://github.com/NVIDIA/flownet2-pytorch
https://github.com/NVIDIA/sentiment-discovery/blob/master/analysis/scale.md

艾伦研究院(Allen Institute for AI)发布了AllenNLP,里面包括先进的NLP模型参考实现,易于将web demo用于标准的NLP任务。

项目地址:
http://demo.allennlp.org/machine-comprehension

去年7月,Kaggle团队grt123夺冠关于肺癌检测的DataScience Bowl 2017,随后发布了他们的PyTorch实现。

项目地址:
https://twitter.com/PyTorch/status/881573658166267904

在可视化方面,Tzu-Wei Huang实现了TensorBoard-PyTorch插件,Facebook的人工智能研究也为他们的visdom可视化包发布了PyTorch兼容版。

相关项目地址:
https://github.com/lanpa/tensorboard-pytorch
https://github.com/facebookresearch/visdom

此外,Facebook AI研究院还发布了一些其他的项目,比如ParlAI、fairseq-py、VoiceLoop and FaderNetwork等,在多个领域实现了先进的模型和接口数据集。

工程大事件

在过去一年,PyTorch团队实现了多个功能,提高了性能。我们一起回顾一下:

高阶梯度

去年8月,PyTorch实现了一个可以接收n阶导数的通用接口,并增加了支持高阶梯度函数的范围。

分布式PyTorch

还是去年8月,PyTorch发布了小型分布式软件包,它用到了流行的MPI集合(MPI-collective)方法。该软件包有多个后端,如TCP、MPI、Gloo和NCCL2等,来支持各种类型的CPU/GPU集成操作和用例,并包含Infiniband和RoCE等分布式技术。

更接近NumPy

用户最大的需求之一是他们熟悉的NumPy特性。broadcasting和高级索引等功能很方便,为用户节省了大量时间。PyTorch实现了这些特性,并让API更接近NumPy。

稀疏张量

去年三月,PyTorch发布了一个支持稀疏张量的小程序包,五月发布了CUDA支持的稀疏包。该程序包可以实现深度学习中常用的稀疏范例的稀疏嵌入。

性能

关于性能的战斗还未停止,对想将灵活性最大化的动态框架PyTorch来说更是如此。在过去的一年里,PyTorch改进了从核心的张量库到神经网络operator的性能,能在board上快速编写微优化。

PyTorch为张量操作添加了专门的AVX和AVX2内联函数

编写了更快的GPU内核,用于常用的工作负载中

重写了几个神经网络operator的代码,如nn.Embedding等

此外,PyTorch将框架的开销减小了10倍

这事源于去年8月,DyNet的作者Graham Neubig等人展示了DyNet在小型NLP模型上的速度比PyTorch要快得多。之后,PyTorch重写了内部架构,将每个operator执行框架的开销从10微秒减少到1微秒。

ATen

重新设计PyTorch内部架构时,PyTorch团队还建造了ATen C++11库,现在所有的PyTorch后端都可以使用它。

输出模型到生产——支持ONNX和JIT编译器

将PyTorch模型导出到另一个框架是我们经常收到的一个请求。用户在PyTorch完成模型后,希望将其搭载到大型项目,但有时会遇到只能使用C++的尴尬境况。

因此,PyTorch建立了一个tracer,可将PyTorch模型输出为中间表示,用户可将其转换为ONNX格式输出至Caffe2、MXNet、TensorFlow等其他框架中,或直接连接到 CoreML或TensorRT这样的硬件加速库。

祝PyTorch一周岁生日快乐。

最后,附原文链接:
http://pytorch.org/2018/01/19/a-year-in.html

本文作者:安妮
原文发布时间:2018-01-20
相关文章
|
29天前
|
开发框架 前端开发 定位技术
Flutter框架中的插件市场及开源资源的利用方法。内容涵盖插件市场的扩展功能、时间节省与质量保证
本文深入探讨了Flutter框架中的插件市场及开源资源的利用方法。内容涵盖插件市场的扩展功能、时间节省与质量保证,常见插件市场的介绍,选择合适插件的策略,以及开源资源的利用价值与注意事项。通过案例分析和对社区影响的讨论,展示了这些资源如何促进开发效率和技术进步,并展望了未来的发展趋势。
36 11
|
4月前
|
前端开发 Linux API
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
【8月更文挑战第3天】无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案
|
4月前
|
人工智能 安全 开发者
OpenDevin出技术报告了,大模型Agent开发者必读
【8月更文挑战第25天】近期发布的OpenDevin技术报告备受瞩目,此报告由来自伊利诺伊大学香槟分校、卡内基梅隆大学等顶尖学府的研究员联合撰写。OpenDevin作为一个社区驱动的开放平台,旨在为AI软件开发者提供一个模拟通用代理的强大工具。平台采用事件流架构促进用户界面、代理与环境间的交互,并构建了包含沙盒操作系统和网络浏览器的任务执行环境。此外,它支持多代理协同作业及一系列评估标准,目前已涵盖15个评估基准。作为拥有160多位贡献者的社区项目,OpenDevin展现了极高的灵活性和安全性,同时也面临着技术门槛和进一步研发等挑战。
96 2
|
4月前
|
SQL 自然语言处理 JavaScript
社区供稿 | 新版本源2.0大模型发布:Yuan2-2B-July-hf
近日,浪潮信息的新一代基础语言大模型源2.0 迎来了重要更新。
|
4月前
|
运维 监控 安全
谷歌生产服务的事件管理方法
谷歌生产服务的事件管理方法
42 9
|
7月前
|
安全 开发者 Docker
总结反思 持续进步-开源即时通讯(IM)项目OpenIM 新版本release-v3.7发布
背景 过去,我们团队对开源项目的认知较浅,过分追求进度,而忽视了代码的质量和规范。这导致了一些问题,例如部署流程设计不当:流程复杂、不规范,以及Mac与Windows部署的明显缺陷。这些问题不仅给开发者带来了困扰,也增加了社区维护的难度。 针对这些挑战,我们团队进行了深刻的反思并总结出了相关问题。目前,我们正在专注于提高代码质量和规范化工作,并在完善我们的开源贡献流程,以吸引更多贡献者参与。我们相信这是关键步骤,以扩大社区的影响力并将OpenIM发展成为一流的开源项目。 为此,我们已规划推出release-v3.7版本,该版本将全面改造部署、规范和流程等方面,并且与3.6版本数据完全兼容。
162 0
|
7月前
|
小程序 安全 物联网
社区每周丨通过模板开发小程序文档更新及蚂蚁数据安全星计划推出(7.17-7.21)
社区每周丨通过模板开发小程序文档更新及蚂蚁数据安全星计划推出(7.17-7.21)
71 11
|
7月前
|
Web App开发 小程序 JavaScript
社区每周丨基础库更新至 2.8.7及3月社区有奖活动发布
社区每周丨基础库更新至 2.8.7及3月社区有奖活动发布
78 11
|
7月前
|
前端开发 JavaScript IDE
蚂蚁CodeFuse新版发布,前端能力优化,支持安卓开发
蚂蚁百灵研发助手 CodeFuse 插件发布新版,本版本新增支持 Android Studio,并针对 JavaScript、TypeScript 等前端语言优化了模型效果,同时还将输出Token增加到最多 1024 个。目前 CodeFuse 处于邀请测试阶段,欢迎各位开发者前往官网申请资格参与测试。在之前已安装插件的用户需要下载最新版本,才可享受 CodeFuse 插件最新能力。
240 1
|
存储 人工智能 安全
下一篇
DataWorks