在上建立生產就緒 ML 管線AWS - AWS 規定指引

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

在上建立生產就緒 ML 管線AWS

約西亞·戴維斯, 威爾第三月, 尹宋, 孫百川, 陳武, 和魏義雅普, Amazon Web Services (AWS)

2021 年 1 月(文件歷史記錄)

機器學習 (ML) 專案需要大量的多階段工作,包括建模、實作和生產,以提供商業價值並解決實際問題。每個步驟都有許多替代方案和自訂選項可供選擇,因此在資源和預算的限制內準備機器學習模型以進行生產環境變得越來越具挑戰性。在過去的幾年中,在 Amazon Web Services(AWS),我們的數據科學團隊曾與不同行業合作進行 ML 計劃。我們確定了許多人共享的痛點AWS來自組織問題和技術挑戰的客戶,我們已經開發出最佳方法來提供生產就緒的機器學習解決方案。

本指南適用於參與 ML 管道實作的資料科學家和 ML 工程師。它說明了我們提供生產就緒機器學習管線的方法。本指南討論如何從以互動方式 (在開發期間) 執行 ML 模型轉換為 ML 使用案例的管線的一部分 (在生產期間) 部署。為此,我們還開發了一組示例模板(請參閱ML 最大項目項目),加速將自訂 ML 解決方案交付到生產環境中,因此您可以快速開始使用,而不必做出太多設計選擇。

概要

建立生產就緒 ML 管線的程序包含下列步驟:

  • 步驟 1。執行 EDA 並開發初始模型— 資料科學家可在 Amazon Simple Storage Service (Amazon S3) 中使用原始資料、執行探索性資料分析 (EDA)、開發初始機器學習模型,並評估其推論效能。您可以透過 Jupyter 筆記本以互動方式進行這些活動。

  • 步驟 2。建立執行階段指令碼— 您將模型與運行時 Python 腳本集成在一起,以便可以通過 ML 框架管理和佈建(在我們的例子中,亞馬遜 SageMaker。這是從獨立模型的互動式開發邁向生產的第一步。具體而言,您可以分別定義預處理、評估、訓練和推論的邏輯。

  • 步驟 3。定義管道— 您可以為管線的每個步驟定義輸入和輸出預留位置。稍後會在執行階段期間提供這些具體值 (步驟 5)。您專注於訓練、推論、交叉驗證和回溯測試的管道。

  • 步驟 4。建立管道— 您創建的基礎設施, 包括AWS Step Functions通過使用以自動(幾乎一鍵式)的方式狀態機實例AWS CloudFormation。

  • 步驟 5。執行管道— 執行步驟 4 中定義的配管。您也可以準備中繼資料和資料或資料位置,以便為您在步驟 3 中定義的輸入/輸出預留位置填入具體值。這包括步驟 2 中定義的執行階段指令碼,以及模型超參數。

  • 步驟 6。擴大管道— 您實作持續整合與持續部署 (CI/CD) 程序、自動化再訓練、排程推論,以及管線的類似延伸。

下圖說明此程序的主要步驟 2.


    建立生產就緒 ML 管線的程序