Shortcuts

PyTorch 2.0 性能仪表板

作者: Bin BaoHuy Do

PyTorch 2.0 的性能每晚都会在这个仪表板上进行跟踪。 性能收集每晚在12个GCP A100节点上运行。每个节点包含一个40GB的A100 Nvidia GPU和 一个6核2.2GHz的Intel Xeon CPU。相应的CI工作流文件可以在这里找到 这里

如何阅读仪表盘?

着陆页显示了我们测量的所有三个基准测试套件的表格,TorchBenchHuggingfaceTIMM, 以及默认设置下的一个基准测试套件的图表。例如,默认图表现在显示了过去7天内 TorchBench 的AMP训练性能趋势。该页面顶部的下拉列表可以选择查看具有不同选项的表格和图表。除了通过率外,还有3个关键性能指标报告在那里:几何平均加速平均编译时间峰值内存占用压缩比几何平均加速峰值内存占用压缩比 都与PyTorch eager性能进行比较,数值越大越好。这些表格中的每个单独性能数字都可以点击, 这将带您到一个视图,其中包含该特定基准测试套件中所有测试的详细数字。

仪表盘上测量了什么?

所有仪表板测试都在这个 函数中定义。 确切的测试配置可能会发生变化,但目前,我们使用AMP精度在三个基准测试套件上测量推理和训练性能。我们还测量了不同设置的TorchInductor, 包括默认with_cudagraphs (默认 + cudagraphs)动态 (默认 + 动态形状)

我可以在合并之前检查我的PR是否影响TorchInductor在仪表板上的性能吗?

可以通过点击运行 工作流按钮 这里 并选择您的PR分支来手动触发单个仪表板运行。这将启动一个包含您PR更改的完整仪表板运行。 完成后,您可以通过在性能仪表板UI上选择相应的分支名称和提交ID来查看结果。请注意,这是一个资源消耗较大的CI运行。由于资源有限,请明智地使用此功能。

我如何在本地运行任何性能测试?

在任何最近的CI运行日志中都可以找到完整的仪表板运行期间使用的确切命令行。 工作流页面 是查找一些最近运行日志的好地方。 在这些日志中,您可以搜索类似于 python benchmarks/dynamo/huggingface.py --performance --cold-start-latency --inference --amp --backend inductor --disable-cudagraphs --device cuda 的行,如果您有与PyTorch 2.0一起工作的GPU,可以在本地运行它们。 python benchmarks/dynamo/huggingface.py -h 将为您提供基准测试脚本选项的详细说明。

优云智算