選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

最佳化工具狀態碎片

焦點模式
最佳化工具狀態碎片 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

最佳化工具狀態碎片是有用的節省記憶體技術,可跨資料平行裝置群組碎片化最佳化工具狀態 (描述最佳化工具狀態的權重集)。每當您使用具狀態的最佳化工具 (例如 Adam) 或 FP16 最佳化工具 (儲存參數的 FP16 與 FP32 副本) 時,都可使用最佳化工具狀態碎片。

注意

最佳化工具狀態碎片適用 SageMaker 模型平行處理程式庫 v1.6.0 及更高版本的 PyTorch。

如何使用最佳化工具狀態碎片

您可以透過在 modelparallel 組態 設定 "shard_optimizer_state": True 來開啟最佳化工具狀態碎片

當開啟此功能時,程式庫會基於資料平行處理程度分割模型參數集。對應於第 i 個分區的漸層僅會於第 i 個資料平行等級縮減。在第一次呼叫 smp.step 裝飾項目函式結束時,由 smp.DistributedOptimizer 包裝的最佳化工具會重新定義其參數,以便僅限對應目前資料平行等級分區的參數。重新定義的參數稱為虛擬參數,並與原始參數共用基礎儲存。在第一次呼叫 optimizer.step 期間,會基於這些重新定義的參數建立最佳化工具狀態,這些參數會因為原始分割而進行碎片處理。在更新最佳化工具之後,AllGather 作業 (做為 optimizer.step 呼叫的一部分) 會跨資料平行等級執行,以達到一致參數狀態。

提示

當資料平行處理的程度大於 1 且模型具十億個以上的參數時,最佳化工具狀態碎片很有幫助。

資料平行處理的程度由 (processes_per_host * instance_count / pipeline_parallel_degree) 計算,而 smp.dp_size() 函式會在背景處理大小。

設定 SageMaker PyTorch 估算器

mpi_options = { "enabled" : True, "processes_per_host" : 8, # 8 processes "custom_mpi_options" : "--mca btl_vader_single_copy_mechanism none " } smp_options = { "enabled":True, "parameters": { "microbatches": 4, "pipeline_parallel_degree": 2, # alias for "partitions" "placement_strategy": "cluster", "tensor_parallel_degree": 2, # tp over 2 devices "ddp": True, "shard_optimizer_state": True } }

調整 PyTorch 訓練指令碼

請參閱結合管道平行處理的張量平行處理區段的調整 PyTorch 訓練指令碼。此指令碼不需要其他修改。

在本頁面

下一個主題:

啟用檢查點

上一個主題:

排名機制
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。