PyTorch 2.5 发布:提高机器学习效率和可扩展性

PyTorch 社区一直走在推动机器学习框架发展的前沿,以满足全球研究人员、数据科学家和 AI 工程师日益增长的需求。借助最新的 PyTorch 2.5 版本,该团队旨在解决 ML 社区面临的多项挑战,主要侧重于提高计算效率、缩短启动时间以及增强新硬件的性能可扩展性。特别是,该版本针对 Transformer 模型和 LLM(大型语言模型)中遇到的瓶颈、对 GPU 优化的持续需求以及研究和生产环境中的训练和推理效率。这些更新有助于 PyTorch 在快速发展的 AI 基础设施领域保持竞争力。

PyTorch 的新版本为其广泛采用的深度学习框架带来了令人兴奋的新功能。该版本的核心改进包括:用于缩放点积注意(SDPA)的新 CuDNN 后端、torch.compile 的区域编译以及 TorchInductor CPP 后端的引入。CuDNN 后端旨在提高在 H100 GPU 或更新版本上使用 SDPA 的用户的性能,而区域编译则有助于缩短 torch.compile 的启动时间。这一功能对于像变压器中常用的重复神经网络模块尤其有用。TorchInductor CPP 后端提供了多项优化,包括 FP16 支持和其他性能增强,从而提供了更高效的计算体验。

PyTorch 2.5 发布:提高机器学习效率和可扩展性
https://pytorch.org/blog/pytorch2-5/

PyTorch 2.5 中最重要的技术更新之一是 SDPA 的 CuDNN 后端。这个新的后端针对 NVIDIA 的 H100 等 GPU 进行了优化,为使用缩放点积注意力(Transformer 模型的重要组成部分)的模型提供了显着的加速。使用这些较新的 GPU 的用户会发现他们的工作流程可以在降低延迟的情况下实现更高的吞吐量,从而缩短大型模型的训练和推理时间。

torch.compile区域编译是另一项重要增强功能,它提供了一种更模块化的方法来编译神经网络。用户无需反复重新编译整个模型,而是可以单独编译较小的重复组件(例如 Transformer 层)。这种方法大大减少了冷启动时间,从而加快了开发过程中的迭代速度。

此外,TorchInductor CPP 后端还引入了 FP16 支持和 AOT-Inductor 模式,与 max-autotune 相结合,为实现低级性能提升提供了一条高效的途径,尤其是在分布式硬件设置上运行大型模型时。

PyTorch 2.5 是一个重要的版本,原因有几个:

  • 首先,引入用于 SDPA 的 CuDNN 解决了​​用户在高端硬件上运行 Transformer 模型的最大痛点之一。基准测试结果显示,H100 GPU 的性能显著提升,其中缩放点积注意力的加速现在可以开箱即用,无需用户进行额外的调整。
  • 其次,torch.compile区域编译对于处理具有许多重复层的大型模型(例如语言模型)的用户尤其有效。减少编译和优化这些重复部分所需的时间意味着更快的实验周期,使数据科学家能够更有效地迭代模型架构。
  • 最后,TorchInductor CPP 后端代表着一种转变,即为需要最大程度控制性能和资源分配的开发人员提供更优化的低级体验,进一步拓宽了 PyTorch 在研究和生产环境中的可用性。

总之,PyTorch 2.5 是机器学习社区向前迈出的重要一步,它带来的增强功能既满足了高级可用性,也满足了低级性能优化。通过解决 GPU 效率、编译延迟和整体计算速度的特定痛点,此版本确保 PyTorch 仍然是 ML 从业者的首选。PyTorch 2.5 专注于 SDPA 优化、区域编译和改进的 CPP 后端,旨在为那些从事尖端 AI 技术的人提供更快、更高效的工具。随着机器学习模型的复杂性不断增加,这些类型的更新对于实现下一波创新至关重要。

GitHub:https://github.com/pytorch/pytorch/releases/tag/v2.5.0

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/53163.html

(0)

相关推荐

发表回复

登录后才能评论