NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-05-02 08:003587

评论

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

身为程序员,你很有必要了解一下提效工具“JNPF”

互联网工科生

程序员 软件开发 低代码 JNPF

淘宝/天猫商品详情实时数据API技术实现

Noah

软件测试开发/全日制/测试管理丨App移动测试体系

测试人

软件测试

GraphPad Prism 10 for mac激活版下载

影影绰绰一往直前

软件测试开发/全日制/测试管理丨测试左移和测试右移

测试人

软件测试 测试开发

通过小程序容器轻松打造自有App小程序生态

Geek_2305a8

JDK安装与配置教程来啦

小魏写代码

精彩回顾 | 《国产数据库共话未来趋势》技术沙龙上海站成功举办!

阿里云数据库开源

数据库 阿里云 数据管理 国产数据库 polarDB

苹果mac电脑 Photoshop 2024中文完美激活版

影影绰绰一往直前

聚道云软件连接器助力某餐饮管理有限公司实现人力资源信息自动化

聚道云软件连接器

案例分享

小程序能否成为移动应用实现动态更新与敏捷迭代的突破口?

Geek_2305a8

Capture One Pro 22 for Mac(RAW图像处理软件) v15.4.2.12永久激活版

mac

苹果mac Windows软件 Capture One Pro 22 RAW文件转换器

实现数据一体化的有效措施

RestCloud

ETL 数据一体化

揭秘加密货币周期:如何通过顶级代币指标洞察市场变化

Footprint Analytics

区块链 加密货币

助力企业出海,Ogcloud提供一站式网络解决方案

Ogcloud

网络 网络加速 组网

10年工作经验老程序员推荐的7个开发类工具

EquatorCoco

程序员 开发工具

高防服务器、高防IP和高防CDN之间有什么区别?

Finovy Cloud

网络安全 网络攻击防御 高防主机 高防IP 高防IP服务

软件测试/测试开发/岗位内推丨字节跳动岗位开放

测试人

软件测试

Zoho 2023:种长期主义的因,越经济下行的谷

ToB行业头条

新特性速览!Sermant重磅更新,1.3.0 release版本发布

华为云开源

微服务治理 sermant 字节码增强框架

2024提升计划|优秀程序员的10大共性特征

SoFlu软件机器人

程序员 软件开发 代码 测试 单元测试 构架

数据资产入表“倒计时”,企业该如何抓住红利?

用友BIP

数据资产

简单聊聊数据库可以做什么,有什么用?

行云管家

数据库 云计算 大数据

服务器里面打开浏览器访问不了会是什么原因

德迅云安全杨德俊

深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs

EquatorCoco

Docker 容器化 项目开发

大语言模型训练数据常见的4种处理方法

不在线第一只蜗牛

低代码通过图形化编程,快速构建应用程序

高端章鱼哥

低代码 可视化开发 JNPF 软件开卡

软件测试开发/全日制/测试管理丨Web 兼容性测试

测试人

软件测试 测试开发

2023 CSIG青年科学家会议丨多模态大模型时代下的文档图像处理

热爱编程的小白白

SQLPro Studio for Mac 2023.55激活版下载

影影绰绰一往直前

提升测试自动化:ForEach 循环在API测试中的高级策略

Apifox

测试 自动化测试 foreach Apifox 测试工具

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