我们很高兴宣布发布 PyTorch® 2.10 (发行说明)!此版本在性能和数值调试方面进行了多项改进。自 2.0 版本引入 PyTorch 编译器堆栈以来,性能一直是 PyTorch 2.x 系列版本关注的重点。随着越来越多的模型开始使用分布式强化学习工作流进行后训练,确定性和数值调试变得愈发重要。
PyTorch 2.10 版本包含以下更新:
- Python 3.14 支持 torch.compile()。同时,实验性支持 Python 3.14t(自由线程构建版本)。
- 通过 combo-kernels 在 torchinductor 中的水平融合,降低了内核启动开销。
- 引入新的 varlen_attn() 算子,提供对不规则(ragged)和打包(packed)序列的支持。
- 通过 DnXgeev 实现高效特征值分解。
- Intel GPU 性能优化与功能增强。
- torch.compile() 现已支持 use_deterministic_mode。
- DebugMode,用于跟踪调度调用和调试数值发散——这使得追踪细微的数值错误变得更加简单。
此版本包含自 PyTorch 2.9 发布以来,来自 536 位贡献者的 4160 次提交。我们衷心感谢社区的专注与贡献。一如既往,我们鼓励大家尝试这些新特性,并在我们完善 2.10 版本的过程中反馈遇到的任何问题。有关如何开始使用 PyTorch 2 系列的更多信息,请访问我们的入门指南页面。
1 月 28 日(周三),Andrey Talaman、Nikita Shulga 和 Shangdi Yu 将举办一场简短的在线直播,介绍 2.10 版本的新特性,包括发布周期的更新、TorchScript 的弃用、torch.compile 对 Python 3.14 的支持、DebugMode 和 tlparse 等,随后还将进行现场问答。 点击注册参加。
与性能相关的 API-UNSTABLE 特性
通过 torchinductor 中的 Combo-kernels 水平融合降低内核启动开销
Combo Kernels 是一种水平融合优化,它将多个没有数据依赖关系的独立操作合并为一个统一的 GPU 内核。与融合顺序操作的垂直融合(生产者-消费者)不同,Combo kernels 融合的是并行操作。请参阅此处的 RFC 示例。

varlen_attn() – 变长注意力机制
提供了一种新的 torch.nn.attention 算子,用于处理不规则/打包序列,称为 varlen_attn()。此 API 支持前向和反向传播,并且可由 torch.compile 编译。目前由 FA2 提供支持,并计划添加对 cuDNN 和 FA4 的支持。该算子适用于搭载 A100 或更高版本 GPU 的 NVIDIA CUDA 环境,并支持 BF16 和 FP16 数据类型。要了解更多信息,请查看 API 文档和教程。
通过 DnXgeev 实现高效特征值分解
PyTorch linalg 模块已扩展,能够使用 cuSOLVER 的 DnXgeev 在 NVIDIA GPU 上提供高效的通用特征值分解。
Intel GPU 性能优化与功能增强
最新版本通过以下关键增强,为 Intel GPU 架构带来了功能升级和性能优化:
- 在 Windows 和 Linux 上将 Intel GPU 支持范围扩大至最新的搭载 Intel® Arc™ 显卡的 Intel® Core™ Ultra Series 3 处理器。
- 通过添加常用的基础算子(例如类型提升和形状算子)以及使用张量和通道维度的缩放因子实现缩放矩阵乘法,从而在 Intel GPU 上实现 FP8 支持。
- 在 Intel GPU 上实现 Aten 算子 MatMul 对复数数据类型的支持。
- 扩展 PyTorch C++ 扩展 API 中的 SYCL 支持,允许用户在 Windows 上实现新的自定义算子。
- 扩大 Intel GPU 的单元测试(UT)覆盖范围。
与数值调试相关的 API-UNSTABLE 特性
torch.compile() 现已支持 use_deterministic_mode
运行间的确定性使得调试训练过程更加容易,这是在大规模环境下运行以及希望可靠测试使用 torch.compile 代码的用户最需要的功能之一。现在可以通过 torch.use_deterministic_algorithms(True) 开启该模式,确保两次 torch.compile 的调用完全执行相同的操作。
DebugMode,用于跟踪调度调用和调试数值发散
DebugMode 是一种自定义的 TorchDispatchMode,提供分析风格的运行时转储。随着数值等效性日益重要,我们增强了该模式,以便您可以通过张量哈希更轻松地隔离发散点。通过张量哈希,您可以运行两个输入相同的模型版本,并观察所有张量是否具有相同的哈希值。从匹配变为不匹配的位置,往往就是行为异常的算子所在。
核心功能
- 运行时日志记录 – 记录调度的操作和 TorchInductor 编译的 Triton 内核。
- 张量哈希 – 为输入/输出附加确定性哈希,以便更容易发现细微数值错误的引入点。
- 调度钩子 (Dispatch hooks) – 允许注册自定义钩子来标注调用。
更多详情请参考此处的教程。
非功能性更新
TorchScript 现已弃用
TorchScript 在 2.10 版本中已被弃用,建议改为使用 torch.export。更多详情,请参阅 PTC 的相关演讲。
可使用 tlparse 和 TORCH_TRACE 提交更清晰的编译器问题报告
当 PyTorch 开发人员遇到难以进行独立复现的复杂问题时,tlparse 结果是一种可行的解决方案,其日志格式易于上传并在 GitHub 上共享。非 PyTorch 开发人员也可以从中提取有用的信息,我们鼓励在向 PyTorch 开发人员报告 bug 时附上 tlparse 日志产物。有关详情请查看 GitHub 及此教程。
2026 年发布周期
对于 2026 年,预计发布频率将从每季度一次提高到每两个月一次。请参阅已发布的发布时间表。