PyTorch 1.10 版本发布,包含 CUDA Graphs API、编译器改进和 Android NNAPI 支持

PyTorch 1.10 版本发布概述

PyTorch 是由 Facebook 开发的开源深度学习框架,最新发布的 1.10 版本引入了多项重要更新,包括与 CUDA Graphs API 的集成、JIT 编译器的优化以提升 CPU 性能,以及对 Android Neural Networks API (NNAPI) 的 Beta 支持。此外,还发布了领域特定库 TorchVision 和 TorchAudio 的新版本。

主要更新内容

  1. CUDA Graphs API 集成:通过捕获和重放发送到 GPU 的工作流,减少 CPU 开销,提升 CPU 密集型任务的运行时性能。
  2. JIT 编译器优化:基于 LLVM 的 JIT 编译器能够融合多个操作,进一步提升 CPU 性能。
  3. Android NNAPI 支持:从原型阶段升级到 Beta 阶段,支持更多操作、灵活的张量形状,并允许在移动主机上测试模型。
  4. 分布式训练功能稳定化:包括 Remote 模块、DDP Communication Hook 和 ZeroRedundancyOptimizer 等功能从 Beta 阶段升级到稳定状态。
  5. torch.special 模块稳定化:提供与 SciPy 特殊模块类似的 API 和函数。
  6. FX 模块稳定化:FX 模块是一个用于转换和降低 PyTorch 程序的 Pythonic 平台,包含符号跟踪器、中间表示和 Python 代码生成器三个主要组件,允许开发者对自定义代码进行转换。

其他重要更新

  • TorchX SDK:新发布的 SDK,用于加速深度学习应用的生产部署。
  • 社区贡献:自 1.9 版本发布以来,1.10 版本包含了来自 426 位贡献者的 3,400 多次提交。

社区讨论

在 Hacker News 的讨论中,有用户认为 FX 模块的引入表明 PyTorch 正在向 JAX 的方向发展。PyTorch 开发者 Horace He 回应称,FX 更像是一个用于编写转换的工具包,虽然与 JAX 有一些相似之处,但 PyTorch 更倾向于可组合的转换,而不是完全的函数式编程。

竞争对手动态

Google 的深度学习框架 TensorFlow 在今年早些时候发布了 2.6 版本,与 PyTorch 形成竞争。

资源获取

PyTorch 1.10 的发布说明和代码可在 GitHub 上获取。

阅读 30
0 条评论