我们很高兴地宣布 PyTorch® 2.11 正式发布(发布说明)!
PyTorch 2.11 版本包含以下更新:
- 分布式训练的可微集合通信(Differentiable Collectives)
- FlexAttention 在 Hopper 和 Blackwell GPU 上现已支持 FlashAttention-4 后端。
- MPS(Apple Silicon)算子全方位扩展
- RNN/LSTM GPU 导出支持
- XPU Graph(Intel GPU 图优化)
自 PyTorch 2.10 发布以来,本次版本更新包含来自 432 位贡献者的 2723 次提交。我们衷心感谢社区成员的无私贡献。一如既往,我们鼓励您尝试这些新功能,并在我们改进 2.11 版本的过程中报告任何问题。有关 PyTorch 2 系列入门的更多信息,请访问我们的入门指南页面。
3 月 31 日(周二)上午 10 点,Andrey Talman 和 Nikita Shulga 将举办一场直播会议,详细介绍 2.11 版本的新功能,包括分布式训练的可微集合通信、Hopper 和 Blackwell GPU 上的 FlexAttention (FlashAttention-4 后端)、MPS 扩展等,随后将进行实时问答环节。注册参加。
API-UNSTABLE(实验性)功能
分布式训练的可微集合通信(Differentiable Collectives)
增加了对函数式集合通信(functional collectives)的可微支持,使得训练工作流能够通过集合通信操作进行反向传播。这对分布式深度学习研究和高级训练技术来说是一项重大进步,无需自定义 autograd 函数即可实现。
FlexAttention 在 Hopper 和 Blackwell GPU 上现已支持 FlashAttention-4 后端。
此后端增加了对自动生成 CuTeDSL 分数/掩码修改函数的支持,并能从 PyTorch 即时(JIT)实例化 FlashAttention-4 内核,在计算密集型工作负载中,比现有的 Triton 实现提速 1.2 倍至 3.2 倍。该功能仍处于积极开发阶段,可能会随稳定性提升而变化;有关设置细节和当前限制,请参阅 FlexAttention + FlashAttention-4 博客文章。
MPS(Apple Silicon)开发改进 / 算子扩展
此版本包括对 MPS 后端错误报告的支持,并持续扩展了算子覆盖范围,包括新的分布函数(log_normal、cauchy、geometric)、算子迁移(erfcx、所有操作模式下对 grid_sampler_2d 的支持)、以及扩展了整型和复数类型的 baddbmm/addbmm 支持。
异步错误报告功能可以检测 GPU 索引操作期间发生的越界访问尝试,例如:
import torch x=torch.rand(10, 1, 10, device='mps') y=x[:, [1]] torch.mps.synchronize() # will raise index out of bounds error
RNN/LSTM GPU 导出支持
RNN 模块(LSTM、GRU 等)现在可以在 GPU 上导出,并支持对具有动态形状的 LSTM 进行追踪(tracing)。这极大地扩展了可使用 torch.export 进行生产推理的模型类型。GRU API 保持不变;新的 API 为 LSTM。
ROCm 设备端断言(Device-Side Assertions)与 TopK 优化
增加了对 ROCm 设备端断言的支持,以实现更好的调试;此外,通过在共享内存中缓存数据,显著优化了 TopK 算子并改进了基数选择(radix select)。这提升了 AMD GPU 上的开发体验和性能。
XPUGraph 支持以优化 Intel GPU 上的执行
XPUGraph 允许用户将一系列 XPU 操作捕获到 Intel GPU 上的运行时执行图中,并多次重放。这减少了内核启动和 Python 运行时等 CPU 开销,提升了 Intel GPU 上的工作负载性能。使用详情请参阅API 文档。
通过 OpenBLAS 在 CPU 上实现 FP16 半精度 GEMM
通过 OpenBLAS 增加了对 CPU 上 FP16 半精度 GEMM 的支持,为基于 CPU 的部署提供了更快的 FP16 推理。这对边缘设备和仅限 CPU 的推理场景非常有价值。
其他非功能性更新
CUDA 版本
从本版本开始,CUDA 13 成为 x86_64 和 ARM 平台的默认安装版本。需要替代构建版本的用户仍可从 https://download.pytorch.org/whl 的相应子文件夹中获取仅 CPU 版本以及 CUDA 12.8 构建版本。
Torchscript 现已弃用
Torchscript 在 2.10 版本中已被弃用,应使用 torch.export 来替代 jit trace 和 script API,并应使用 Executorch 来替代嵌入式运行时。更多详细信息,请参阅 PTC 的此演讲 。
2026 年发布周期
2026 年,发布周期已从季度更新增加到每 2 个月 1 次。请参阅已发布的发布计划。