本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
用 Amazon 訓練模型 SageMaker
Amazon SageMaker 培訓是由提供的全受管機器學習 (ML) 服務, SageMaker 可協助您有效率地大規模訓練各種機器學習模型。任 SageMaker 務的核心是機器學習工作負載的容器化,以及管理 AWS 運算資源的能力。 SageMaker 訓練平台負責設定和管理機器學習訓練工作負載基礎結構相關的繁重工作。透過 SageMaker 訓練,您可以專注於開發、訓練和微調模型。本頁介紹了三種建議的方法來開始訓練模型 SageMaker,然後是您可以考慮的其他選項。
提示
如需生成人工智慧訓練基礎模型的相關資訊,請參閱在 Amazon SageMaker Studio 中使用 SageMaker JumpStart 基礎模型。
在 Amazon SageMaker 培訓中選擇一個功能
內部訓練 ML 模型有三個主要使用案例 SageMaker。本節說明這些使用案例,以及我們針對每個使用案例建議的 SageMaker 功能。
無論您是要訓練複雜的深度學習模型,還是實作較小的機器學習演算法, SageMaker 訓練都能提供簡化且符合成本效益的解決方案,滿足您的使用案例
使用案例
以下是訓練機器學習模型的主要使用案例 SageMaker。
-
使用案例 1:在低程式碼或無程式碼環境中開發機器學習模型。
-
使用案例 2:使用程式碼開發具有更多彈性和控制能力的機器學習模型。
-
使用案例 3:大規模開發具有最大靈活性和控制力的機器學習模型。
推薦功能
下表說明訓練機器學習模型的三種常見案例,以及開始使用 SageMaker 訓練的對應選項。
使用案例 1 | 使用案例 2 | 使用案例 3 | |
---|---|---|---|
SageMaker 特徵 | 使用 Amazon SageMaker 畫布建立模型。 | 透過 Python SDK,使用其中一個SageMaker 內建的 ML 演算法 (例如 XGBoost 或工作特定模型) 來 SageMaker JumpStart訓練模型。 SageMaker | 利用中的指令碼模式或自訂容器,以最大的彈性大規模 |
描述 | 帶上您的資料。 SageMaker 協助管理建置機器學習模型,並設定訓練基礎結構和資源。 |
帶上您的資料,並選擇由提供的其中一種內建 ML 演算法 SageMaker。使用 SageMaker Python SDK 設定模型超參數、輸出指標和基本基礎結構設定。 SageMaker 培訓平台有助於提供培訓基礎設施和資源。 |
開發您自己的 ML 程式碼,並將其作為指令碼或一組指令碼帶到 SageMaker. 若要深入了解,請參閱使用 SageMaker 最佳做法的分散式運算。此外,您可以攜帶自己的 Docker 容器。 SageMaker 訓練平台可協助您根據自訂設定大規模佈建訓練基礎架構和資源。 |
最佳化 |
使用訓練資料集進行快速實驗,進行低/無程式碼和 UI 驅動的模型開發。當您建立自訂模型時,會根據您的資料自動選取演算法。如需演算法選取等進階自訂選項,請參閱進階模型建置組態。 |
使用超參數、基礎結構設定的高階自訂來訓練 ML 模型,以及直接使用 ML 架構和入口點指令碼的能力,以獲得更大的彈性。透過 Amazon SageMaker Python 開發套件 |
大規模的 ML 訓練工作負載,需要多個執行個體和最大的彈性。請參閱 SageMaker 最佳實務的分散式運算。 SageMaker 使用 Docker 映像來主持所有模型的培訓和服務。您可以使用任何 SageMaker 或外部演算法,並使用 Docker 容器來建置模型。 |
考量事項 |
最小的靈活性,可以自定義 Amazon SageMaker 帆布提供的模型。 |
與低階 SageMaker 訓練 API 相比, SageMaker Python SDK 提供簡化的介面和較少的設定選項。 |
需要 AWS 基礎架構和分散式訓練選項的知識。另請參閱使用訓練工具組建立您自己的SageMaker 訓練容器。 |
推薦環境 | 使用 Amazon SageMaker 帆布。要了解如何設置它,請參閱開始使用 SageMaker Canvas。 | SageMaker JupyterLab在 Amazon SageMaker 工作室內使用。要了解如何設置它,請參閱啟動 Amazon SageMaker 工作室。 | SageMaker JupyterLab在 Amazon SageMaker 工作室內使用。要了解如何設置它,請參閱啟動 Amazon SageMaker 工作室。 |
其他選項
SageMaker 提供以下訓練 ML 模型的額外選項。
SageMaker 提供訓練功能的功能
-
SageMaker JumpStart: SageMaker JumpStart 提供對包含最新 SageMaker 公開可用和專有基礎模型(FM)的公共模型中心的訪問。您可以在 Amazon SageMaker Studio 中微調、評估和部署這些模型。 SageMaker JumpStart 簡化將基礎模型運用於生成式 AI 使用案例的程序,並允許您建立私有模型中樞以使用基礎模型,同時強制執行治理護欄,並確保您的組織只能存取已核准的模型。若要開始使用 SageMaker JumpStart,請參閱SageMaker JumpStart 基礎模型。
-
SageMaker HyperPod: SageMaker HyperPod 是一種持續性叢集服務,適用於需要彈性叢集以進行大規模機器學習 (ML) 工作負載和開發 state-of-the-art 基礎模型 (FMs) 的使用案例。它通過消除涉及構建和維護由數千個加速器(例如 AWS Trainium 或 NVIDIA A100 和 H100 圖形處理單元(GPU)提供支持的大規模計算集群,從而加速此類模型的開發。您可以使用工作負載管理器軟體,例如 Slurm on。 HyperPod
更多 SageMaker 訓練功能
-
超參數調整:此 SageMaker 功能有助於為模型定義一組超參數,並在資料集上啟動許多訓練工作。視超參數值而定,模型訓練效能可能會有所不同。此功能會在您設定要搜尋的指定超參數範圍內,提供效能最佳的超參數集。
-
分散式訓練:使用 NVIDIA CUDA 和其他基於框架構構建的 PyTorch預訓或微調 FM。 PyTorch若要有效利用 GPU 執行個體,請使用提供集體通訊作業的 SageMaker 分散式訓練程式庫,以及各種模型平行處理技術,例如針對基礎結構最佳化的專家平行處理和共用資料平行處理原則。 AWS
-
可觀察性功能:使用 SageMaker 訓練的剖析和偵錯功能,深入瞭解模型訓練工作負載、模型效能和資源使用率。若要深入了解,請參閱偵錯和改善模型效能和設定檔並最佳化運算效能。
-
節省成本且有效率的執行個體選項:若要最佳化訓練執行個體佈建的運算成本和效率,請使用異質叢集、受管 Spot 執行個體或受管暖集區。