PyTorch 团队激动地宣布,我们的关于 PyTorch 2 的论文已被接受在 ACM 国际架构支持编程语言和操作系统会议(ASPLOS)上展示,该会议将于 2024 年 4 月 27 日至 5 月 1 日在美国加州圣地亚哥举行。
论文深入探讨了 torch.compile 的实现,并突出了推动其发展的关键技术,包括 TorchDynamo(图捕获)、TorchInductor(后端编译器)和动态形状支持。
在 ASPLOS 会议上,我们将于 4 月 27 日星期六举办一个教程,重点介绍 PyTorch 2 的内部工作原理以及系统研究人员如何利用和在此基础上构建。随着活动的临近,我们将提供更多详细信息,期待您的参与!
论文的预览附在下面:
标题:PyTorch 2:通过动态 Python 字节码转换和图编译实现更快的机器学习。完整论文 PDF
摘要
本文介绍了对流行的 PyTorch 机器学习框架的两个扩展,即 TorchDynamo 和 TorchInductor,它们实现了 PyTorch 2 中发布的 torch.compile 功能。TorchDynamo 是一个 Python 级别的即时(JIT)编译器,它在不牺牲 Python 灵活性的情况下,使 PyTorch 程序能够进行图编译。它通过在执行前动态修改 Python 字节码,并将 PyTorch 操作序列提取到 FX 图中来实现这一点,然后使用许多可扩展的后端之一进行 JIT 编译。TorchInductor 是 TorchDynamo 的默认编译器后端,它将 PyTorch 程序转换为 OpenAI 的 Triton(用于 GPU)和 C++(用于 CPU)。结果显示,TorchDynamo 能够比先前的方法更稳健地捕获图,同时增加的最小开销,TorchInductor 能够在 NVIDIA A100 GPU 上为 180 多个真实世界模型提供 2.27 倍的推理和 1.41 倍的训练几何平均速度提升,这超过了其他六个编译器。这些扩展为在像 PyTorch 这样的即时模式框架中通过编译器应用优化提供了一种新的方法。
作者
Jason Ansel(Meta);Edward Yang(Meta);Horace He(Meta);Natalia Gimelshein(OpenAI);Animesh Jain(Meta);Michael Voznesensky(Meta);Bin Bao(Meta);Peter Bell(Quansight);David Berard(Meta);Evgeni Burovski Quansight;Geeta Chauhan(Meta);Anjali Chourdia(Meta);Will Constable(Meta);Alban Desmaison(Meta);Zachary DeVito(Meta);Elias Ellison(Meta);Will Feng(Meta);Jiong Gong(Intel);Michael Gschwind(Meta);Brian Hirsh(Meta);Sherlock Huang(Meta);Kshiteej Kalambarkar(Quansight);Laurent Kirsch(Meta);Michael Lazos(Meta);Mario Lezcano(Quansight);Yanbo Liang(Meta);Jason Liang(Meta);Yinghai Lu(Meta);CK Luk(Meta);Bert Maher(Meta);Yunjie Pan(University of Michigan);Christian Puhrsch(Meta);Matthias Reso(Meta);Mark Saroufim(Meta);Marcos Yukio Siraichi(Quansight);Helen Suk(Meta);Michael Suo(Meta);Phil Tillet(OpenAI);Eikan Wang(Intel);Xiaodong Wang(Meta);William Wen(Meta);Shunting Zhang(Meta);Xu Zhao(Meta);Keren Zhou(OpenAI & George Mason University);Richard Zou(Meta);Ajit Mathews(Meta);Gregory Chanan(Meta);Peng Wu(Meta);Soumith Chintala(Meta)
ASPLOS’24 - 全天教程日程
完整 ASPLOS’24 PyTorch 2 教程周六 4 月 27 日的日程安排在此可查