别先把 torch.compile 写进训练模板:我把 6 类 graph break 跑完后,更建议先过这份排查清单
别先把 torch.compile 写进训练模板:我把 6 类 graph break 跑完后,更建议先过这份排查清单
很多人第一次上torch.compile时,看到脚本能跑就松了一口气,顺手把它塞进自己的训练模板:model = torch.compile(model),然后开始等 benchmark。真正最容易吞掉时间的,往往不是编译器直接报错,而是另一种更隐蔽的情况:图被悄悄切碎了,shape 一变又开始重编译,你以为“开了 compile”,其实关键路径还在 Python 里绕圈。
我这次没有去做一篇泛泛的 API 入门,而是直接在本地把最常见的几类写法跑了一遍:.item()、tensor 条件分支、.tolist()、print副作用,以及输入 shape 变化导致的 recompilation。结果很适合写成一份给工程师看的排查清单:什么会让图断掉,什么只是 guard 变了,什么能用一个开关补上,什么应该老老实实退回 eager。
如果你正准备把torch.compile引进训练脚本、推理入口或面试项目,这篇文章的目标很明确:帮你先少走半天到一天的弯路。
