PyTorch 1.0 正式版发布了!

在今年 10 月举办的首届 PyTorch 开发者大会上,Facebook 宣布了有关该框架生态的一系列更新,包括软件、硬件和教育方面的合作。同时放出了 PyTorch 1.0 预览版。近日,在 NeurIPS 2018 大会上,Facebook 官方宣布 PyTorch 1.0 正式版发布了。

GitHub 地址:https://github.com/pytorch/pytorch/releases/tag/v1.0.0

PyTorch 1.0 同时面向产品化 AI 和突破性研究的发展,「我们在 PyTorch1.0 发布前解决了几大问题,包括可重用、性能、编程语言和可扩展性。」Facebook 人工智能副总裁 Jerome Pesenti 曾在 PyTorch 开发者大会上表示。

随着 PyTorch 生态系统及社区中有趣新项目及面向开发者的教育资源不断增加,今天 Facebook 在 NeurIPS 大会上发布了 PyTorch 1.0 稳定版。该版本具备生产导向的功能,同时还可以获得主流云平台的支持。

现在,研究人员及工程师可以轻松利用这一开源深度学习框架的新功能,包括可在 eager execution 和 graph execution 模式之间无缝转换的混合前端、改进的分布式训练、用于高性能研究的纯 C++ 前端,以及与云平台的深度集成。

PyTorch 1.0 将加速 AI 从原型到生产部署的工作流程,并使这一进程更加容易开始。仅仅在过去的几个月里,就不断有人通过广泛普及的新教学课程上手 PyTorch,一些专家还构建了创新型项目,将这一框架扩展到从自然语言处理到概率编程的多个领域。


不断壮大的 PyTorch 社区


PyTorch 于 2017 年初首发,之后迅速成为 AI 研究者广泛使用的框架。PyTorch 灵活、动态的编程环境及对用户友好的界面使其非常适用于快速实验。其社区的迅速壮大有目共睹。如今,PyTorch 已经成为 GitHub 上增长第二快的开源项目,在过去的 12 个月里贡献者增加了 1.8 倍。

为对社区做出回馈,Facebook 将继续提供简单易学的教育课程,通过这些课程帮助开发者掌握用 PyTorch 创建、训练及部署机器学习模型的技巧。

教育课程将 AI 开发者凝聚在一起

去年,Udacity 和 Facebook 上线了一门新课程《Introduction to Deep Learning with PyTorch》和 PyTorch 挑战赛(PyTorch Challenge Program),它为持续 AI 教育提供奖学金。在课程发布后的短短几周内,数万学生积极参与该在线项目。此外,该教育课程开始通过现实世界的会面(meet-up)使开发者社区变得更有凝聚力,这种 meet-up 在全世界展开,从英国到印度尼西亚都有这样的开发者聚会。

完整课程可在 Udacity 网站上免费获取,之后开发者可以在更高级的 AI 纳米学位项目中继续 PyTorch 学习。

除了在线教育课程,fast.ai 等组织还提供过软件库,支持开发者学习如何使用 PyTorch 构建神经网络。fastai 库(简化了训练快速、准确的神经网络的流程)在发布两个月后即在 GitHub 获得 10000 星。

新项目拓展 PyTorch 

PyTorch 已被应用到从图像识别到机器翻译的多个用例中。因此可以看到开发者社区各种项目对 PyTorch 开发的拓展和支持。其中一些项目有:

  • Horovod:分布式训练框架,让开发人员可以轻松地使用单个 GPU 程序,并快速在多个 GPU 上训练。

  • PyTorch Geometry:PyTorch 的几何计算机视觉库,提供一组路径和可区分的模块。

  • TensorBoardX:一个将 PyTorch 模型记录到 TensorBoard 的模块,允许开发者使用可视化工具训练模型。

此外,Facebook 内部团队还构建并开源了多个 PyTorch 项目,如 Translate(用于训练基于 Facebook 机器翻译系统的序列到序列模型的库)。对于想要快速启动特定领域研究的 AI 开发者来说,PyTorch 支持项目的生态系统使他们能够轻松了解行业前沿研究。希望随着 PyTorch 不断发展,社区能够出现更多新的项目。

从云端启动

为了使 PyTorch 更加易于获取且对用户友好,PyTorch 团队继续深化与云平台和云服务的合作,如 AWS、谷歌云平台、微软 Azure。最近,AWS 上线了 Amazon SageMaker Neo,支持 PyTorch,允许开发者使用 PyTorch 构建机器学习模型,训练模型,然后将它们部署在云端或边缘设备,且性能提升高达 2 倍。开发者现在可以在谷歌云平台上创建一个新的深度学习虚拟机实例来尝试使用 PyTorch 1.0,参见:https://cloud.google.com/deep-learning-vm/docs/pytorch_start_instance。

此外,微软 Azure 机器学习服务现在也可以广泛使用了,它允许数据科学家在 Azure 上无缝训练、管理和部署 PyTorch 模型。使用 Azure 服务的 Python SDK,Python 开发者可以利用所需的分布式计算能力,使用 PyTorch 1.0 规模化训练模型,并加速从训练到生产的过程。

AI 开发者可通过云服务或本地安装来轻松使用 PyTorch 1.0,并遵循 PyTorch 官网上更新版分步教程执行任务,比如使用混合前端部署序列到序列模型,训练简单的 chatbot 等等。PyTorch 1.0 版本说明参见 PyTorch GitHub:https://github.com/pytorch/pytorch/releases。

原文链接:https://code.fb.com/ai-research/pytorch-developer-ecosystem-expands-1-0-stable-release/

工程FacebookPyTorch
41
相关数据
AWS机构

亚马逊网络服务系统(英语:Amazon Web Services,缩写为AWS),由亚马逊公司所创建的云计算平台,提供许多远程Web服务。Amazon EC2与Amazon S3都架构在这个平台上。在2002年7月首次公开运作,提供其他网站及客户端(client-side)的服务。截至2007年7月,亚马逊公司宣称已经有330,000名开发者,曾经登录过这项服务。

相关技术
亚马逊机构

亚马逊(英语:Amazon.com Inc.,NASDAQ:AMZN)是一家总部位于美国西雅图的跨国电子商务企业,业务起始于线上书店,不久之后商品走向多元化。目前是全球最大的互联网线上零售商之一,也是美国《财富》杂志2016年评选的全球最大500家公司的排行榜中的第44名。

https://www.amazon.com/
相关技术
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

TensorBoard技术

一个信息中心,用于显示在执行一个或多个 TensorFlow 程序期间保存的摘要信息。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

序列到序列技术

分布式计算技术技术

在计算机科学中,分布式计算,又译为分散式運算。这个研究领域,主要研究分布式系统如何进行计算。分布式系统是一组电脑,通过网络相互链接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。

推荐文章
biubiubiu