皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

PyTorch 2.0发布:我们的下一代版本,更快、更多的Pythonic和动态如初

PyTorch 2.0发布:我们的下一代版本,更快、更多的Pythonic和动态如初

作者:PyTorch团队

我们很高兴地宣布PyTorch® 2.0的发布,我们在12/2/22的PyTorch大会上重点介绍了这一版本。PyTorch 2.0提供了相同的急切模式开发和用户体验,同时从根本上改变和提高了PyTorch在编译器层面的运作方式,使其性能更快,并支持动态形状和分布式。

这个下一代版本包括稳定版的加速变形器(以前称为更好的变形器);Beta版包括作为PyTorch 2.0主要API的torch.compile、作为torch.nn.functional一部分的scaled_dot_product_attention函数、MPS后端、torch.func模块中的functorch API;以及其他跨越各种推理、性能和训练优化功能的GPU和CPU的Beta/Prototype改进。关于torch.compile的全面介绍和技术概况,请访问2.0入门页面。

在发布2.0的同时,我们还发布了一系列PyTorch领域库的测试版更新,包括那些树上的库,以及包括TorchAudio、TorchVision和TorchText的独立库。随着TorchX转为社区支持模式,它的更新也正在发布。更多细节可以在这个库的博客中找到。

这个版本是由自1.13.1以来超过4541个提交和428个贡献者组成的。我们要真诚地感谢我们敬业的社区,感谢你们的贡献。一如既往,我们鼓励你在今年改进2.0和整个2系列的过程中,尝试这些并报告任何问题。

摘要

torch.compile是PyTorch 2.0的主要API,它封装了你的模型并返回一个编译过的模型。它是一个完全附加的(和可选的)功能,因此2.0在定义上是100%向后兼容的。
作为torch.compile的基础技术,带有Nvidia和AMD GPU的TorchInductor将依靠OpenAI Triton深度学习编译器来生成高性能代码并隐藏低级别的硬件细节。OpenAI Triton生成的内核实现了与手写内核和专门的cuda库(如cublas)相当的性能。
加速变形器引入了对训练和推理的高性能支持,使用一个定制的内核架构来实现缩放点积关注(SPDA)。该API与torch.compile()集成,模型开发者也可以通过调用新的scaled_dot_product_attention()操作符直接使用缩放点积关注内核。
金属性能着色器(MPS)后端在Mac平台上提供GPU加速的PyTorch训练,并增加了对最常用的60个操作的支持,使覆盖范围达到300多个操作。
亚马逊AWS优化了基于AWS Graviton3的C7g实例上的PyTorch CPU推理。与之前的版本相比,PyTorch 2.0提高了Graviton上的推理性能,包括对Resnet50和Bert的改进。
跨越TensorParallel、DTensor、2D parallel、TorchDynamo、AOTAutograd、PrimTorch和TorchInductor的新原型功能和技术。

更多 PyTorch 2.0: Our next generation release that is faster, more Pythonic and Dynamic as ever | PyTorch