本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 6. 展開管道
本指南說明如何使用具體架構,在 上 AWS 快速開始建置 ML 管道。使管道成熟還有其他考量,例如中繼資料管理、實驗追蹤和監控。這些是本指南範圍以外的重要主題。以下各節討論管道管理的另一個層面,即管道自動化。
不同層級的自動化
雖然您可以在 SageMaker AI 主控台中手動設定訓練管道,但實際上,我們建議將 ML 訓練管道部署中的手動接觸點降至最低,以確保持續且重複地部署 ML 模型。根據您的需求和要解決的業務問題,您可以判斷和實作三個層級的部署策略:半自動化、全自動化和全受管。
-
半自動化 – 根據預設,上一節討論的步驟遵循半自動化方法,因為它們使用 AWS CloudFormation 範本部署訓練和推論管道。這有助於確保管道的重現性,並協助您輕鬆變更和更新管道。
-
完全自動化 – 更進階的選項是將持續整合和持續部署 (CI/CD) 用於開發、預備和生產環境。將 CI/CD 實務納入訓練管道的部署,可確保自動化包含可追蹤性和品質閘道。
-
完全受管 – 最終,您可以開發完全受管的系統,以便您可以使用一組簡單的資訊清單部署 ML 訓練管道,並且系統可以自行設定和協調所需的 AWS 服務。
在本指南中,我們選擇呈現具體的架構。不過,您可以考慮使用其他技術。接下來的兩個部分討論平台和協調引擎的一些替代選擇。
適用於 ML 工作負載的不同平台
Amazon SageMaker AI
-
內建可追蹤性 (包括標籤、訓練、模型追蹤、最佳化和推論)。
-
內建一鍵式選項,可用於以最少的 Python 和 ML 體驗進行訓練和推論。
-
進階超參數調校。
-
支援所有主要人工智慧和機器學習 (ML/AI) 架構和自訂 Docker 容器。
-
內建監控功能。
-
歷史記錄的內建追蹤,包括訓練任務、處理任務、批次轉換任務、模型、端點和可搜尋性。有些歷史記錄,例如訓練、處理和批次轉換,是不可變且僅附加的。
使用 SageMaker AI 的替代方案之一是 AWS Batch
-
Out-of-the-box工作負載立即可用的運算資源自動擴展。
-
Out-of-the-box支援任務優先順序、重試和任務相依性。
-
佇列型方法,支援建置遞迴和隨需任務。
-
支援 CPU 和 GPU 工作負載。使用 GPU 建置 ML 模型的能力至關重要,因為 GPU 可以大幅加快訓練程序,尤其是深度學習模型。
-
能夠定義運算環境的自訂 Amazon Machine Image (AMI)。
適用於管道協調的不同引擎
第二個主要元件是管道協同運作層。 AWS 提供 Step Functions
-
必要的基礎設施 – AWS Step Functions 是全受管服務,而且是無伺服器服務,而 Airflow 需要管理您自己的基礎設施,並以開放原始碼軟體為基礎。因此,Step Functions 提供立即可用的高可用性,而管理 Apache Airflow 需要額外的步驟。
-
排程功能 – Step Functions 和 Airflow 都提供類似的功能。
-
視覺化功能和 UI – Step Functions 和 Airflow 都提供類似的功能。
-
在運算圖表中傳遞變數 – Step Functions 提供有限的 AWS Lambda 函數使用功能,而 Airflow 則提供 XCom 介面。
-
用量 – Step Functions 廣受 AWS 客戶歡迎,而 Airflow 已被資料工程社群廣泛採用。