下周在 NeurIPS 大会上展示的最新顶尖研究中,PyTorch 仍然被广泛使用,在引用了某个框架的论文中,使用 PyTorch 的比例接近 70%。此外,我们很高兴地欢迎 Chainer 框架的维护者 Preferred Networks 加入 PyTorch 社区。他们的团队正全面转向使用 PyTorch 来开发其机器学习能力和服务。
这一增长印证了 PyTorch 专注于满足研究社区的需求,并且日益支持从研究到生产部署的完整工作流程。为了进一步支持研究人员和开发者,我们正在推出一系列新工具和库,用于大规模计算机视觉和弹性容错训练。在 GitHub 和我们的 NeurIPS 展位了解更多信息。
Preferred Networks 加入 PyTorch 社区
Preferred Networks, Inc. (PFN) 宣布计划将其深度学习框架从 Chainer 迁移到 PyTorch。作为这一转变的一部分,PFN 将与 PyTorch 社区及贡献者(包括来自 Facebook、Microsoft、CMU 和 NYU 的人员)合作,参与 PyTorch 的开发。
PFN 开发了 Chainer,这是一个引入了 Define-by-Run(也称为 Eager Execution,即动态图执行)概念的深度学习框架,用于支持和加速其深度学习开发。自 2015 年以来,Chainer 一直在 PFN 使用,用于利用最新的尖端技术快速解决现实世界中的问题。正如 PyTorch NeurIPS 论文中所述,Chainer 也是 PyTorch 初步设计的灵感来源之一。
PFN 在 CuPy、15 分钟 ImageNet、Optuna 等项目上推动了创新工作,这些项目突破了设计和工程的界限。作为 PyTorch 社区的一部分,PFN 将带来其富有创意的工程能力和经验,助力框架向前发展。此外,考虑到 PyTorch 在研究人员中广泛应用,PFN 迁移到 PyTorch 将使其能够有效整合最新的研究成果,加速其研发活动,并与社区合作,为 MN-Core(一个正在开发中的深度学习处理器)添加 PyTorch 支持。
我们非常高兴欢迎 PFN 加入 PyTorch 社区,并共同努力推进深度学习技术的发展这一共同目标。在此了解更多关于 PFN 迁移到 PyTorch 的信息。
弹性训练和大规模计算机视觉工具
PyTorch Elastic (实验性)
随着 BERT 等架构的出现以及模型参数数量增长到数十亿甚至数百亿,大规模模型训练正变得越来越普遍。为了在合理的时间内达到这种规模的收敛,需要使用分布式训练。
当前的 PyTorch 分布式数据并行 (DDP) 模块支持数据并行训练,其中每个进程训练相同的模型,但使用不同的数据分片。它支持批量同步、多主机、多 GPU/CPU 执行的机器学习训练。然而,DDP 存在一些缺点;例如,在获取所有请求的节点之前作业无法启动;节点因错误或临时问题失败后作业无法继续;作业无法合并稍后加入的节点;最后,存在缓慢/卡顿的节点时无法取得进展。
PyTorch Elastic 利用弹性分布式数据并行 (Elastic Distributed Data Parallelism),旨在解决这些问题,并为 PyTorch 构建一个通用框架/API,以实现这些数据并行训练工作负载的可靠和弹性执行。与纯 DDP 相比,它将提供更好的可编程性、更高的容错能力、更高的效率和更大规模的训练。
在此情境下,弹性意味着两点:1) 节点故障后作业能够继续进行(通过使用更少节点运行和/或纳入新主机并向其转移状态);以及 2) 由于资源可用性变化或瓶颈,能够动态添加/移除节点。
虽然此功能仍处于实验阶段,但您可以在 AWS EC2 上试用,说明请见此处。此外,PyTorch 分布式团队正与 AWS 内部的多个团队紧密合作,以支持在 Amazon Sagemaker 和 Elastic Kubernetes Service (EKS) 等服务中进行 PyTorch Elastic 训练。敬请期待近期发布的更多更新。
新分类框架
图像和视频分类是内容理解的核心。为此,您现在可以利用一个新的端到端框架,用于大规模训练最先进的图像和视频分类模型。它使研究人员能够快速原型开发和迭代数十亿图像规模的大型分布式训练作业。优势包括
- 易用性 - 此框架采用模块化、灵活的设计,任何人都可以使用非常简单的抽象层在 PyTorch 之上训练机器学习模型。该系统还与 PyTorch Elastic 上的 AWS 进行了开箱即用的集成,便于进行大规模研究,并使在研究和生产之间迁移变得简单。
- 高性能 - 研究人员可以使用此框架在短短 15 分钟内完成 Resnet50 等模型在 ImageNet 上的训练。
您可以在 NeurIPS Expo 的多模态研究到生产研讨会上了解更多信息,或从 PyTorch Elastic Imagenet 示例此处开始。
欢迎在 NeurIPS 大会期间参观我们
PyTorch 团队将于 12 月 8 日在 NeurIPS 大会的行业展览期间举办研讨会。参加下面的会议了解更多信息,并参观位于展会现场的 PyTorch 展位和海报环节。在展位上,我们将进行 PyTorch 在 Cloud TPU 上运行快速神经风格迁移的互动演示 - 此处是预览。
我们还将发布一篇论文,详细阐述推动 PyTorch 实现的原则以及这些原则如何在其架构中得到体现。
多模态研究到生产 - 本研讨会将从将前沿研究转化为生产的角度,深入探讨计算机视觉(大规模图像分类和实例分割)以及翻译和语音(seq-to-seq Transformers)等多种模态。最后,我们还将演示如何使用 PyTorch 的最新 API,通过 Torchscript 将 Eager Mode 开发的模型转换为 Graph Mode,并对其进行量化,以便在服务器或移动设备上进行大规模生产部署。使用的库包括
- 分类框架 - 由 Facebook AI 开发的、用于大规模图像和视频分类研究的新开源 PyTorch 框架。它使研究人员能够快速原型开发和迭代大型分布式训练作业。基于该框架构建的模型可以无缝部署到生产环境。
- Detectron2 - 由 Facebook AI Research 计算机视觉团队构建的最新发布的物体检测库。我们将阐述相对于之前版本的改进,包括:1) 支持最新模型和新任务;2) 提高了灵活性,以支持新的计算机视觉研究;3) 可维护和可扩展,以支持生产用例。
- Fairseq - 通用序列到序列库,可用于多种应用,包括(无监督)翻译、文本摘要、对话和语音识别。
负责任和可复现的 AI - 本关于负责任和可复现的 AI 的研讨会将深入探讨一些重要领域,这些领域正在塑造我们如何解释、复现研究以及在构建 AI 时考虑隐私的未来。我们将介绍主要挑战,讲解解决方案,并在每次讲座后进行动手实践教程。
- 可复现性:随着提交给 arXiv 和会议的研究论文数量激增,扩展可复现性变得困难。我们必须解决以下挑战:通过标准化代码库来帮助扩展性,通过编写与硬件无关的代码来普及论文实现,通过记录作者用来使复杂系统运行的“技巧”来促进结果验证。为了提供解决方案,我们将深入探讨 PyTorch Hub 和 PyTorch Lightning 等工具,这些工具被世界上一些顶尖研究人员用来复现最先进的成果。
- 可解释性:随着模型复杂性的增加以及由此导致的透明度不足,模型可解释性方法变得越来越重要。模型理解既是一个活跃的研究领域,也是机器学习在各行业实际应用中的重点关注领域。为了进行实践操作,我们将使用最近发布的 Captum 库,该库提供了最先进的算法,为研究人员和开发者提供了一种简单的方法来理解神经元/层的重要性以及模型所做的预测。
- 隐私 AI:通过基于云或机器学习即服务平台进行 ML 的实际应用带来了一系列安全和隐私挑战。正在研究的技术方法包括:同态加密、安全多方计算、可信执行环境、设备端计算和差分隐私。为了让大家沉浸式地了解其中一些技术的应用方式,我们将使用 CrypTen 项目,该项目提供了一个基于社区的研究平台,以推动隐私 AI 领域向前发展。
我们要感谢整个 PyTorch 团队和社区对这项工作所做出的所有贡献。
致敬!
PyTorch 团队