写点什么

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:002355

评论

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

聊天机器人为什么这么难?

青菜年糕汤

人工智能 自然语言处理 搜索引擎 chatbot 聊天机器人

五十年前的一桩公案:数据库关系模型的流行史(下)

青菜年糕汤

数据库 分布式数据库 数据库规范 关系型数据库 数据库设计

创投机会诞生在这四个核心变量中 | 2019年在某大学课堂做的一次讲演的实录

邓瑞恒Ryan

创业 管理 投资 行业资讯

Java并发编程基础--线程

Java收录阁

Java 线程

一文带你搞懂RPC核心原理

松花皮蛋me

微服务 RPC 远程调用

Golang杂谈 - graceful shutdown为何离奇失效?

星语

后端 平滑重启 服务端 Go 语言

笔记:《如何系统思考》之因果回路图

wiflish

思维方式

Java并发编程系列——分布式锁

孙苏勇

Java zookeeper 并发编程 多线程 分布式锁

基准测试神器JMH —— 详解36个官方例子

捉虫大师

Java 性能 JMH

leetcode8. 字符串转换整数 (atoi)

Damien

算法 数学

如何成为一个高效的问题解决者?

汪锋

人人都要有经营意识

Neco.W

创业 重新理解创业 公司管理

花更多的时间在自己的优势上

Neco.W

创业 自我管理 重新理解创业

python oop 指南

志学Python

Python python 爬虫 oop

写在2020年五四青年节

耿老的竹林

个人成长

我在极客大学算法训练营的收获

熊斌

极客时间 极客大学

Web3极客日报#134

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

NIO看破也说破(一)—— Linux/IO基础

小眼睛聊技术

Linux 架构 后端 Netty nio

python中的GIL锁和互斥锁问题

半面人

Python

MySQL自增ID以及其他唯一ID方式分析

Bruce Duan

MySQL自增ID 唯一ID

Impala UDTF 功能实现

小鹏

大数据 hadoop cloudera 数据仓库

游戏夜读 | 工具游戏的辉煌

game1night

Web3极客日报#135

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

Redis学习笔记(安装)

编程随想曲

redis

leetcode141. 环形链表

Damien

算法 链表 LeetCode

冥想与呼吸法之于情绪控制

树上

情绪 冥想 呼吸法 呼吸 自我

哲少荐书:这才是心理学

Jackey

心理学 读书

实战营第一战:FizzBuzz

escray

学习 CSD 认证实战营

中台是为了复用?未必!浅谈产业中台建设的特点与误区

孤岛旭日

架构 中台 企业中台 企业架构 产业互联网

五十年前的一桩公案:数据库关系模型的流行史(上)

青菜年糕汤

数据库 分布式数据库 数据库规范 关系型数据库 数据库设计

为什么厉害的人精力都那么好?

非著名程序员

程序员 程序人生 提升认知 精力管理

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