本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon SageMaker AI 上使用受管 MLflow 加速生成式 AI 開發
Amazon SageMaker AI 上的全受管 MLflow 3.0 可讓您使用單一工具,更輕鬆地追蹤實驗並監控模型和 AI 應用程式的效能,進而加速生成式 AI。
使用 MLflow 3.0 進行生成式 AI 開發
隨著各產業的客戶加速生成式 AI 開發,他們需要能夠追蹤實驗、觀察行為,以及評估模型和 AI 應用程式的效能。資料科學家和開發人員缺乏工具來分析從實驗到生產的模型和 AI 應用程式的效能,使得難以根源和解決問題。團隊花費更多時間整合工具,而不是改善其模型或生成式 AI 應用程式。
訓練或微調生成式 AI 和機器學習是一種反覆程序,需要實驗各種資料、演算法和參數組合,同時觀察它們對模型準確性的影響。實驗的反覆性質會導致許多模型訓練執行和版本,使得追蹤效能最佳的模型及其組態具有挑戰性。管理和比較反覆訓練執行的複雜性隨著 GenAI 而增加,其中實驗不僅涉及微調模型,還探索創意和多樣化的輸出。研究人員必須調整超參數、選取適合的模型架構,並策劃各種資料集,以最佳化所產生內容的品質和創造力。評估生成式 AI 模型需要定量和定性指標,為實驗程序增加另一層複雜性。Amazon SageMaker AI 上 MLflow 3.0 中的實驗追蹤功能可讓您追蹤、組織、檢視、分析和比較反覆式 ML 實驗,以取得比較性洞見並註冊和部署效能最佳的模型。
全受管 MLflow 3.0 中的追蹤功能可讓您在生成式 AI 應用程式的每個步驟記錄輸入、輸出和中繼資料,協助您快速識別錯誤或非預期行為的來源。透過維護每個模型和應用程式版本的記錄,全受管 MLflow 3.0 提供可追蹤性,將 AI 回應連接到其來源元件,讓您可以直接將問題追蹤到產生該回應的特定程式碼、資料或參數。這可大幅縮短故障診斷時間,並讓團隊更專注於創新。
MLflow 整合
在訓練和評估模型時使用 MLflow,為您的使用案例尋找最佳候選項目。您可以在 MLflow UI 中跨實驗比較模型效能、參數和指標、在 MLflow Model Registry 中追蹤最佳模型、自動將它們註冊為 SageMaker AI 模型,並將註冊的模型部署到 SageMaker AI 端點。
Amazon SageMaker AI 與 MLflow
使用 MLflow 來追蹤和管理機器學習 (ML) 生命週期的實驗階段,以及模型開發、管理、部署和追蹤的 AWS 整合。
Amazon SageMaker Studio
建立和管理追蹤伺服器、執行筆記本以建立實驗,以及存取 MLflow UI 來檢視和比較透過 Studio 執行的所有實驗。
SageMaker Model Registry
透過自動註冊從 MLflow Model Registry 到 SageMaker Model Registry 的模型,來管理生產的模型版本和目錄模型。如需詳細資訊,請參閱自動向 SageMaker Model Registry 註冊 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 追蹤伺服器時,系統會自動在 SageMaker AI 服務帳戶中設定後端存放
成品儲存
若要為 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 版本 |
---|---|
MLflow 3.0 |
Python 3.9 |
MLflow 2.16 |
Python 3.8 |
MLflow 2.13 |
Python 3.8 |
追蹤伺服器的最新版本具有最新的功能、安全修補程式和錯誤修正。當您建立新的追蹤伺服器時,我們建議您使用最新版本。如需建立追蹤伺服器的詳細資訊,請參閱 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
AWS CloudTrail 也會自動記錄與 MLflow 資料平面相關的活動。下列資料平面 API 呼叫會記錄在 CloudTrail 中。對於事件名稱,新增字首 Mlflow
(例如 MlflowCreateExperiment
)。
-
CreateExperiment
-
CreateModelVersion
-
CreateRegisteredModel
-
CreateRun
-
DeleteExperiment
-
DeleteModelVersion
-
DeleteModelVersionTag
-
DeleteRegisteredModel
-
DeleteRegisteredModelAlias
-
DeleteRegisteredModelTag
-
DeleteRun
-
DeleteTag
-
GetDownloadURIForModelVersionArtifacts
-
GetExperiment
-
GetExperimentByName
-
GetLatestModelVersions
-
GetMetricHistory
-
GetModelVersion
-
GetModelVersionByAlias
-
GetRegisteredModel
-
GetRun
-
ListArtifacts
-
LogBatch
-
LogInputs
-
LogMetric
-
LogModel
-
LogParam
-
RenameRegisteredModel
-
RestoreExperiment
-
RestoreRun
-
SearchExperiments
-
SearchModelVersions
-
SearchRegisteredModels
-
SearchRuns
-
SetExperimentTag
-
SetModelVersionTag
-
SetRegisteredModelAlias
-
SetRegisteredModelTag
-
SetTag
-
TransitionModelVersionStage
-
UpdateExperiment
-
UpdateModelVersion
-
UpdateRegisteredModel
-
UpdateRun
-
FinalizeLoggedModel
-
GetLoggedModel
-
DeleteLoggedModel
-
SearchLoggedModels
-
SetLoggedModelTags
-
DeleteLoggedModelTag
-
ListLoggedModelArtifacts
-
LogLoggedModelParams
-
LogOutputs
如需有關 CloudTrail 的相關資訊,請參閱 AWS CloudTrail 使用者指南。
Amazon EventBridge 事件
使用 EventBridge 將事件從使用 MLflow 搭配 SageMaker AI 路由到整個組織的取用者應用程式。下列事件會傳送至 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 使用者指南》。