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