写点什么

PyTorch 2.0 编译器提高了模型训练速度

  • 2023-05-02
    北京
  • 本文字数:1235 字

    阅读完需:约 4 分钟

PyTorch 2.0编译器提高了模型训练速度

PyTorch基金会最近发布了PyTorch 2.0版本,这是一个 100%向后兼容的更新。该版本的主要 API 贡献是为深度学习模型提供了一个编译函数,可以加快训练速度。163 个开源人工智能项目的内部基准测试显示,在训练期间,这些模型平均运行速度提高了 43%。

 

PyTorch 2.0 的发布计划于 2022 年 12 月在PyTorch大会上宣布。除了新的编译特性外,该版本还包括通过缩放点积注意力(SDPA)的新实现来提高 Transformer-based 模型(如大语言模型和扩散模型)的性能。通过改进的Metal Performance Shaders(MPS)加快了在 Apple Silicon 上的训练,目前在 MPS 中实施了 300 项操作。除了核心版本外,包括 TorchAudio、TorchVision 和 TorchText 在内的域库也更新了新的测试版功能。总体而言,自 1.13.1 版本发布以来,2.0 版本包含了来自 428 名开发人员的 4500 多次提交。PyTorch 基金会的博客上写到:

 

能宣布 PyTorch®2.0 的发布,我们很激动,我们在 2022 年 12 月 2 日的 PyTorch 大会上强调了这一点!PyTorch 2.0 提供了相同的动态图模式(eager-mode)开发和用户体验,同时从根本上改变并加强了 PyTorch 在编译器级别的操作方式,提供了更快的性能和对动态形状和分布式的支持。

 

在 2022 年 PyTorch 大会的主题演讲中,PyTorch 联合创始人Soumith Chintala指出,由于 GPU 计算能力的增加,许多现有的 PyTorch 工作负载受到了内存带宽或 PyTorch 框架开销的限制。此前,PyTorch 团队通过用 C++编写一些核心组件来解决性能问题;Chintala 将 PyTorch 描述为“基本上是一个 C++代码库”,并表示他“讨厌”为 C++组件做出贡献。

 

新的编译特性基于四个用 Python 编写的底层组件:

 

  • TorchDynamo——通过将表示深度学习模型的 Python 代码重写为计算图块来执行图的获取

  • AOTAutograd ——为后退步骤执行“提前”自动微分

  • PrimTorch——将超过 2k 个 PyTorch 操作符规范化为固定的约 250 个原始操作符

  • TorchInductor——为加速器生成特定于硬件的快速后端代码

 

为了演示编译函数的性能改进和易用性,PyTorch 团队确定了 163 个开源深度学习项目进行基准测试。其中包括各种任务的实现,包括计算机视觉、自然语言处理和强化学习。除了对编译函数的单行调用外,该团队没有对代码进行任何更改。这一单一改动在 93%的项目中有效,在NVIDIA A100 GPU 上训练时,编译后的模型的运行速度提高了 43%。

 

在黑客新闻(Hacker News)关于此次发布的讨论中,一位用户指出

 

通过与其他框架相比,我从 PyTorch 中学到的一条重要教训是,生产力胜过增量的性能改进。Caffe 和 MXNet 都以速度快为卖点的,但显然在此处或这里的速度都快了一些,但这并不重要。另一方面,一旦我们让一个系统运行并流行起来,社区将会以比竞争对手预期更快地缩小性能差距。另一个教训可能是老生常谈的但同样值得重复:对开源项目的投资和专业打磨很重要。

 

PyTorch的代码2.0版本的发布说明可在 GitHub 上获得。

 

原文链接:

https://www.infoq.com/news/2023/03/pytorch-release-compile/


相关阅读:

里程碑!PyTorch 正式加入 Linux 基金会,社区治理这一核心将不会改变

深度学习为什么要选择 PyTorch

2023-05-02 08:003749

评论

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

Royal TSX for Mac(强大的远程管理软件)

Mac相关知识分享

服务器管理 mac软件下载 远程管理

IPQ8074 vs. IPQ8064 SOC: A Technical Comparison

wifi6-yiyi

cpu wifi SOC

AR巡点检系统:慧眼智巡,未来视界

AR玩家

AR Rokid Vision pro 炬目AR AR巡点检

今日分享丨点亮这四个技能,你也可以成为可视化专家

inBuilder低代码平台

设计 设计开发

数据虚拟化和 Data Fabric(数据编织)对企业数据管理意味着什么?

Aloudata

数据管理 数据孤岛 数据虚拟化 Data Fabric 数据编织

MES系统适用于哪些行业?MES系统具体功能有哪些?

万界星空科技

mes 万界星空科技 离散型制造业 流程型制造业

电竞体育直播APP源码开发费用,以及搭建所需的各种资料和服务

软件开发-梦幻运营部

网络调试利器:Chrome Network工具的详细指南

霍格沃兹测试开发学社

使用 Apache JMeter Flexible File Writer 插件的详细指南

霍格沃兹测试开发学社

构建多模态模型,生成主机观测指标,欢迎来战丨2024天池云原生编程挑战赛

阿里巴巴云原生

阿里云 微服务 云原生

网络程序通信的流程

EquatorCoco

php 网络 开发语言

SD-WAN远程监控异地组网方案

Ogcloud

SD-WAN 远程监控 企业组网 SD-WAN组网 异地组网

中国首例!「DataKit」上架亚马逊云科技 Marketplace add-ons

观测云

AWS

手写一个简单的DI类库

爱吃小舅的鱼

软件设计 DI类库

FabFilter Total Bundle 2024 for Mac(音频插件合集)

Mac相关知识分享

音频插件 mac插件下载 音乐插件

淘宝、1688海外站与外贸站搭建:全面解析与代购系统源码探讨

技术冰糖葫芦

API 安全 API 开发 API 策略 pinduoduo API

解决 JMeter 返回内容中文乱码问题的详细指南

霍格沃兹测试开发学社

Exploring IPQ9574 and IPQ5332: Innovations in Wi-Fi 7 Technology

wallyslilly

ipq9574

使用 Apache JMeter 事务控制器的详细指南

霍格沃兹测试开发学社

Microsoft Remote Desktop for Mac(微软远程连接软件)

Mac相关知识分享

远程软件 Mac软件 远程桌面 mac下载

技术加持、产品立身“商查利器”爱企查持续助力诚信社会建设

科技热闻

使用 Apache JMeter 调度器的详细指南

霍格沃兹测试开发学社

分享一些关于2024下半年AI发展的预测

澳鹏Appen

人工智能 预测 大模型 未来技术趋势 AI趋势

深入分析四层/七层网关

不在线第一只蜗牛

网关

3种方式自动化控制APP

快乐非自愿限量之名

运维 自动化

使用 Apache JMeter 吞吐量控制器的详细指南

霍格沃兹测试开发学社

如何使用JavaScript实现在线Excel附件的上传与下载?

不在线第一只蜗牛

JavaScript Excel

抑制告警风暴,我们可以做些什么

乘云数字DataBuff

云原生 可观测 告警风暴

2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k, 可以执行一个操作将相邻两个元素按位AND后替换为结果。 要求在最多执行 k 次操作的情况下, 计算数组

福大大架构师每日一题

福大大架构师每日一题

云原生技术实践营 · 深圳站:Serverless + AI 专场开启报名!

阿里巴巴云原生

阿里云 Serverless AI 云原生

为什么选择SD-WAN进行企业异地组网?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 异地组网 SDWAN

PyTorch 2.0编译器提高了模型训练速度_AI&大模型_Anthony Alford_InfoQ精选文章