位置: IT常识 - 正文

PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持(pytorch1.5)

编辑:rootadmin
PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持

推荐整理分享PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持(pytorch1.5),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch 1.8,pytorch 1.8.1,pytorch1.5,pytorch 1.7,pytorch1.5,pytorch 1.1.0,pytorch 1.7,pytorch 1.7,内容如对您有帮助,希望把文章链接给更多的朋友!

内容导读:近日,PyTorch 团队在官方博客宣布 Pytorch 1.13 发布。本文将详细围绕新版本的 4 大亮点展开介绍。

据官方介绍,PyTorch 1.13 中包括了 BetterTransformer 的稳定版,且不再支持 CUDA 10.2 及 11.3,并完成了向 CUDA 11.6 及 11.7 的迁移。此外 Beta 版还增加了对 Apple M1 芯片及 functorch 的支持。

PyTorch 1.13 不可错过的亮点汇总:

BetterTransformer 功能集 (feature set) 支持一般的 Transformer 模型在推理过程中,无需修改模型即可进行 fastpath 执行 此外改进还包括对 Transformer 模型中常用 size 进行加速的 add+matmul 线性代数内核,现已默认启用嵌套 Tensor。

不再支持旧的 CUDA 版本,引入 Nvidia 推出的最新 CUDA 版本。这使得 PyTorch 和新的 NVIDIA Open GPU 内核模块得以支持 C++17 。

functorch 从单独软件包变为可直接通过 import functorch 导入 PyTorch 使用,无需再单独安装。

测试为 M1 芯片 Mac 提供本地构建,并提供更好的 PyTorch API 支持。

Stable Features1. BetterTransformer API

BetterTransformer 功能集 (feature set) 支持一般的 Transformer 模型在推理过程中,无需修改模型即可进行 fastpath 执行。

作为补充,PyTorch 1.13 中还针对 Transformer 模型中常用的 size,加速了 add+matmul 线性代数内核。

为了提升 NLP 模型性能,PyTorch 1.13 中的 BetterTransformer 默认启用嵌套 Tensor (Nested Tensor)。 在兼容性方面,执行 mask check 确保能提供连续 mask。

Transformer Encoder 中 src_key_padding_mask 的 mask check 可以通过设置 mask_check=False 屏蔽。该设置可以加快处理速度,而非仅提供对齐的 mask。

最后,提供了更好的报错信息,简化错误输入的诊断,同时为 fastpath execution 错误提供了更佳的诊断方法。

Better Transformer 直接集成到 PyTorch TorchText 库中, 这使得 TorchText 用户能够更轻松地利用 BetterTransformer 的速度及效率性能。

2. 引入 CUDA 11.6 和 11.7,不再支持 CUDA 10.2 和 11.3

CUDA 11 是第一个支持 C++17 的 CUDA 版本,不再支持 CUDA 10.2 是推进 PyTorch 支持 C++17 的重要一步,还能通过消除遗留的 CUDA 10.2 特定指令,来改进 PyTorch 代码。

CUDA 11.3 的退出和 11.7 的引入,使得 PyTorch 对 NVIDIA Open GPU 内核模块的兼容性更好, 另一个重要的亮点是对延迟加载 (lazy loading) 的支持。

CUDA 11.7 自带 cuDNN 8.5.0,包含大量优化,可加速基于 Transformer 的模型,库的 size 减少 30% ,并对 runtime fusion engine 进行了各种改进。

Beta Features1. functorch

与 Google JAX 类似,functorch 是 PyTorch 中的一个库,提供可组合的 vmap(矢量化)和 autodiff 转换。 它支持高级的 autodiff 用例(在 PyTorch 中难以表达),包括:

模型集成 model ensembling

高效计算 Jacobian 和 Hessians

PyTorch 1.13 正式发布:CUDA 升级、集成多个库、M1 芯片支持(pytorch1.5)

计算 per-sample-gradients 或其他 per-sample quantities

PyTorch 1.13 内置 functorch 库,无需单独安装。通过 conda 或 pip 安装 PyTorch 后,就可以在程序中 import functorch 了。

2. 集成英特尔 VTune™ Profiler 及 ITT

PyTorch 用户如果希望在英特尔平台上用底层性能指标来分析每个算子的性能时,可以在英特尔 VTune™ Profiler 中可视化 PyTorch 脚本执行的算子级 timeline。

with torch.autograd.profiler.emit_itt(): for i in range(10): torch.itt.range_push('step_{}'.format(i)) model(input) torch.itt.range_pop()3. NNC:增加 BF16 和 Channels last 支持

通过在 NNC 中增加 Channels last 和 BF16 的支持,TorchScript 在 x86 CPU 上的 graph-mode 推理性能得到了显著提升。

在英特尔 Cooper Lake 处理器上,通过这两项优化,可以使得视觉模型性能达到 2 倍以上的提升。

通过现有的 TorchScript、Channels last 以及 BF16 Autocast API, 可以实现性能提升。如下所示,NNC 中的优化将迁移到新的 PyTorch DL Compiler TorchInductor 中:

import torchimport torchvision.models as modelsmodel = models.resnet50(pretrained=True)# Convert the model to channels-lastmodel = model.to(memory_format=torch.channels_last)model.eval()data = torch.rand(1, 3, 224, 224)# Convert the data to channels-lastdata = data.to(memory_format=torch.channels_last)# Enable autocast to run with BF16with torch.cpu.amp.autocast(), torch.no_grad():# Trace the modelmodel = torch.jit.trace(model, torch.rand(1, 3, 224, 224)) model = torch.jit.freeze(model) # Run the traced model model(data)4. 增加对 M1 芯片苹果设备的支持

自 1.12 版本以来,PyTorch 一直致力于为苹果 M1 芯片提供原生构建。PyTorch 1.13 进一步改进了相关 API。

PyTorch 1.13 在 M1 macOS 12.6 实例上进行了除 torch.distribution 之外的所有子模块测试。这些改进后的测试,可以修复 cpp 扩展以及某些输入的 convolution correctnes 等功能。

注意:该功能要求 M1 芯片的 macOS 12 或更高版本,并使用原生 Python (arm64) 。

Prototype Features1. 针对 AWS Graviton 的 ACL 后端支持

PyTorch 1.13 通过 Arm Compute Library (ACL) 在 aarch64 CPU 上实现了 CV 和 NLP 推理的实质性提升, 这使得 ACL 后端得以支持 PyTorch 及 torch-xla 模块。亮点包括:

启用 mkldnn+acl 作为 aarch64 torch wheel 的默认后端

为 arch64 BF16 设备启用 mkldnn matmul operator

将 TensorFlow xla+acl 功能引入 torch-xla。

2. CUDA Sanitizer

启用后,Sanitizer 将开始分析因用户的 PyTorch 代码而调用的底层 CUDA operation,以检测数据争用报错 (data race error)。

注:这些报错是由源自不同 CUDA Stream 的不同步数据访问而导致的。

与 Thread Sanitizer 类似,定位到的报错会与错误访问的堆栈 trace 一起打印出来。

机器学习应用中损坏的数据很容易被忽略,报错有时候也并不显现,因此用于检测并定位错误的 CUDA Sanitizer 就格外重要了。

3. 部分支持 Python 3.11

用户可通过 pip 下载支持 Python 3.11 的 Linux 二进制文件。不过这个功能只是一个 preview 版,Distributed、Profiler、FX 和 JIT 等功能并未完全支持。

从 0 到 1,学习 PyTorch 官方教程

OpenBayes.com 现已上线多个中文 PyTorch 官方教程,包括但不限于 NLP,CV,DL 等多个实例,您可以访问控制台,在公开资源中搜索查看。

运行 PyTorch 中文教程,点击文末阅读原文,或访问以下链接:

https://openbayes.com/console/public/tutorials

本文链接地址:https://www.jiuchutong.com/zhishi/299174.html 转载请保留说明!

上一篇:HBuilderX 安装教程(hbuilderx安装教程视频)

下一篇:sklearn预测评估指标计算详解:准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1score(sklearn average precision)

  • iQOO10怎么不显示图标名称(iqoo3不显示数据图标)

    iQOO10怎么不显示图标名称(iqoo3不显示数据图标)

  • 红米k50屏幕尺寸多大(红米k50最严重缺点)

    红米k50屏幕尺寸多大(红米k50最严重缺点)

  • 小米小爱老师499和999的区别(小米小爱老师忘记密码怎么办)

    小米小爱老师499和999的区别(小米小爱老师忘记密码怎么办)

  • 华为手机手电筒快捷键是什么(华为手机手电筒怎么添加到桌面)

    华为手机手电筒快捷键是什么(华为手机手电筒怎么添加到桌面)

  • 微信怎么取消未读消息小红点(微信怎么取消未满十八岁游戏限制)

    微信怎么取消未读消息小红点(微信怎么取消未满十八岁游戏限制)

  • 快手评论怎么突然没了(快手评论怎么突然出现自己的图片)

    快手评论怎么突然没了(快手评论怎么突然出现自己的图片)

  • 表格乘号怎么打(怎么输入乘号x)

    表格乘号怎么打(怎么输入乘号x)

  • 快手不支持音乐格式怎么回事(快手音乐不能使用显示不支持音乐格式)

    快手不支持音乐格式怎么回事(快手音乐不能使用显示不支持音乐格式)

  • b站为啥占好多手机内存(b站为啥占好多内存)

    b站为啥占好多手机内存(b站为啥占好多内存)

  • 台式电脑显示器闪屏是什么原因(台式电脑显示器曲屏好还是直屏好)

    台式电脑显示器闪屏是什么原因(台式电脑显示器曲屏好还是直屏好)

  • 中国联通hd图标什么意思(中国联通hd图标图片)

    中国联通hd图标什么意思(中国联通hd图标图片)

  • oppo手机出现hd怎么关闭(oppo手机出现hd怎么关闭不了怎么办)

    oppo手机出现hd怎么关闭(oppo手机出现hd怎么关闭不了怎么办)

  • ios12memoji在哪(iphone12模拟按键怎么调)

    ios12memoji在哪(iphone12模拟按键怎么调)

  • 刚保存的ppt在哪找(刚保存好的ppt不见了怎么办)

    刚保存的ppt在哪找(刚保存好的ppt不见了怎么办)

  • 苹果系统为什么不能下载小红书(苹果系统为什么好用)

    苹果系统为什么不能下载小红书(苹果系统为什么好用)

  • 苹果手机的云盘在哪找(苹果手机的云盘可以关掉嘛)

    苹果手机的云盘在哪找(苹果手机的云盘可以关掉嘛)

  • 苹果6S设置信号小圆点(iphone6s信号弱怎么解决)

    苹果6S设置信号小圆点(iphone6s信号弱怎么解决)

  • 手机里wadl文件是什么(手机wdg文件)

    手机里wadl文件是什么(手机wdg文件)

  • 电话打过去通话结束(电话打过去通话中对方知道吗)

    电话打过去通话结束(电话打过去通话中对方知道吗)

  • tpc数据线不分正反吗(type-c数据线正负极)

    tpc数据线不分正反吗(type-c数据线正负极)

  • uki好友都是附近的吗(uki有附近人吗)

    uki好友都是附近的吗(uki有附近人吗)

  • 微云如何备份微信聊天记录(微云备份微信怎么恢复)

    微云如何备份微信聊天记录(微云备份微信怎么恢复)

  • nova5pro耳机孔在哪里(nova5ipro耳机插口)

    nova5pro耳机孔在哪里(nova5ipro耳机插口)

  • 手机克隆在哪里找(苹果14promax手机克隆在哪里)

    手机克隆在哪里找(苹果14promax手机克隆在哪里)

  • 小爱音箱怎么设置对话(小爱音箱怎么设置wifi)

    小爱音箱怎么设置对话(小爱音箱怎么设置wifi)

  • 快手怎么开直播游戏(快手怎么开直播卖货)

    快手怎么开直播游戏(快手怎么开直播卖货)

  • 福利费进项税额转出会计分录账务处理
  • 退回的企业所得税怎么做账务处理
  • 公司租赁个人车辆税率是多少
  • 运输公司税率和税种
  • 城建税减半从什么时候开始
  • 企业捐赠灾区
  • 小企业需要计提法定盈余公积吗
  • 小规模免哪些税
  • 小规模纳税人增值税优惠政策2023
  • 个人独资企业经营所得税优惠政策
  • 一般纳税人企业是什么意思
  • 企业所得税预缴计算方法
  • 动漫产业增值税优惠政策
  • 建设单位对施工单位的管理要求
  • 股权转让后没有给转让费怎么办
  • 企业法人投资股4 账户
  • 设备租赁公司购进设备怎么做账
  • 应付未付的职工工资属于什么会计科目
  • 网上纳税申报怎么填
  • 库存商品做账
  • 怎么查找企业核算报告
  • 营改增后还有营业费用吗
  • 物业公司场地租赁费怎么开票
  • 2020金税四期上线
  • 吊装费和吊车费是一样的不?
  • 员工误餐费的会计分录
  • 矿产资源补偿费征收管理规定
  • 母公司计提子公司投资收益
  • 免税农产品购进怎么做账
  • 企业计提的坏帐会计分录
  • 税务实名认证是不是就是税务登记
  • 怎么激活win10专业版
  • edge弹窗
  • 计提五险一金的分录怎么写
  • 多收不用退的货物怎么办
  • ros call
  • 购买轿车增值税可抵扣吗?
  • 会计差错及账项调整
  • js的发展历史
  • 免税需要什么条件
  • 支付宝手机网站支付不风控
  • php中自定义函数的语法格式
  • windowsserver2016激活密钥
  • php destruct
  • 公司车辆保险费要交印花税吗
  • 餐饮业会计做账怎么做
  • 汽车的计提折旧
  • 债券承销费是指什么费用
  • 删除mysql重复数据
  • ubuntu打开设置
  • 累计摊销的会计分录有哪些
  • 国土资源税的计税依据
  • 工程违约金账务处理规定
  • 什么是补偿性余额,对银行借款的成本有何影响?
  • 公司增资怎么处理
  • 商贸公司库存商品进销存报表怎么做
  • sql批量导出数据
  • centos下安装jdk
  • win8连接网络
  • VMware虚拟机中卸载java命令
  • linux ./ 命令
  • 一岁的宝宝可以喝枸杞水吗
  • win10字体边缘模糊
  • win7访问共享文件
  • win10浏览器下载不了软件怎么回事
  • 虚拟主机 推荐
  • unity点击播放声音
  • shell脚本调用脚本
  • fw开发
  • c# unity 教程
  • android实现底部菜单
  • 常见python函数
  • 简述javascript
  • 广东高速公路电子发票服务来平台
  • 出口退税报关单在哪里打印
  • 购进货物计入什么科目
  • 徐州第三税务分局
  • 建筑工程开票要在项目所在地
  • 怎么查国税
  • 个人的车租给公司保险可以入账吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设