快捷方式

PyTorch 2.0 性能仪表板

作者: Bin BaoHuy Do

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

如何阅读仪表板?

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

仪表板上测量什么?

仪表板上的所有测试都在此函数中定义。确切的测试配置可能会更改,但目前,我们测量了三个基准测试套件上的 AMP 精度下的推理和训练性能。我们还测量了 TorchInductor 的不同设置,包括 defaultwith_cudagraphs (default + cudagraphs)dynamic (default + dynamic_shapes)

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

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

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

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

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得您的问题解答

查看资源