快捷方式

PyTorch 2.0 性能仪表盘

作者: Bin BaoHuy Do

PyTorch 2.0 的性能每天晚上都会在这个 仪表盘 上进行跟踪。性能收集每天晚上都会在 12 个 GCP A100 节点上运行。每个节点包含一个 40GB 的 A100 Nvidia GPU 和一个 6 核 2.2GHz 英特尔至强 CPU。相应的 CI 工作流程文件可以在 此处 找到。

如何阅读仪表盘?

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

仪表盘上测量了什么?

所有仪表盘测试都在此 函数 中定义。确切的测试配置可能会发生变化,但目前,我们使用 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 的行,并在本地运行它们(如果您有一个支持 PyTorch 2.0 的 GPU)。 python benchmarks/dynamo/huggingface.py -h 将提供有关基准测试脚本选项的详细说明。

文档

访问 PyTorch 的综合开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

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

查看资源