快捷方式

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 個主要的效能指標報告:Geometric mean speedup (幾何平均加速)、Mean compilation time (平均編譯時間) 和 Peak memory footprint compression ratio (峰值記憶體佔用壓縮率)。Geometric mean speedupPeak memory footprint compression ratio 都是與 PyTorch eager 模式的效能進行比較,數值越大越好。可以點擊這些表格上的每個單獨的效能數字,這將會帶您到一個視窗,其中包含該特定基準測試套件中所有測試的詳細數字。

儀表板上測量什麼?

所有儀表板測試都在這個 function 中定義。確切的測試配置可能會有所變更,但目前,我們會測量三個基準測試套件上具有 AMP 精度的推理和訓練效能。我們還測量了 TorchInductor 的不同設定,包括 default (預設)、with_cudagraphs (default + cudagraphs) (使用 cudagraphs (預設 + cudagraphs)) 和 dynamic (default + dynamic_shapes) (動態 (預設 + 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 的完整開發人員文件

檢視文件

教學

取得針對初學者和進階開發人員的深入教學

檢視教學

資源

尋找開發資源並取得您問題的解答

檢視資源