本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon SageMaker AI with MLflow 是 Amazon SageMaker AI 的功能,可讓您建立、管理、分析和比較機器學習實驗。
機器學習中的實驗
機器學習是一種反覆程序,需要嘗試各種資料、演算法和參數組合,同時觀察它們對模型準確性的影響。ML 實驗的反覆性質會導致許多模型訓練執行和版本,因此追蹤最佳效能模型及其組態具有挑戰性。管理和比較反覆訓練執行的複雜性隨著生成式人工智慧 (生成式 AI) 而增加,其中實驗不僅涉及微調模型,還涉及探索創意和多樣化的輸出。研究人員必須調整超參數、選取適合的模型架構,並策劃各種資料集,以最佳化所產生內容的品質和創意。評估生成式 AI 模型需要定量和定性指標,為實驗程序新增另一層複雜性。
搭配 Amazon SageMaker AI 使用 MLflow 來追蹤、組織、檢視、分析和比較反覆的 ML 實驗,以取得比較性洞見,並註冊和部署效能最佳的模型。
MLflow 整合
在訓練和評估模型時使用 MLflow,為您的使用案例尋找最佳候選項目。您可以在 MLflow UI 中跨實驗比較模型效能、參數和指標、在 MLflow 模型登錄檔中追蹤最佳模型、自動將它們註冊為 SageMaker AI 模型,並將註冊的模型部署到 SageMaker AI 端點。
Amazon SageMaker AI 與 MLflow
使用 MLflow 來追蹤和管理機器學習 (ML) 生命週期的實驗階段,並 AWS 整合模型開發、管理、部署和追蹤。
Amazon SageMaker Studio
建立和管理追蹤伺服器、執行筆記本以建立實驗,以及存取 MLflow UI 來檢視和比較實驗透過 Studio 執行。
SageMaker Model Registry
透過自動將模型從 MLflow 模型登錄檔註冊到 SageMaker 模型登錄檔,來管理生產的模型版本和目錄模型。如需詳細資訊,請參閱使用 SageMaker 模型登錄檔自動註冊 SageMaker AI 模型。
SageMaker AI 推論
使用 準備要在 SageMaker AI 端點上部署的最佳模型ModelBuilder
。如需詳細資訊,請參閱使用 部署 MLflow 模型 ModelBuilder。
AWS Identity and Access Management
使用角色型存取控制 (RBAC) 搭配 IAM 設定 MLflow 的存取。撰寫 IAM 身分政策,以授權 MLflow 追蹤伺服器的用戶端可呼叫的 MLflow APIs。所有 MLflow REST APIs都會在sagemaker-mlflow
服務字首下以 IAM 動作表示。如需詳細資訊,請參閱設定 MLflow 的 IAM 許可。
AWS CloudTrail
檢視 中的日誌 AWS CloudTrail ,以協助您啟用 AWS 帳戶的營運和風險稽核、控管和合規。如需詳細資訊,請參閱AWS CloudTrail 日誌。
Amazon EventBridge
使用 Amazon EventBridge 擷取的 MLflow 事件,自動化模型檢閱和部署生命週期。如需詳細資訊,請參閱Amazon EventBridge 事件。
支援的 AWS 區域
Amazon SageMaker AI with MLflow 通常可在 Amazon SageMaker Studio 可用的所有 AWS 商業區域中使用,但中國區域除外 AWS GovCloud (US) 。SageMaker AI with MLflow 僅適用於歐洲 AWS CLI (蘇黎世)、亞太區域 (海德拉巴)、亞太區域 (墨爾本) 和加拿大西部 (卡加利) AWS 區域。
追蹤伺服器會在其指定區域內的單一可用區域中啟動。
運作方式
MLflow 追蹤伺服器有三個主要元件:運算、後端中繼資料儲存和成品儲存。託管追蹤伺服器的運算和後端中繼資料儲存體會安全地託管在 SageMaker AI 服務帳戶中。成品儲存體位於您 AWS 帳戶中的 Amazon S3 儲存貯體中。

追蹤伺服器具有 ARN。您可以使用此 ARN 將 MLflow SDK 連接至您的追蹤伺服器,並開始記錄訓練執行至 MLflow。
如需下列重要概念的詳細資訊,請繼續閱讀:
後端中繼資料儲存
當您建立 MLflow 追蹤伺服器時,後端存放
成品儲存
若要為 MLflow 提供每次執行中繼資料的持久性儲存,例如模型權重、影像、模型檔案和實驗執行的資料檔案,您必須使用 Amazon S3 建立成品存放區。成品存放區必須在 AWS 您的帳戶中設定,而且您必須明確授予 MLflow 對 Amazon S3 的存取權,才能存取您的成品存放區。如需詳細資訊,請參閱 MLflow 文件中的成品存放
MLflow 追蹤伺服器大小
您可以選擇性地在 Studio UI 中或透過 AWS CLI 參數 指定追蹤伺服器的大小--tracking-server-size
。您可以選擇 "Small"
、 "Medium"
和 "Large"
。預設 MLflow 追蹤伺服器組態大小為 "Small"
。您可以根據追蹤伺服器的預計使用量選擇大小,例如記錄的資料量、使用者數量和使用頻率。
我們建議為最多 25 名使用者的團隊使用小型追蹤伺服器、為最多 50 名使用者的團隊使用中型追蹤伺服器,以及為最多 100 名使用者的團隊使用大型追蹤伺服器。我們假設所有使用者都會向您的 MLflow 追蹤伺服器提出並行請求,以提出這些建議。您應該根據預期的使用模式和每個追蹤伺服器支援的 TPS (每秒交易數),選取追蹤伺服器大小。
注意
工作負載的性質和您對追蹤伺服器提出的請求類型,會決定您看到的 TPS。
追蹤伺服器大小 | 持續 TPS | 爆量 TPS |
---|---|---|
小型 | 最高 25 | 最高 50 |
中 | 最高 50 | 最多 100 個 |
大型 | 最多 100 個 | 最多 200 個 |
追蹤伺服器版本
下列 MLflow 版本可與 SageMaker AI 搭配使用:
MLflow 版本 | Python 版本 | SageMaker AI 版本 |
---|---|---|
MLflow 2.16 |
Python 3.8 |
0.1.0 |
MLflow 2.13 |
Python 3.8 |
0.1.0 |
追蹤伺服器的最新版本具有最新的功能、安全修補程式和錯誤修正。當您建立新的追蹤伺服器時,我們建議您使用最新版本。如需建立追蹤伺服器的詳細資訊,請參閱MLflow 追蹤伺服器。
MLflow 追蹤伺服器語意版本控制。版本格式如下:
。major-version
.minor-version
.patch-version
最新功能,例如新的 UI 元素和 API 功能都位於次要版本中。
AWS CloudTrail 日誌
AWS CloudTrail 會自動記錄與您的 MLflow 追蹤伺服器相關的活動。下列 API 呼叫會記錄在 CloudTrail 中:
-
CreateMlflowTrackingServer
-
DescribeMlflowTrackingServer
-
UpdateMlflowTrackingServer
-
DeleteMlflowTrackingServer
-
ListMlflowTrackingServers
-
CreatePresignedMlflowTrackingServer
-
StartMlflowTrackingServer
-
StopMlflowTrackingServer
如需有關 CloudTrail 的相關資訊,請參閱 AWS CloudTrail 使用者指南。
Amazon EventBridge 事件
使用 EventBridge 將事件從搭配 SageMaker AI 使用 MLflow 路由至整個組織的取用者應用程式。下列事件會傳送至 EventBridge:
-
「建立 SageMaker 追蹤伺服器」
-
「建立 SageMaker 追蹤伺服器」
-
「SageMaker 追蹤伺服器建立失敗」
-
「SageMaker 追蹤伺服器更新」
-
「SageMaker 追蹤伺服器已更新」
-
「SageMaker 追蹤伺服器更新失敗」
-
「SageMaker 追蹤伺服器刪除」
-
「已刪除 SageMaker 追蹤伺服器」
-
「SageMaker 追蹤伺服器刪除失敗」
-
「SageMaker 追蹤伺服器啟動」
-
「SageMaker 追蹤伺服器已啟動」
-
「SageMaker 追蹤伺服器啟動失敗」
-
「SageMaker 追蹤伺服器停止」
-
「SageMaker 追蹤伺服器已停止」
-
「SageMaker 追蹤伺服器停止失敗」
-
「SageMaker 追蹤伺服器維護進行中」
-
"SageMaker 追蹤伺服器維護完成"
-
「SageMaker 追蹤伺服器維護失敗」
-
「SageMaker MLFlow 追蹤伺服器建立執行」
-
"SageMaker MLFlow 追蹤伺服器建立 RegisteredModel"
-
「SageMaker MLFlow 追蹤伺服器建立 ModelVersion」
-
「SageMaker MLFlow 追蹤伺服器轉換ModelVersion階段」
-
「SageMaker MLFlow 追蹤伺服器設定已註冊模型別名」
如需 EventBridge 的詳細資訊,請參閱 Amazon EventBridge 使用者指南。