AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

PyTorch 1.12 发布,支持在 Mac 上进行加速训练并新增 TorchArrow 库

  • 2022-07-24
  • 本文字数:1102 字

    阅读完需:约 4 分钟

PyTorch 1.12发布,支持在Mac上进行加速训练并新增TorchArrow库

深度学习开源框架 PyTorch 发布了1.12版本,该版本支持在苹果 Sillicon 芯片电脑上进行 GPU 加速训练,并提供了一个新的数据预处理库 TorchArrow,以及对其他库和 API 的更新。


PyTorch 团队在最近的一篇博文中介绍了该版本的主要特性。支持使用苹果的 Metal Performance Shaders(MPS)在苹果 Sillicon GPU 上培训,比基于 CPU 的训练速度高达 20 倍。此外,该版本还提供了对 Core 和 Domain PyTorch 库 M1 版本的支持。TorchData库的 DataPipes 现在向后兼容旧的 DataLoader 类,该版本还支持 TorchData 与 AWS S3 的集成。TorchArrow库提供了 Pandas 风格的 API 和基于 Apache Arrow 的内存数据格式,可以轻松加入其他 PyTorch 库,包括 DataLoader 和 DataPipe。总的来说,新版本包含了自 1.11 版本以来来自 433 个贡献者的 3100 多个提交。


在 1.12 版本发布之前,PyTorch 只支持 M1 Mac 电脑上基于 CPU 的训练。在苹果公司 Metal 团队的帮助下,PyTorch 现在包含了一个基于 MPS 的后端,具有处理器特定的内核,并将 PyTorch 模型计算图映射到 MPS 图框架上。Mac 的内存架构允许 GPU 直接访问内存,这不仅提高了整体性能,而且可以使用更大的批次和更大的模型进行训练。


除了支持苹果 Sillicon 芯片,PyTorch 1.12 还包括了其他几个性能增强。TorchScript 是 PyTorch 运行时可移植性模型的中间表示,现在有了一个新的层融合后端,叫作NVFuser,它比之前的 NNC 更快,支持更多操作。对于计算机视觉模型,该版本实现了在 CPU 上使用的 Channels-Last 数据格式,比 Channels-First 提高了 1.8 倍的推断性能。该版本还包括对 bfloat16 降精度数据类型的增强,在 Intel 至强处理器上提供高达 2.2 倍的性能提升。


该版本增加了几个新特性和 API。对于需要复数的应用程序,PyTorch 1.12 增加了对复杂卷积和 complex32 数据类型的支持,以降低计算精度。该版本“显著改进”了对前向模式自动微分的支持,还提供了一个新的 DataLoader2 类的原型实现,这是一个用于执行 DataPipe 图的轻量级数据加载器类。


在新版本中,Fully Sharded Data Parallel(FSDP)API 从原型版本进入 Beta 版本。FSDP 通过在一组 Worker 中分布模型权重和梯度来支持训练大型模型。FSDP 的新特性包括更快的模型初始化、混合精度的细粒度控制、Transformer 模型的增强训练,以及支持用一行代码修改分片策略的 API。


人工智能研究员 Sebastian Raschka 在推特上介绍了他最喜欢的特性。一位用户回复说:


新版本似乎破坏了一些向后兼容性。例如,HuggingFace 的 OpenAIs Clip 模型现在会产生 CUDA 错误。


HuggingFace 开发者 Nima Boscarino 回复说,HuggingFace 很快就会有解决方案


PyTorch 1.12的代码和发布说明可以在 GitHub 上找到。


原文链接

PyTorch 1.12 Release Includes Accelerated Training on Macs and New Library TorchArrow

2022-07-24 08:002478

评论

发布
暂无评论
发现更多内容

语雀-使用指南

六月的雨在InfoQ

在线文档 在线协同文档 三周年连更 语雀

使用AI优化慢SQL,开发秒变DBA

NineData

sql AI 开发者 dba NineData

今天一定要搞清楚Spring事务

做梦都在改BUG

Java spring Spring事务

JUnit 5 参数化测试

码语者

Java JUnit

Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)

汀丶人工智能

人工智能 机器学习 深度学习 Gradio streamlit

孔再华:openGauss在民生银行的应用实践

黄凯耀:深度解读openGauss架构创新与新特性

区块链数字代币燃烧模式开发技术方案丨(成熟技术)

I8O28578624

Java 应用程序在 Kubernetes 上棘手的内存管理

Java你猿哥

Kubernetes JVM ssm requests limits

流量即生意!红海中的茶饮品牌如何做增量?

游读分享

李士福:openGauss 自驾驶数据库内核在AI领域的探索和创新

深扒Sentinel背后的实现原理之后,我终于明白它为什么这么强了

Java你猿哥

Java spring ssm Sentine

用户订阅付费如何拆解分析?看这篇就够了

HarmonyOS SDK

HMS Core

C4D渲染器到底该怎么选?

Finovy Cloud

C4D

算法题每日一练:最长递增子序列

知心宝贝

数据结构 算法 前端 后端 三周年连更

阿里“宝妈级”之作,这份Spring Security应用到源码手册,全是精华

做梦都在改BUG

Java spring spring security

Josh × 微帧科技,为印度TOP短视频平台提供视频编码服务

微帧Visionular

音视频 视频编码 音视频技术

连接OpenAI两大智能产品Whisper & DALL·E,实现智能语音转文本/文本转图像

集简云开放平台

AI 智能 openai 数据集成平台 AI绘画

openGauss:共建数据库根社区,打造开源数据库核心竞争力

精彩回顾 | DTC模式构建全域消费者增长指南

游读分享

软件测试/测试开发丨Pytest 自动化测试框架(四)

测试人

软件测试 自动化测试 测试开发 pytest

分布式多级缓存系统设计与实战

做梦都在改BUG

分布式 系统设计 多级缓存

Qz学算法-数据结构篇(查找算法--线性、二分)

浅辄

数据结构 三周年连更

再次!openGauss荣获中国软协产业协会多个奖项

沉默的618下,美妆品牌如何踏上破局之路?

游读分享

用友联合7家信创生态伙伴成立“信创领先实践联盟”,助力企业数智化国产替代

用友BIP

阿里逆天级调优方案,内部这套Java性能调优实战宝典,堪称教科书

做梦都在改BUG

Java 性能优化 性能调优

Nginx常用配置及和基本功能讲解

京东科技开发者

nginx 负载均衡 正向代理与反向代理 企业号 4 月 PK 榜 Nginx入门

宠物行业如何做留存?答案都在这里了!

游读分享

openGauss数据库源码解析系列文章——执行器解析(三)

路由器、网桥和交换机

测吧(北京)科技有限公司

测试

PyTorch 1.12发布,支持在Mac上进行加速训练并新增TorchArrow库_数据库_Anthony Alford_InfoQ精选文章