写点什么

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

评论

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

架构训练营毕业设计:电商秒杀系统

AragornYang

架构训练营 架构实战营

AI简报:图像超分模型RCAN+SRResNet

AIWeker

人工智能 深度学习 5月月更 超分

5分钟学会 Vim 分屏操作方方面面

爱好编程进阶

Java 程序员 后端开发

架构实战营 - 毕业总结

smile

架构实战营

K8S 准入控制器有哪些是默认的?

baiyutang

Docker Kubernetes 云原生 k8s 5月月更

Go Web 编程入门:快速了解Fiber框架

宇宙之一粟

Go 语言 Fiber 5月月更

KMP子字符串匹配算法学习笔记

爱好编程进阶

Java 程序员 后端开发

mykit-lock之——分布式锁插件正式开源

爱好编程进阶

Java 程序员 后端开发

redis编码及数据结构

爱好编程进阶

Java 程序员 后端开发

Dart 2.17发布,新特性速递

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

ElasticSearch 概述

爱好编程进阶

Java 程序员 后端开发

Java字节流和字符流,是时候总结一下IO流了

爱好编程进阶

程序员 后端开发

Linux宝塔面板命令大全

爱好编程进阶

Java 程序员 后端开发

MPEG-TS封装格式

Loken

音视频 5月月更

网站开发进阶(六十四)CSS 属性选择器讲解

No Silver Bullet

CSS 属性选择器 5月月更

Java 集合看这一篇就够了

爱好编程进阶

程序员 后端开发

Druid连接池源码阅读05

石小天

Java进阶备战金九银十88道真题:多线程+集合

爱好编程进阶

Java 程序员 后端开发

Shiro 权限管理入门之认证与授权

爱好编程进阶

Java 程序员 后端开发

k8s client-go源码分析 informer源码分析(3)-Reflector源码分析

良凯尔

容器 云原生 Kubernetes 集群 Client-go

JDBC访问数据库的一些小技巧

爱好编程进阶

程序员 后端开发

Mybatis源码学习(二)缓存和别名处理器

爱好编程进阶

程序员 后端开发

设计模式之代理模式

乌龟哥哥

5月月更

架构实战营模块5作业

天琪实刚亮

有了测试组,为什么还要QA?

高山

测试 QA CMMI

15-操作DOM对象

爱好编程进阶

Java 程序员 后端开发

IntelliJ IDEA如何clean或者install Maven项目

爱好编程进阶

程序员 后端开发

LeetCode - 1629 -按键持续时间最长的键 - Java - 细喔

爱好编程进阶

Java 程序员 后端开发

数据库连接池 -Druid 源码学习(五)

wjchenge

Druid 数据库连接池

架构训练营 毕业总结

AragornYang

架构训练营 架构实战营

从AI数羊到“相牛”:人工智能应用如何低门槛化?

脑极体

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