PyTorch 2.5 发布带来一些新特性和改进

主要亮点 (Highlights)]

  • SDPA CuDNN 后端 :为 torch.nn.functional.scaled_dot_product_attention 提供了新的 CuDNN 后端,可以在 NVIDIA H100 或更新的 GPU 上提供高达 75% 的加速。
  • torch.compile 区域编译 :通过 torch._dynamo.config.inline_inbuilt_nn_modules 允许编译重复的 nn.Module(例如大型语言模型中的变换器层)而无需重新编译,从而减少编译延迟。
  • TorchInductor CPU 后端优化 :包括 C++ 后端代码生成和 FX 融合,支持向量化和所有 Inductor IR 操作,兼容 Linux 和 Windows 系统。

PyTorch 2.5.0版本的发布带来了一系列新特性、改进、性能优化以及bug修复,旨在提升用户体验、增强功能和提高执行效率。以下是对PyTorch 2.5.0版本的全面总结:

新特性和改进

  1. SDPA CuDNN后端:引入了新的CuDNN后端,为使用H100或更新型号GPU的SDPA用户提供了默认的速度提升。

  2. torch.compile的区域编译 :允许用户编译重复的nn.Module,而无需重新编译,减少了编译延迟并可能轻微降低性能。

  3. TorchInductor CPU后端优化:包括CPP后端代码生成和FX融合,支持向量化操作和静态/符号形状,兼容Linux和Windows操作系统。

  4. FlexAttention API:一个灵活的API,允许用少量代码实现多种注意力机制,如滑动窗口、因果掩码等,并自动生成反向传播。

  5. 编译自动微分:作为PT2技术栈的扩展,允许捕获完整的反向传播过程,提高了自动微分的灵活性。

  6. 飞行记录器:一个调试工具,用于捕获集体操作的信息,帮助快速识别和解决作业卡住的问题。

  7. 最大自动调优CPU支持:Inductor CPU后端在编译时配置多个操作实现,并选择最佳性能的一个。

  8. TorchInductor在Windows上的支持:支持MSVC、clang和Intel编译器。

  9. FP16在CPU路径上的支持:支持在CPU上使用FP16数据类型,有助于提升性能。

  10. 自动加载设备扩展:简化了设备扩展的集成过程,无需手动导入。

  11. 增强的Intel GPU支持:扩展了对Intel GPU的支持,包括数据中心和客户端GPU。

向后不兼容的变更

  • 分布式处理:移除了一些旧的选项和方法,以反映代码结构的正确性。
  • 导出功能 :移除了dynamic_dim()方法,改用Dims来指定动态形状。
  • Inductor:更新了基准测试路径,从使用Triton的基准测试工具转移到内部Inductor工具。

性能优化

  • CUDA:为深度卷积反向操作生成内核,调整了tile启发式规则以提高性能。
  • 分布式:添加了CPU分析器的动态活动切换API。
  • Dynamo :手动实现了nn.Module.__getattr__nn.Module._call_impl,优化了小型元组的guard。
  • Inductor:添加了对BF16->FP32转换的NEON实现,支持了INT8数据类型的masked vectorization。

文档和开发者支持

  • 提供了详细的文档更新,包括新特性的使用说明、API文档的改进和错误信息的优化。

安全性更新

  • Inductor:放宽了对大小符号可以为0的统一检查。

其他改进

  • Autograd前端 :支持GradientEdge作为torch.autograd.grad的输出。
  • 分布式:引入了带有分析器的Flight Recorder,用于捕获集体操作的诊断信息。
  • Dynamo :引入了torch._dynamo.config.enable_compiler_collectives,用于跨等级同步编译。
  • 导出功能 :支持export_for_training,自动动态形状。
相关推荐
古希腊掌管学习的神35 分钟前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
ZHOU_WUYI1 小时前
4.metagpt中的软件公司智能体 (ProjectManager 角色)
人工智能·metagpt
靴子学长2 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
梧桐树04293 小时前
python常用内建模块:collections
python
AI_NEW_COME3 小时前
知识库管理系统可扩展性深度测评
人工智能
Dream_Snowar3 小时前
速通Python 第三节
开发语言·python
海棠AI实验室3 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself3 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董4 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee4 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能