PyTorch 2.0 效能儀表板¶
PyTorch 2.0 的效能會在此 儀表板 上每晚追蹤。效能收集作業每晚會在 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 的不同設定,包括 預設、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 將為您提供基準測試指令碼選項的詳細說明。