温馨提示×

PyTorch Linux版本更新日志

小樊
75
2025-06-15 09:33:27
栏目: 智能运维

PyTorch是一个广泛使用的开源机器学习框架,其不同版本通常会引入新功能、优化性能以及修复已知问题。以下是关于PyTorch版本更新日志的相关信息:

PyTorch版本更新日志

  • PyTorch v2.7.1

    • MacOS平台兼容性提升
    • 针对采用Clang 17编译工具链的MacOS设备,修复了关键编译错误,提升移动端及苹果设备上的开发体验,同时修正MPS设备中二进制核对处理包裹标量张量参数导致的计算异常,确保跨平台一致性。
    • 其他核心改进及bug修复
      • 通过引入128位向量化指令,进一步优化了PyTorch官方轮子包文件大小和性能。
      • 修复fmsub (浮点乘加)函数定义错误,避免潜在数学计算偏差。
      • 解决mkldnn_max_pool2d算子中出现的浮点异常,保障CPU端池化操作稳定。
      • 修正XPU:1设备推理输出异常,确保异构计算设备结果正确。
      • 解决Windows平台因grid_sample操作引发的非法指令异常,保障Windows用户体验。
      • 修正ONNX模型分解流程中未保留自定义复合隐式自动求导算子的问题,优化导出精度和兼容性。
      • 解决libgomp动态链接错误,提升Linux环境下并行编译和运行兼容性。
      • 修正使用Python 3.13环境进行性能分析时可能发生的段错误,确保最新Python版本使用无忧。
    • PyTorch 2.7.1更新的深度意义
      • 本次2.7.1小版本虽然定位为Bug修复,但涵盖了很多用户社区反映强烈、实际使用中痛点明显的关键问题,尤其在torch.compile和分布式训练部分的多项改进,显著提升了PyTorch在大规模模型训练和复杂场景推理中的可靠性和性能表现。
      • 灵活注意力模块的优化也为基于Transformer架构的前沿模型带来更优质的执行效率,这对于追求极致性能优化的科研团队和企业研发部门至关重要。
    • 如何快速升级及最佳实践建议
      • 安装升级指令示例(推荐使用pip)
      pip install torch==2.7.1 --upgrade
      
      • 请务必查看官方文档,选择适合自己硬件架构的版本(CUDA、ROCm等),确保兼容性。
      • 升级后兼容性注意
        • 升级前请备份重要项目环境,避免版本变动带来的潜在问题。
        • 特别是依赖torch.compile的项目,建议在升级后重新测试模型训练和推理全过程,验证无异常。
        • 分布式训练用户需关注相关API和环境变量,必要时根据官方指南调整配置。
      • 优化使用建议
        • 对于使用flex attention和Transformer密集计算用户,升级后可以显著感受到性能提升和稳定性增强。
        • Linux和Mac用户请注意Clang相关编译等环境问题,确保开发环境版本同步更新。
        • Windows用户在遇到grid_sample等特定算子异常时,应第一时间升级至2.7.1确认是否得到解决。
    • 总结
      • PyTorch 2.7.1版本围绕用户反馈的核心痛点进行了细致的Bug修复和性能优化,彰显了PyTorch社区对提升深度学习框架稳健性的坚定承诺。无论是研究前沿大模型的学者,还是工业级深度学习工程师,升级至2.7.1版本都将获得更稳定、便捷和高效的开发体验。未来,PyTorch将继续在性能优化、跨平台兼容和易用性方面持续发力,成为推动AI科技创新的中坚力量。
  • PyTorch v2.7.0

    • 重点内容
      • 测试版(Beta):
        • Torch.Compile 支持 Torch 函数模式
        • Mega 缓存
      • 原型(Prototype):
        • 支持 NVIDIA Blackwell 架构
        • PyTorch 原生上下文并行
        • 增强 Intel GPU 加速能力
        • FlexAttention 大型语言模型(LLM)首个 token 在 X86 CPU 上的处理
        • FlexAttention 大型语言模型(LLM)在 X86 CPU 上的吞吐量模式优化
        • Foreach Map 操作
        • 推理用 Flex Attention
        • Inductor 中的 Prologue 融合支持
      • 追踪中的回归问题
        • NCCL 初始化时在 12.2 驱动下出现 CUDA “无效参数”失败 部分使用 12.2 CUDA 驱动(版本 535)的用户报告在 NCCL 或对称内存初始化过程中遇到“CUDA 驱动错误:无效参数”的问题。该问题正在调查中,详情见 #150852。如果您是从源码编译的 PyTorch,已知的解决方法是使用 CUDA 12.2 工具包重新编译 PyTorch。否则,您可以尝试升级系统中的 CUDA 驱动。
      • 向后不兼容的变更
        • 不再支持 Triton 版本低于 2.2.0。
        • 移除了对 CUDA 12.4 和 Anaconda 在 CI/CD 环境中的支持。
        • 在 CI/CD 中移除了对 CUDA 12.4 的支持,转而支持 CUDA 12.8。
        • 移除了 CI/CD 中对 Anaconda 的支持。
        • 不再支持 Triton 低于 2.2.0 的版本(没有 ASTSource 支持的版本)。
        • 修改了 torch.Tensor.new_tensor() 的行为,默认会在当前 Tensor 所在设备上创建新 Tensor。
        • 之前该函数始终在 “cpu” 设备上建立新 Tensor,现在将和其他 .new_* 方法保持一致,使用当前 Tensor 的设备。
        • 以后发布的 Linux 轮子包(wheel)构建将使用 Manylinux 2.28 和 CXX11_ABI=1。
        • 迁移到 manylinux_2_28(基于 AlmaLinux 8)后,不再支持使用 glibc 2.26 的操作系统发行版,包含 Amazon Linux 2 和 CentOS 7 等。
        • torch.onnx.dynamo_export 现在使用 ExportedProgram 的逻辑路径。
        • 使用 torch.onnx.dynamo_export API 的用户可能会发现某些 ExportOptions 不再被支持(例如 diagnostic_options、fake_context 和 onnx_registry 被移除或忽略),仅保留 dynamic_shapes。
        • 建议用户迁移到使用 torch.onnx.export(. dynamo=True),并通过 dynamic_shapes 参数指定模型动态形状。
        • 版本差异:

以上是PyTorch在Linux系统的部分更新日志,如果需要了解更多关于PyTorch的更新信息,建议前往PyTorch官网查询。

0