写点什么

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

评论

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

Flutter-可以缩放拖拽的图片,安卓内存优化管理器

android 程序员 移动开发

架构训练营模块七作业-王者荣耀商城异地多活架构设计

李焕之

新一代云原生的微服务架构分享

鲸品堂

云原生

Flutter 与 原生交互(Android),含BATJM大厂

android 程序员 移动开发

Flutter 中获取屏幕以及 Widget 的宽高,flutter小程序开发

android 程序员 移动开发

Flutter 扩展NestedScrollView (二)列表滚动同步解决

android 程序员 移动开发

上万规模数据湖如何在实验室测试

华为云开发者联盟

容器 数据湖 测试 MRS 集群

FFmpeg之OpenGL绘制与Native Window绘制(五),安卓面试题及答案2020百度

android 程序员 移动开发

Flutter App的启动流程,kotlin单例模式

android 程序员 移动开发

Flutter 扩展NestedScrollView (二)列表滚动同步解决(2)

android 程序员 移动开发

Flutter 网络请求框架封装,android源码设计模式解析与实战

android 程序员 移动开发

Flutter-可以缩放拖拽的图片(1),android最新开发语言

android 程序员 移动开发

esp8266~lwip突破MTU最大1500限制,apt编译时期自动生成代码&动态类加载

android 程序员 移动开发

Python代码阅读(第53篇):字符串重复拼接

Felix

Python Code 字符串 阅读代码 Python初学者

Flutter 1,基于h5框架的移动app开发

android 程序员 移动开发

Flutter 2,面试官问的那些Android原理你都懂吗

android 程序员 移动开发

Flutter Dio二次封装,Android开发还不会这些

android 程序员 移动开发

Flutter 2(1),字节跳动高工面试

android 移动开发

模块七:王者荣耀商城异地多活架构设计

apple

Flutter GetX使用---简洁的魅力!,Android高级

android 程序员 移动开发

Flutter 性能优化 Tips,Android攒了一个月的面试题及解答

android 程序员 移动开发

Flutter 扩展NestedScrollView (二)列表滚动同步解决(1)

android 程序员 移动开发

DialogFragment探索与实现(1),2021年是做安卓开发人员的绝佳时机

android 程序员 移动开发

Flutter _ 你真的会用 Slider 组件吗?(1),androidapp开发入门

android 程序员 移动开发

Flutter 插件使用必知必会,我的阿里春招之路分享

android 程序员 移动开发

DialogFragment探索与实现,android高级工程师面试题

android 程序员 移动开发

Flutter 中 Wrap 的使用详解(含对比图) _ Flutter Widgets

android 程序员 移动开发

压缩性能提升10-20倍,TDengine助力零跑科技实现性能和成本最优化

TDengine

数据库 大数据 tdengine 后端

Flutter 命令本质之 Flutter tools 机制源码深入分析,kotlin实战

android 程序员 移动开发

百度爱番番数据分析体系的架构与实践

百度Geek说

架构 数据分析 后端

Flutter _ 你真的会用 Slider 组件吗?,kotlin中文文档pdf

android 程序员 移动开发

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