pytorch1.12发布,正式支持苹果m1芯片gpu加速,修复众多bug

机器学习算法与Python学习-公众号 机器学习算法与Python学习-公众号     2022-11-30     137

关键词:

点击 机器学习算法与Python学习选择加星标

精彩内容不迷路

机器之心报道

PyTorch 1.12 正式发布,还没有更新的小伙伴可以更新了。

距离 PyTorch 1.11 推出没几个月,PyTorch 1.12 就来了!此版本由 1.11 版本以来的 3124 多次 commits 组成,由 433 位贡献者完成。1.12 版本进行了重大改进,并修复了很多 Bug。

随着新版本的发布,大家讨论最多的可能就是 PyTorch 1.12 支持苹果 M1 芯片。

其实早在今年 5 月,PyTorch 官方就已经宣布正式支持在 M1 版本的 Mac 上进行 GPU 加速的 PyTorch 机器学习模型训练。此前,Mac 上的 PyTorch 训练仅能利用 CPU,但随着 PyTorch 1.12 版本的发布,开发和研究人员可以利用苹果 GPU 大幅度加快模型训练。

在 Mac 上引入加速 PyTorch 训练

PyTorch GPU 训练加速是使用苹果 Metal Performance Shaders (MPS) 作为后端来实现的。MPS 后端扩展了 PyTorch 框架,提供了在 Mac 上设置和运行操作的脚本和功能。MPS 使用针对每个 Metal GPU 系列的独特特性进行微调的内核能力来优化计算性能。新设备将机器学习计算图和原语映射到 MPS Graph 框架和 MPS 提供的调整内核上。

每台搭载苹果自研芯片的 Mac 都有着统一的内存架构,让 GPU 可以直接访问完整的内存存储。PyTorch 官方表示,这使得 Mac 成为机器学习的绝佳平台,让用户能够在本地训练更大的网络或批大小。这降低了与基于云算力的开发相关的成本或对额外的本地 GPU 算力需求。统一内存架构还减少了数据检索延迟,提高了端到端性能。

可以看到,与 CPU 基线相比,GPU 加速实现了成倍的训练性能提升:

有了 GPU 的加持,训练和评估速度超过 CPU

上图是苹果于 2022 年 4 月使用配备 Apple M1 Ultra(20 核 CPU、64 核 GPU)128GB 内存,2TB SSD 的 Mac Studio 系统进行测试的结果。测试模型为 ResNet50(batch size = 128)、HuggingFace BERT(batch size = 64)和 VGG16(batch size = 64)。性能测试是使用特定的计算机系统进行的,反映了 Mac Studio 的大致性能。

PyTorch 1.12 其他新特性

前端 API:TorchArrow

PyTorch 官方已经发布了一个新的 Beta 版本供用户试用:TorchArrow。这是一个机器学习预处理库,可进行批量数据处理。它具有高性能,兼具 Pandas 风格,还具有易于使用的 API,以加快用户预处理工作流程和开发。

(Beta)PyTorch 中的 Complex32 和 Complex Convolutions

目前,PyTorch 原生支持复数、复数 autograd、复数模块和大量的复数运算(线性代数和快速傅里叶变换)。在包括 torchaudio 和 ESPNet 在内的许多库中,都已经使用了复数,并且 PyTorch 1.12 通过复数卷积和实验性 complex32 数据类型进一步扩展了复数功能,该数据类型支持半精度 FFT 操作。由于 CUDA 11.3 包中存在 bug,如果用户想要使用复数,官方建议使用 CUDA 11.6 包。

(Beta)Forward-mode 自动微分

Forward-mode AD 允许在前向传递中计算方向导数(或等效地雅可比向量积)。PyTorch 1.12 显着提高了 forward-mode AD 的覆盖范围。

BetterTransformer

PyTorch 现在支持多个 CPU 和 GPU fastpath 实现(BetterTransformer),也就是 Transformer 编码器模块,包括 TransformerEncoder、TransformerEncoderLayer 和 MultiHeadAttention (MHA) 的实现。在新的版本中,BetterTransformer 在许多常见场景中速度快 2 倍,这还要取决于模型和输入特征。新版本 API 支持与先前的 PyTorch Transformer API 兼容,如果现有模型满足 fastpath 执行要求,它们将加速现有模型,以及读取使用先前版本 PyTorch 训练的模型。 

此外,新版本还有一些更新:

  • 模块:模块计算的一个新 beta 特性是功能性 API。这个新的 functional_call() API 让用户可以完全控制模块计算中使用的参数;

  • TorchData:DataPipe 改进了与 DataLoader 的兼容性。PyTorch 现在支持基于 AWSSDK 的 DataPipes。DataLoader2 已被引入作为管理 DataPipes 与其他 API 和后端之间交互的一种方式;

  • nvFuser: nvFuser 是新的、更快的默认 fuser,用于编译到 CUDA 设备;

  • 矩阵乘法精度:默认情况下,float32 数据类型上的矩阵乘法现在将在全精度模式下工作,这种模式速度较慢,但会产生更一致的结果;

  • Bfloat16:为不太精确的数据类型提供了更快的计算时间,因此在 1.12 中对 Bfloat16 数据类型进行了新的改进;

  • FSDP API:作为原型在 1.11 版中发布,FSDP API 在 1.12 版的发布中达到了测试版,并添加了一些改进。

更多内容请查看:https://pytorch.org/blog/pytorch-1.12-released/

觉得不错,请点个在看呀

linux系统适配苹果m1芯片的项目有新进展

导读苹果自研的M1芯片于2020年正式发布,从产品发布起,一些开发者便开始了将 Linux 系统适配M1芯片的项目。近日消息苹果自研的M1芯片于2020年正式发布,从产品发布起,一些开发者便开始了将Linux系统适配M1芯... 查看详情

windows11有望支持苹果m1mac?微软和高通的秘密协议即将到期

上个月5号,Windows11正式发布,虽然伴随着不断的骂声,但不可否认的是,还是有许多人想尝尝这“苹果味儿”的Windows界面,其中就包括部分M1Mac用户。可惜,今年9月微软曾明确表示在苹果M1芯片上的Windows1... 查看详情

pytorch宣布支持苹果m1芯片gpu加速!训练快6倍,推理提升21倍!(代码片段)

...c用户来说,这是令人激动的一天。今年3月,苹果发布了其自研M1芯片的最终型号M1Ultra,它由1140亿个晶体管组成,是有史以来个人计算机中最大的数字。苹果宣称只需1/3的功 查看详情

苹果发布新款m1芯片,安卓阵营被碾压,只能无奈哀叹

苹果发布了新款M系列芯片,性能较M1最高提升70%,已超越Intel的处理器,对安卓处理器更是碾压,可谓地球最强的PC处理器。苹果这次发布了两款芯片,分别是M1Pro和M1max,均由台积电以5nm工艺生产,M1Pro... 查看详情

苹果m1“痛失”windows11!

...indows11官宣,人们就对这个新系统充满好奇,虽然正式版尚未推出,可不断迭代的预览版给予了许多人提前“尝鲜”的机会。在这之中,部分苹果 查看详情

苹果m1/m2mac正式支持运行win11(代码片段)

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇转自:OSC开源社区(ID:oschina2013)微软与虚拟化软件Parallels达成合作,允许在AppleM1和M2Mac上的虚拟环境中运行Windows11。“ParallelsDesktop版... 查看详情

对标苹果m1,谷歌自研arm芯片或将于2023年发布?(代码片段)

????????关注后回复 “进群” ,拉你进程序员交流群????????整理|郑丽媛出品|CSDN(ID:CSDNnews)去年,苹果推出的自研芯片M1令世界瞩目,由此苹果也逐渐摆脱对英特尔的依赖。或许是因为看到了M1芯片发展... 查看详情

苹果m1“痛失”windows11!

...indows11官宣,人们就对这个新系统充满好奇,虽然正式版尚未推出,可不断迭代的预览版给予了许多人提前“尝鲜”的机会。在这之中,部分苹果Mac用户也“心痒痒”,通过各种方式尝试在其Mac上体验Windows11。... 查看详情

使用了12个月的苹果m1芯片,我发现了它的「致命」弱点

...出品|CSDN(ID:CSDNnews)首先,我仍然相信苹果M1的芯片在技术上取得了巨大的飞跃,再次站在了创新的最前沿,然而一旦新鲜感消失之后,裂痕就会慢慢显现,我们的看法也会逐渐改变。没有任何一... 查看详情

首发苹果m2!macbookpro正式开售,更像是一个增强版的a15?

...  译者|弯月出品|CSDN虽然一年一度的WWDC主要是一个软件发布会,但也总是时不时地给出一些硬件惊喜,今年也不例外。在WWDC22上,苹果公布了用于Mac(和iPad)平台的第二代苹果系统芯片——M2。这个时间点有... 查看详情

无法在苹果 m1 芯片中的颤振项目上执行 pod 安装

...英文标题】:Can\'tperformpodinstallonflutterprojectinapplem1chip【发布时间】:2021-11-0806:19:33【问题描述】:我最近做了一个Flutter项目,并将该项目移到了我的带有m1芯片的新macmini上。我已经成功安装了颤振、cocoapods、ffi等,但是当我在... 查看详情

人才流失不断,苹果m1芯片首席设计师重回老东家——英特尔

早在2020年苹果发布首款自研芯片M1时,苹果就曾表示,会用两年时间将Mac过渡为自己的AppleSilicon处理器,逐步摆脱英特尔芯片的控制。然而就在两年期限即将到来之际,M1芯片首席设计师——苹果Mac系统架构总监Je... 查看详情

苹果发布“合二为一”芯片,华为公布“芯片叠加”的专利

...容素材来源| 网络、EDN电子技术设计昨日凌晨的苹果春季发布会上,苹果发布了最强的“M1‌Ultra”芯片。在大会上,苹果公布了M1‌Ultra芯片很多牛逼的参数,比如:晶体管数量1140亿颗20核CPU(16个高性能内核... 查看详情

使用了12个月的苹果m1芯片,我发现了它的「致命」弱点(代码片段)

...出品|CSDN(ID:CSDNnews)首先,我仍然相信苹果M1的芯片在技术上取得了巨大的飞跃,再次站在了创新的最前沿,然而一旦新鲜感消失之后 查看详情

苹果硅 M1 + 泊坞窗

】苹果硅M1+泊坞窗【英文标题】:AppleSiliconM1+docker【发布时间】:2021-09-0810:04:47【问题描述】:我有一个dockerfile和docker-compose可以在基于Intel和/或AMD的芯片上正常运行,但是当它预期构建在M1AppleSilicon芯片上时会出现一些问题。... 查看详情

支持m1芯片mac电脑的adobephotoshop2021formac中文版本

...,随着Adobe官方已全面兼容M1芯片的Mac,但是网友发布,m1芯片的Mac,photosho2021破解版本依然无法安装,会报501错误。之前微博大神制作了photosho2019的m1版本,可以通过Rosetta转译使用࿰ 查看详情

支持m1芯片mac电脑的adobephotoshop2021formac中文版本

...,随着Adobe官方已全面兼容M1芯片的Mac,但是网友发布,m1芯片的Mac,photosho2021破解版本依然无法安装,会报501错误。之前微博大神制作了photosho2019的m1版本,可以通过Rosetta转译使用࿰ 查看详情

极客日报:阿里再度调整组织架构:天猫淘宝大融合,新设三大中心;苹果m1首席芯片设计师跳槽至英特尔

...xff1a;MIUI13没有内置国家反诈中心App阿里腾讯之后,B站正式入局NFT英特尔挖走苹果M 查看详情