PyTorch 2.0 效能儀表盤#
創建於: 2023年05月04日 | 最後更新於: 2025年06月10日
PyTorch 2.0 的效能在此 儀表盤 上進行 nightly 跟蹤。效能收集每晚在 12 個 GCP A100 節點上執行。每個節點包含一個 40GB A100 Nvidia GPU 和一個 6 核 2.2GHz Intel Xeon CPU。相應的 CI 工作流檔案可以在 這裡 找到。
如何閱讀儀表盤?#
著陸頁顯示了我們衡量的所有三個基準測試套件的表格:TorchBench、Huggingface 和 TIMM,以及一個基準測試套件的預設設定圖表。例如,預設圖表當前顯示 TorchBench 在過去 7 天的 AMP 訓練效能趨勢。頁面頂部的下拉列表可用於選擇不同的選項來查看錶格和圖表。除了透過率之外,那裡還報告了 3 個關鍵效能指標:幾何平均加速比、平均編譯時間 和 峰值記憶體佔用壓縮比。 幾何平均加速比 和 峰值記憶體佔用壓縮比 都與 PyTorch eager 效能進行比較,值越大越好。表格上的每個單獨的效能數字都可以點選,這將帶您進入一個顯示該特定基準測試套件中所有測試的詳細數字的檢視。
儀表盤上測量什麼?#
所有儀表盤測試都在此 函式 中定義。確切的測試配置可能會發生變化,但目前,我們使用 AMP 精度在三個基準測試套件上測量推理和訓練效能。我們還測量了 TorchInductor 的不同設定,包括 default、with_cudagraphs (default + cudagraphs) 和 dynamic (default + dynamic_shapes)。
合併 PR 之前,我可以在儀表盤上檢查我的 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 將為您提供有關基準測試指令碼選項的詳細說明。