前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >重磅!Facebook更新PyTorch 1.1,打算跨GPU分割神经网络

重磅!Facebook更新PyTorch 1.1,打算跨GPU分割神经网络

作者头像
AI科技大本营
发布2019-05-14 18:01:00
7580
发布2019-05-14 18:01:00
举报

作者 | 琥珀

出品 | AI科技大本营(ID:rgznai100)

时隔半年不到,PyTorch 已经从之前的 1.0 升级到 1.1 版本了。刚刚,Facebook 在年度开发者大会 F8 上宣布正式发布 PyTorch 1.1 版本,这是对 PyTorch 1.0 的一次大的功能升级。

PyTorch 产品经理 Joe Spisak 接受外媒 ZDNet 采访时,谈及了新推出的训练 AI 系统时”跨 GPU 分割神经网络“功能,他表示:“(神经网络)模型越来越大,它们真得非常大,而且训练一个模型的成本也非常高。在很多情况下,其 GPU 占比超过 16GB。例如,我们内部最新开发的神经网络模型超过 10GB,其参数数量基本超过 10 亿个。“

虽然 BERT 效果惊人,但其所需要的计算量也非常大。例如,BERT-Large 模型有 24 层、2014 个隐藏单元,它们在有 33 亿词量的数据集上需要训练 40 个 Epoch。

为了解决这类问题,PyTorch 1.1 增加了跨 GPU 分割神经网络的能力,成为”分片 “(sharding)模型。此前,PyTorch 允许开发人员将不同处理器中的训练数据分割,这在并行处理计算领域称为” 数据并行 “(data parallelism)。神经网络分割使得” 指令并行“成为可能,因此神经网络可以实现多指令、多数据的模式。

”一般来讲,这些模型均位于一个 GPU 中,开发人员处理分布式并行数据,这意味着,他们可以对数据集进行分割,然后在系统上复制模型。一旦训练这种较大规模的模型,模型本身就必须切分。可以将某个模型层或子图神经网络放在一个节点上,然后将另一个子图神经网络切换到另一个计算单元上。“

分片完成后,PyTorch 中的算法在模型训练时会将其结合起来。

实际上,跨 GPU 分割模型仅是 PyTorch 此次升级的其中一项新功能。

▌PyTorch 1.1 有什么新功能?

该框架主要有四大更新,总结起来如下:

  • 提供 TensorBoard 官方支持:

使用 TensorBoard 进行一级原生的可视化和模型调试。TensorBoard 是一个用于检查和理解训练脚本、张量和图神经网络的 Web 应用程序套件。PyTorch 现在通过一个简单的 “from torch.utils.tensorboard import SummaryWriter” 命令原生支持 TensorBoard。

  • 升级 JIT 编译器:

对即时(JIT)编译进行改进。这些改进包括修复各种 bug 一级 TorchScript 中的扩展功能,例如对字典、用户类和属性的支持。

  • 新 API:

支持布尔张量,更好地支持自定义递归神经网络(RNN)。

  • 分布式训练:

改进了 CNN 等场景模型的性能,增加了对多设备模块的支持,包括在使用分布式数据并行(DDP,Distributed Data Parallel)的同时跨 GPU 分割模型的能力,并支持在每次迭代中不适用所有参数的模块(例如控制流程,如自适应 softmax 等)。

值得注意的是,PyTorch 1.1 不再支持 CUDA 8.0。

▌生态的深度支持

PyTorch 升级新框架都不开生态社区的支持。

例如,在 2018 年 5 月在 F8 开发者大会上首次公布的 PyTorch 1.0 ,就与 Facebook 的 Caff2、ONNX 进行了更深入的整合。

而此次,Facebook 表示:还将继续与社区合作,开发共同项目和工具,旨在支持 ML 工程师满足从改进模型理解到使用 AutoML 方法进行自动调整等各种需求。其中包括已经在生产规模部署的 Facebook 开源资源,以及与 Google 等公司合作的产品和服务,主要有四方面:

  • BoTorch

BoTorch 是一个建立在 PyTorch 之上的贝叶斯优化库。

  • Ax

Ax 是一个用于管理自适应实验的机器学习平台,它使研究人员和工程师能够系统地探索大型配置空间,以优化机器学习模型、基础架构和产品。

  • PyTorch-BigGraph

PBG 是一个分布式系统,用于创建具有数十亿实体和数万亿边的非常大的图神经网络的嵌入。(AI 科技大本营此前报道

  • Google AI Platform Notebooks

Google AI Platform Notebooks 是 Google Cloud Platform 提供的全新托管的 JupyterLab 服务。数据科学家可以快速创建运行 JupyterLab 的虚拟机,并预装最新版本的 PyTorch。它还与 BigQuery、Cloud Dataproc、Cloud Dataflow 和 AI Factory 等 GCP 服务紧密集成,可以在不离开 JupyterLab 的情况下轻松执行完整的机器学习构建。

此外,Facebook 将与 fast.ai 展开更紧密的合作。

去年,双方联合发布了 fastai 1.0,一个基于 PyTorch 构建的开源深度学习库。目前,包括斯坦福 NLP、加州伯克大学 CV 课程正基于 PyTorch 进行授课。今年,Facebook 表示,将在牛津大学 Andrew Trask 和 OpenMined 推出深度学习入门课程的基础上,赞助新的 Udacity 课程。Facebook 还将提供奖学金,以支持学生在 Udacity 完整的 Nanodegree 课程中继续接受教育。

相关链接:

https://pytorch.org/

https://github.com/pytorch/pytorch/releases

https://ai.facebook.com/blog/pytorch-adds-new-dev-tools-as-it-hits-production-scale/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 TI 平台
腾讯云 TI 平台(TencentCloud TI Platform)是基于腾讯先进 AI 能力和多年技术经验,面向开发者、政企提供的全栈式人工智能开发服务平台,致力于打通包含从数据获取、数据处理、算法构建、模型训练、模型评估、模型部署、到 AI 应用开发的产业 + AI 落地全流程链路,帮助用户快速创建和部署 AI 应用,管理全周期 AI 解决方案,从而助力政企单位加速数字化转型并促进 AI 行业生态共建。腾讯云 TI 平台系列产品支持公有云访问、私有化部署以及专属云部署。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档