[控场AI]
概念torch compile / TorchCompile

torch.compile

PyTorch 2.0引入的核心编译特性,基于TorchDynamo字节码捕获和TorchInductor代码生成后端,通过装饰器即可触发模型计算图的即时捕获与硬件优化代码生成,兼顾动态图灵活性与静态图执行效率

核心事实

时间轴 (近 90 天)

10月13日

torch.compile 是 PyTorch 2.0 引入的即时编译(JIT)机制,工作流程分三步:TorchDynamo 在字节码层面抓取计算图,AOTAutograd 处理前向与反向图结构,最后交由后端编译器生成可执行代码。

待验证50%
10月13日

IBM Spyre AI 加速器将其 torch.compile 后端从自研的 sendnn 编译栈切换为开源社区维护的 Inductor。

待验证50%
10月11日

TorchInductor是PyTorch默认后端编译器,能将计算图降低为Triton GPU内核或C++/OpenMP CPU代码

待验证50%
9月25日

PyTorch 2.0的torch.compile后端大量采用Triton生成的Kernel

待验证50%
9月24日

TorchScript 和 torch.compile 用于模型编译与加速

待验证50%
9月22日

torch.compile 的 fullgraph 模式会将整个模型计算图作为一个完整单元进行捕获和优化

待验证50%
9月22日

在 fullgraph 模式下,依赖 Python 动态控制流或调用未做 FakeTensor 注册的外部 C++ 扩展的操作会导致 graph break,使编译失败

待验证50%
9月22日

torch.compile 底层依赖 TorchDynamo 字节码拦截机制与 TorchInductor 代码生成后端

待验证50%
9月22日

vLLM 的内部实现改变将使其与 fullgraph 模式下的 torch.compile 不再兼容

待验证50%
9月16日

torch.compile 对动态形状(dynamic shapes)、图断裂(graph breaks)等场景的处理提出了更高要求

待验证50%

还有 18 条时间轴事件

全部知识事实 (20)

已验证

PyTorch 2.0引入的torch.compile功能通过图捕获和编译优化,在保持动态图易用性的同时提升了推理和训练速度

65%
已验证

torch.compile 在主流模型上平均带来 30%~2 倍的训练加速,仅需一行装饰器调用即可启用

65%
待验证

torch.compile是PyTorch 2.0引入的核心编译特性,基于TorchDynamo(字节码捕获)和TorchInductor(代码生成后端)构建

60%
待验证

torch.compile 是 PyTorch 2.0 引入的即时编译(JIT)机制,工作流程分三步:TorchDynamo 在字节码层面抓取计算图,AOTAutograd 处理前向与反向图结构,最后交由后端编译器生成可执行代码。

50%
待验证

IBM Spyre AI 加速器将其 torch.compile 后端从自研的 sendnn 编译栈切换为开源社区维护的 Inductor。

50%
待验证

TorchInductor是PyTorch默认后端编译器,能将计算图降低为Triton GPU内核或C++/OpenMP CPU代码

50%
待验证

PyTorch 2.0的torch.compile后端大量采用Triton生成的Kernel

50%
待验证

TorchScript 和 torch.compile 用于模型编译与加速

50%
待验证

torch.compile 的 fullgraph 模式会将整个模型计算图作为一个完整单元进行捕获和优化

50%
待验证

torch.compile 底层依赖 TorchDynamo 字节码拦截机制与 TorchInductor 代码生成后端

50%
待验证

在 fullgraph 模式下,依赖 Python 动态控制流或调用未做 FakeTensor 注册的外部 C++ 扩展的操作会导致 graph break,使编译失败

50%
待验证

vLLM 的内部实现改变将使其与 fullgraph 模式下的 torch.compile 不再兼容

50%
待验证

TorchInductor 是 torch.compile 的默认后端,在生成融合算子时大量依赖 Triton 作为代码生成的中间层

50%
待验证

torch.compile 对动态形状(dynamic shapes)、图断裂(graph breaks)等场景的处理提出了更高要求

50%
待验证

PyTorch的torch.compile、IREE以及众多AI芯片厂商的编译栈均构建于MLIR之上

50%
待验证

用户在模型前调用torch.compile(model)即可获得编译加速,在主流GPU上通常能带来10%–200%不等的推理或训练速度提升

50%
待验证

训练使用 batch 256、40 万步、EMA 0.9999、最后四分之一线性衰减学习率,torch.compile 相比 eager 提速 2.4×

50%
待验证

torch.compile 的设计目标之一是与 eager mode 保持语义兼容,开发者只需在模型外层加装饰器即可启用编译优化

50%
待验证

torch.compile只需在模型或函数前加一行装饰器即可生效,相比此前需要手动使用torch.jit.script或torch.jit.trace才能触发的编译优化,大幅降低了性能优化门槛

50%
待验证

在大模型训练场景中,torch.compile与FSDP(完全分片数据并行)的协同优化是社区最活跃的研究方向之一

50%

来源文章