PyTorch 2.7 继续在英特尔® GPU 架构上提供重要的功能和性能增强,以简化 AI 工作流程。寻求在英特尔 GPU 上微调、推理和开发 PyTorch 模型的应用程序开发人员和研究人员现在将在各种操作系统(包括 Windows、Linux 和适用于 Linux 的 Windows 子系统 (WSL2))上拥有一致的用户体验。这通过改进安装、即时模式脚本调试、性能分析器和图模型 (torch.compile) 部署得以实现。因此,开发人员在前端和后端开发中都拥有统一的 GPU 编程范式,从而拥有更多选择。
PyTorch 中英特尔 GPU 支持的增量改进
自 PyTorch 2.4 以来,我们每个版本都稳步改进了对英特尔 GPU 的支持。在 PyTorch 2.7 中,我们很高兴地宣布,我们已经为英特尔 GPU 在 Windows 和 Linux 上的图模式 (torch.compile) 和即时模式下工作奠定了坚实的基础。这包括各种英特尔 GPU 产品,其中许多您可能已经在使用。我们希望这些增强功能将为您的 AI 研究和开发解锁更多通用硬件。
- 随着时间的推移,我们扩大了 Windows 和 Linux 上对英特尔 GPU 的支持,包括这些产品
- 更简单的 torch-xpu PIP wheel 安装和轻松的设置体验。
- 通过 SYCL 和 oneDNN 实现高 ATen 操作覆盖,以实现功能和性能的流畅即时模式支持。
- 通过默认 TorchInductor 和 Triton 后端,使用 torch.compile 实现了显著的加速,通过 Hugging Face、TIMM 和 TorchBench 基准测试的可测量性能增益证明了这一点。
请查看这些相关发布博客中的详细进展: PyTorch 2.4、 PyTorch 2.5 和 PyTorch 2.6。
PyTorch 2.7 中的新功能
以下是 PyTorch 2.7 中为帮助加速英特尔 GPU 性能而添加的功能。
- 通过 bfloat16 和 float16 改进缩放点积注意力 (SDPA) 推理性能,以加速英特尔 GPU 上的注意力模型。
借助 PyTorch 2.7 中针对英特尔 GPU 的新 SDPA 优化,在英特尔® 锐炫™ B580 显卡和配备英特尔® 锐炫™ 显卡 140V 的英特尔® 酷睿™ Ultra 7 处理器 258V 上,Stable Diffusion float16 推理在即时模式下实现了高达 3 倍的 PyTorch 2.6 版本增益。参见图 1。
图 1. PyTorch 2.7 Stable Diffusion 性能比 PyTorch 2.6 的增益
- 在 Windows 11 上为英特尔 GPU 启用 torch.compile,提供与 Linux 上相同的即时模式性能优势。由此,英特尔 GPU 成为首个支持 Windows 上 torch.compile 的加速器。有关详细信息,请参阅 Windows 教程。
通过 PyTorch 2.7,图模型 (torch.compile) 首次在 Windows 11 上针对英特尔 GPU 启用,提供与 Linux 上相同的即时模式性能优势。最新的性能数据是在 PyTorch Dynamo 基准测试套件之上使用 Windows 上的英特尔® 锐炫™ B580 显卡测量的,如图 2 所示,torch.compile 相对于即时模式的加速比。训练和推理都实现了类似的显著改进。
图 2. Windows 上 torch.compile 相对于即时模式的性能增益
- 优化 PyTorch 2 导出训练后量化 (PT2E) 在英特尔 GPU 上的性能,以提供具有增强计算效率的全图模式量化管道。有关详细信息,请参阅 PT2E 教程。
- 在 Linux 上启用 AOTInductor 和 torch.export,以简化部署工作流程。有关详细信息,请参阅 AOTInductor 教程。
- 在 Windows 和 Linux 上都启用分析器,以方便模型性能分析。有关详细信息,请参阅 PyTorch 分析器教程。
查阅英特尔 GPU 入门指南,了解环境设置和英特尔 GPU 的快速入门。
未来工作
展望未来,我们将在未来的 PyTorch 版本中继续英特尔 GPU 上游工作,以
- 实现最先进的 PyTorch 原生性能,展示 torch.compile 的竞争性 GEMM 计算效率,并通过 FlexAttention 和较低精度数据类型增强 LLM 模型的性能。
- 通过为英特尔® 数据中心 GPU Max 系列提供分布式 XCCL 后端支持来扩大功能兼容性。
- 将加速器支持扩展到核心 PyTorch 生态系统组件,包括 torchao、torchtune 和 torchtitan。
关注PyTorch 开发讨论,了解有关英特尔 GPU 和 CPU 启用状态和功能的更多信息。随着我们的进展,我们将在 GitHub 上创建工单以记录我们的进度。
总结
在这篇博客中,我们回顾了从 PyTorch 2.4 开始的英特尔 GPU 上游进展,并重点介绍了 PyTorch 2.7 的新功能,这些功能加速了各种英特尔 GPU 上的 AI 工作负载性能。这些新功能,尤其是 Windows 上的 SDPA,在英特尔锐炫 B580 显卡和配备英特尔锐炫显卡 140V 的英特尔酷睿 Ultra 7 处理器 258V 上,推理(Stable Diffusion,float16)比 PyTorch 2.6 版本实现了高达 3 倍的增益。此外,Windows 上的 torch.compile 在 Dynamo 基准测试中提供了与 Linux 上相同的即时模式性能优势。
相关视频
使用 AOTInductor 在英特尔 GPU 上部署编译的 PyTorch 模型
致谢
我们要感谢以下 PyTorch 维护者提供的技术讨论和见解:Nikita Shulga、Jason Ansel、Andrey Talman、Alban Desmaison 和Bin Bao。
我们还要感谢 PyTorch 合作者提供的专业支持和指导。
产品和性能信息
英特尔酷睿 Ultra 7 258V 测量数据:2200 MHz,8 核,8 逻辑处理器,配备英特尔锐炫 140V GPU (16GB),GPU 内存 18.0 GB,使用英特尔显卡驱动程序 32.0.101.6647 (WHQL 认证),Windows 11 专业版 – 24H2。以及英特尔酷睿 Ultra 5 245KF:4200 MHz,14 核,14 逻辑处理器,英特尔锐炫 B580 显卡,专用 GPU 内存 12.0 GB,共享 GPU 内存 15.8 GB,使用英特尔显卡驱动程序 32.0.101.6647 (WHQL 认证),Windows 11 企业版 LTSC – 24H2。由英特尔于 2025 年 4 月 8 日测试。
注意事项和免责声明
性能因使用、配置和其他因素而异。请访问性能指数网站了解更多信息。性能结果基于所示配置中的测试日期,可能无法反映所有公开可用的更新。 请参阅备份以获取配置详细信息。 任何产品或组件都不能绝对安全。您的成本和结果可能会有所不同。英特尔技术可能需要启用硬件、软件或服务激活。
英特尔公司。英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。其他名称和品牌可能属于他人所有。
AI 免责声明
AI 功能可能需要软件购买、订阅或由软件或平台提供商启用,或者可能具有特定的配置或兼容性要求。详情请访问 www.intel.com/AIPC。结果可能有所不同。