当前位置:2019白小姐全年资料 > 导出表 >

PyTorch 团队发表周年感言:感谢日益壮大的社群这一年迎来六大核

  雷锋网 AI 研习社按,2017 年 1 月,Facebook 开源 PyTorch,短短一年时间,PyTorch 便发展成一线开发者争相使用的工具。这一年间,有哪些研究人员对 PyTorch 的发展做出了贡献?关于PyTorch的经典课程有哪些?它经历了什么样的改变?研究人员又带来了哪些创新?

  在 PyTorch 开源一周年纪念日,其开发团队在官方 Blog 上发表《PyTorch, a year in....》一文,为我们解答了上述问题。雷锋网 AI 研习社将原文编译整理如下:

  距离我们开源 PyTorch 已经有一年时间。在这一年时间里,我们寻求建立一个灵活的深度学习研究平台,这是一段极棒的旅程。感谢所有使用 PyTorch,为 PyTorch 的发展做出贡献,并不断传播 PyTorch 的人,是你们一步一步建立了这样一个充满惊喜的社群。

  下文中,我们总结了 PyTorch 在这一年间取得的进展、相关新闻和亮点。

  PyTorch 社群是一个强健的有机体,感谢社群里喜爱 PyTorch 的研究人员和工程师。我们的社群构成多种多样,核心团队中有来自于多个国家、公司和大学的工程师和研究人员,如果没有他们的点滴贡献,PyTorch 不可能发展得像现在这么好。

  PyTorch 发布之后,一些用户很快就利用 PyTorch 实现了他们喜欢的论文,并在 Github 上发布代码。现阶段,开源代码是研究人员的重要工具。

  艾伦人工智能研究院发布AllenNLP,其中包含一些针对标准 NLP 任务的最先进模型,也有参考样例和一些易于使用的web demo。

  PyTorch 文件的下载量超过 50 万次,精确来说,数量是 651916 次;

  PyTorch 是一个以研究为中心的框架,因此,论文(与机器学习相关)中 PyTorch 的使用率也是我们关注的一点。

  发布 PyTorch 时,我们已经准备了优良的 API 文档,但是仅限于一些 ipython notebook 教程,虽然有用,但远远不够。

  Sean Robertson 和 Justin Johnson 基于PyTorch 写了很棒的 NLP 教程,他们还举了很多例子。Yunjey Choi 的教程非常优美,大多数模型的实现只需要 30 行或更少的代码。每个教程都提供新的方法,帮助用户更快地上手。

  我们也看到,很多大学的机器学习课程中把 PyTorch 作为重要工具,比如哈佛的 CS287。另外,如下三个在线课程均使用 PyTorch 来教学:

  过去一年间,我们完善了 PyTorch 的多项功能,改进其性能,并修复了大量 bug。大家可以在发布说明中看到我们做的所有更新和改进。以下是过去一年间一些瞩目的改进:

  随着梯度惩罚在多篇论文中的实现,以及随之而来的对二阶梯度法的研究,在 PyTorch 中实现高阶梯度必不可少。8 月,我们实现了一个通用接口,支持 n 阶导数,同时增加了支持高阶梯度函数的量。

  8 月,我们发布了一个小的分布式工具包,集合了许多流行的 MPI 方法。这个工具包覆盖 TCP、MPI、Gloo 和 NCCL2 等很多后端,支持多种类型的 CPU/GPU 集合操作和用例,并集成了 Infiniband 和 RoCE 等分布式技术。想要做到分布式比较困难,在最初的迭代中我们经常碰到 bug。在随后的版本中,我们提供的包更加稳定、性能更好。

  3 月,我们发布了一个支持稀疏张量的小工具包,基于这个工具包,我们在 5 月发布了带有 CUDA 支持的工具包。这个工具包很小,功能有限,用于实现 Sparse Embedding 以及深度学习中常用的稀疏范例。目前这个工具包仍很小,需要继续扩展——如果你想贡献自己的一份力,可以与我们联系。

  性能的提升是一场持久战,对 PyTorch 这样一个动态框架来说尤甚。在过去的一年里,我们极力提升其灵活性,从核心张量库到神经网络运算,PyTorch 的性能得到了极大提升。

  由于 PyTorch 是动态图框架,训练中,每次迭代时都必须创建一个新的图表,因此,框架开销必须很低,或者工作负载必须足够大。今年 8 月,DyNet 的作者(Graham Neubig 等)展示了 DyNet 在一些小的 NLP 模型上速度比 PyTorch 快得多。

  于是我们开始重写 PyTorch 的内部结构,这是一次大的调整,调整之后,每个算子的执行时间从十多微秒降低到一微秒。

  当重新设计 PyTorch 内部结构时,我们构建了ATen C++11 库,这个库现在控制所有的 PyTorch 后端。ATen 中有一个 API 能反映 PyTorch 的 Python API,这使得它非常适合用于张量计算——变得更加方便。

  大家经常对我们提出这样的请求——希望将 PyTorch 模型导出到另一个框架中。基于 PyTorch,开发者能进行快速的研究,一旦研究做完,他们想将得到的模型导入更大的项目。

  接下来一段时间,大家会听到更多关于 JIT 编译器的消息,它能改善 PyTorch 的性能。

http://ogelus.com/daochubiao/416.html
点击次数:??更新时间2019-05-14??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】