写点什么

PyTorch 2.5 发布,支持英特尔 GPU

  • 2024-11-19
    北京
  • 本文字数:1171 字

    阅读完需:约 4 分钟

大小:553.44K时长:03:08
PyTorch 2.5发布,支持英特尔GPU

最近,PyTorch 基金会发布了PyTorch 2.5版本,其中包含对英特尔 GPU 的支持。该版本还包含多项性能增强,如FlexAttentionAPI、TorchInductor CPU 后端优化,以及可缩短编译时间的区域编译功能。总体而言,该版本包含了自 PyTorch 2.4 以来的 4095 次提交。

 

最近举行的PyTorch大会演示了 PyTorch 对英特尔 GPU 的支持。英特尔工程师 Eikan Wang 和 Min Jean Cho 介绍了 PyTorch 为支持该硬件而做出的改变,包括泛化 PyTorch 运行时和设备层,使其更容易与新的硬件后端集成。此外,对于 torch.compile 和 torch.distributed,该版本实现了特定于英特尔 GPU 的后端。英特尔人工智能框架工程副总裁Kismat Singh表示


我们在 PyTorch 2.5 中添加了对英特尔客户端 GPU 的支持。基本上,这意味着你可以在使用最新英特尔处理器的英特尔笔记本电脑和台式机上运行 PyTorch。我们认为,这将在今年为 PyTorch 用户解锁 4000 万台笔记本电脑和台式机,预计到明年年底这一数值将达到 1 亿左右。


该版本新增了 FlexAttention API,它使 PyTorch 用户更容易在其模型中尝试不同的注意力机制。通常情况下,想要尝试新的注意力机制变体,研究人员需要直接在 PyTorch 算子中手动编码。然而,这可能会导致 “运行时缓慢和 CUDA OOM”。有了该 API,用户只需要编写 “几行惯用的 PyTorch 代码”就可以完成这项工作。然后,编译器会将这些代码转换为最优内核,“不会产生任何额外的内存开销,而性能可与手写内核相媲美”。

 

有多项性能改进尚处于 Beta 测试阶段。新增的后端 Fused Flash Attention 在英伟达 H100 GPU 上 “比 FlashAttentionV2 快 75%”。torch.compile 的区域编译功能不再需要编译完整的模型;取而代之的是编译重复模块 nn.Modules,如 Transformer 层。这可以减少编译延迟,同时只会造成百分之个位数的性能损失。TorchInductor CPU 后端也进行了多项优化。

 

Flight Recorder是一个新的调试工具,用于解决作业卡住的问题。分布式训练过程中可能会出现作业卡住的情况,其根本原因可能有很多,包括数据饥饿、网络问题或软件 Bug。Flight Recorder 使用内存循环缓冲区来捕获诊断信息。当检测到作业卡住时,它会将诊断信息转储到文件中;然后,可以使用启发式脚本对数据进行分析,找出根本原因。

 

在 Reddit 上关于该版本的讨论中,许多用户很高兴看到PyTorch对英特尔GPU的支持,称其为 “游戏规则的改变者”。另一位用户写道

很高兴看到 torch.compile 有了改进,尤其是重用重复模块以加快编译速度的功能。对于拥有大量类似组件的大型模型来说,这可能会改变游戏的规则。FlexAttention API 看起来也很有前景——只需几行代码就能实现各种注意力机制,并获得几乎可以媲美手写代码的性能,这实在是太棒了。感谢 PyTorch 团队和贡献者们又发布了一个出色的版本!


感兴趣的读者可以从 GitHub 上获取 PyTorch 2.5 的代码和发布说明。 

 

原文链接:

https://www.infoq.com/news/2024/10/pytorch-25-release/

2024-11-19 10:336759

评论

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

架构师1期-技术选型(一)作业

ltl3884

极客大学架构师训练营

第13周作业

Vincent

极客时间 极客大学

架构师训练营 -week05-总结

大刘

极客大学架构师训练营

代码作业

Geek_4c1353

极客大学架构师训练营

架构师训练营 - 第五周 - 作业一

行者

2020年的Java程序员面试三件套:多线程+算法+微服务

Java架构师迁哥

架构师训练营 第一课作业

文江

二十二、 深入Python的进程和线程(上篇)

刘润森

Python

学习总结

TONNY

一个大型的互联网应用系统使用了哪些技术手段

kawayi

Git:使用Git之前的配置

bobo

git

架构师训练营第1周学习总结

菜青虫

极客大学架构师训练营

介绍几种微商常见的引流方式

boshi

营销 电商

第五周 实现一致性 hash 算法

Geek_fabd84

架构师训练营第五周作业

我是谁

极客大学架构师训练营

第13周总结

Vincent

极客时间 极客大学

SQL优化-分治思想

李印

MySQL SQL优化

golang实现一致性 hash 算法

Jacky.Chen

并发环境下,先操作数据库还是先操作缓存?

捡田螺的小男孩

数据库 缓存 后端 并发

食堂就餐卡系统设计

菜青虫

架构师训练营第一周作业

TONNY

架构师训练营 1 期第 5 周:技术选型(一) - 总结

piercebn

极客大学架构师训练营

ping TCP端口的实用小工具tcping

网络 ping tcping

架构师训练营 - 第五周 - 作业二

行者

架构师训练营第五周作业——一致性哈希算法

文智

极客大学架构师训练营

关于Java面试必备的Java集合知识,终于有大佬总结整理出来了!

Java架构之路

Java 程序员 架构 面试 编程语言

Netty源码解析 -- ChannelPipeline机制与读写过程

binecy

Netty nio 源码剖析

1024|推荐一个开源免费的Spring Boot教程

Java旅途

Java 开源 Spring Boot

周练习 5

何毅曦

【高并发】面试官问我:为什么局部变量是线程安全的?

冰河

多线程 高并发 高性能 线程安全 签约计划第二季

一个程序猿应该具备哪些能力?

锐哥

程序员 1024讲话 1024

PyTorch 2.5发布,支持英特尔GPU_编程语言_Anthony Alford_InfoQ精选文章