阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2022-07-24 08:002187

评论

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

SRv6 L3VPN的工作原理

穿过生命散发芬芳

8月月更 SRv6

【SeaTunnel】从一个数据集成组件演化成企业级的服务

Apache SeaTunnel

大数据 微服务 数据处理 数据集成 大数据 开源

系统可用性:SRE口中的3个9,4个9...到底是个什么东西?

董哥的黑板报

运维 后端 可用性 SRE

毕业作业-设计电商秒杀系统

Fan

#架构实战营

Serverless基础知识

阿泽🧸

Serverless 8月月更

Python 教程之输入输出(1)—— 在 Python 中接受输入

海拥(haiyong.site)

Python 8月月更

好好活就是做有意义的事,有意义的事就是好好活

宇宙之一粟

8月月更

学习英语的网站与资料

玄兴梦影

学习 英语

STM32+MPU6050设计便携式Mini桌面时钟(自动调整时间显示方向)

DS小龙哥

8月月更

如何给 UE4 场景添加游戏角色

HelloWorld杰少

c++ 游戏 UE5 8月月更

PDF转Word有那么难吗?做一个文件转换器,都解决了

IC00

C# 签约计划第三季

基于微前端qiankun的多页签缓存方案实践

vivo互联网技术

Vue 前端 微前端 qiankun

物无定味适口者珍,Python3并发场景(CPU密集/IO密集)任务的并发方式的场景抉择(多线程threading/多进程multiprocessing/协程asyncio)

刘悦的技术博客

多线程 协程 多进程 Python3 Python.

Nacos配置中心之加载配置

急需上岸的小谢

8月月更

如何优雅的消除系统重复代码

慕枫技术笔记

设计模式 代码 签约计划第三季 8月月更

鲲鹏编译调试插件实战

乌龟哥哥

8月月更

一、《图解HTTP》- WEB和网络基础

懒时小窝

图解https

LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一:解题思路

程序员欣宸

LeetCode 8月月更

Gitee图床被屏蔽后,我搭建了一个文件系统并封装成轮子开源!

IT学习日记

Java springboot 签约计划第三季 seaweedfs文件系统 Gitee图床崩了

mysql进阶(二十一)删除表数据与数据库四大特性

No Silver Bullet

MySQL 8月月更 四大特性 表删除

kafka_2.13-3.2.0.tgz配置安装

Cjpler

签约计划第三季

Linux性能调优之内存负载调优的一些笔记

山河已无恙

签约计划第三季

【Go实现】实践GoF的23种设计模式:迭代器模式

元闰子

Go 设计模式 迭代器模式

SAP 云平台上一种 Low Code Development(低代码开发)解决方案

Jerry Wang

低代码 云平台 lowcode SAP 8月月更

1对1视频源码——快速实现短视频功能提升竞争力

开源直播系统源码

软件开发 直播系统源码 一对一视频聊天系统

Android编译系统初探

桑榆

8月月更

【高并发项目实战】自适应高并发复杂场景的订单拆分算法工具

小明Java问道之路

高可用 高并发 高性能 签约计划第三季 8月月更

你认同这个观点吗?大多数企业的数字化都只是为了缓解焦虑

雨果

数字化转型 数字化

开源一夏|要有遥不可及的梦想,也要有脚踏实地的本事

坚果

开源 HarmonyOS OpenHarmony 8月月更

GRPC MacOS M1 处理器的问题

HoneyMoose

前端食堂技术周刊第 46 期:Chrome 三方 cookie 计划、npm 引入更多安全增强功能、Awesome Bun

童欧巴

Linux npm Cookie

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