模型部署到移动端_Pytorch1.4来了!定制移动端构建、支持分布式模型并行训练等...

1月16日,Facebook发布了PyTorch 1.4,对音频、视觉和文本库进行了升级。 在最新版本中,PyTorch 最大的变化在于增加了支持分布式模型并行训练、为 PyTorch Mobile 提供 Build 级别的支持、torch.optim 更新等多项新的特性。

27cbec0a25ee0c5bb355ffb1ce22487f.png

2019年旧金山PyTorch开发大会

支持分布式模型并行训练

1.4 版最大的亮点在于对分布式模型并行训练增加了支持。

官方表示,随着 RoBERTa 等万亿级别参数的大型模型出现,人们越来越需要模型并行训练了。因此本次版本会提供一个分布式 RPC(Romote Procedure Call)框架。

这一框架可以远程运行函数,在不复制真实数据的情况下查询远程对象。此外 PyTorch 还提供了 autograd 和优化器API,能够透明地运行后端并跨 RPC 边界更新参数。

相对应的,PyTorch 引入了名为 torch.distributed.rpc 的库。这是一个有基本构建单元的代码库,用于构建能够在模型训练和推断时远程运行的函数。

具体来说,这一个库有四个主要部分:RPC、Remote Reference、Distributed Autograd 和 Distributed Optimizer。

使用方法可参考官方文档

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

为 PyTorch Mobile 提供 Build 级别的支持

去年秋天,作为PyTorch 1.3版本的一部分,面向iOS和Android设备的PyTorch Mobile首次发布,速度提升主要由于量化、谷歌TPU支持和JIT编译器升级。

本次版本更新增加了更多对移动端的支持,如 fine-grain 级别的定制化构建脚本,这可以让移动端开发者优化代码库的大小,只包括他们的模型所使用的算子。

同时,在运行过程中显著减少对设备空间的占用。早期的结果说明,一个定制化的 MobileNetV2 比 PyTorch 的移动端库构建出来的要小 40% 到 50%。

对 Java binding 的支持

除了对 Python 和 C++的支持以外,本次更新增加了对 Java binding 的实验性支持。基于在 PyTorch Mobile 中对安卓开发的交互界面,用户可以从任何 Java 程序中调用 TorchScript 模型。

7f59f9decbebf5d56ac123c016bad550.png

如何在Java中使用PyTorch

当然,在本次更新中,Java binding 只在 Linux 版本上存在,且只能进行模型推理,官方将会在后续更新中扩展支持。

torch.optim 更新

除了以上三个重要特性外,还有一个新的小特性值得注意。torch.optim.lr_scheduler 现已支持“链式更新”(chaining)。即用户可以定义两个 schedulers,并交替在训练中使用。

其他的新特性更新包括对分布式、JIT 等方面的更新。

在改进方面值得注意的是对 C++的多项 API 进行了更新和调整,此外还有对 JIT、ONNX 的改进,以及 AMD 硬件的支持等,另外,nn.GELU 正式成为了激活函数的一种。

C++更新的 API 包括:

  • Torch::nn modules:包括卷积层、池化层、损失层、归一化层、激活层、Dropout层、嵌入层等。
  • Torch::nn::functional functions:包括卷积、池化、损失、归一化、相似度等方面的函数。

在改进的过程中,PyTorch 1.4 还修复了大约 30 个 Bug,涵盖 CUDA、损失函数、卷积、嵌入等多个方面的代码。

参考链接

https://venturebeat.com/2020/01/16/facebook-launches-pytorch-1-4-with-mobile-customization-and-java-support/

https://pytorch.org/blog/pytorch-1-dot-4-released-and-domain-libraries-updated/

视频点击预测大赛火热进行中

3万元奖金、证书、实习、就业机会已准备就位,快叫上小伙伴一起来组队参赛吧。

赛题:希望参赛者通过已有的用户信息、视频信息以及他们是否观看过某些视频,来预测我们推荐给这些用户的视频对方是否会观看。

个人、高等院校、科研单位、互联网企业、创业团队、学生社团等人员均可报名。

报名及组队时间:即日起至2020年2月1日

报名入口:

http://www.turingtopia.com/competitionnew/detail/e4880352b6ef4f9f8f28e8f98498dbc4/sketch

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值