在 SageMaker Canvas 中自動化資料準備 - Amazon SageMaker AI

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

在 SageMaker Canvas 中自動化資料準備

在資料流程中轉換資料之後,您可以將轉換匯出至機器學習工作流程。當您匯出轉換時,SageMaker Canvas 會建立 Jupyter 筆記本。您必須在 Amazon SageMaker Studio Classic 中執行筆記本。如需有關開始使用 Studio Classic 的資訊,請聯絡您的管理員。

使用管道自動化資料準備

當您想要建置和部署大規模機器學習 (ML) 工作流程時,您可以使用管道來建立工作流程來管理和部署 SageMaker AI 任務。透過管道,您可以建置工作流程來管理 SageMaker AI 資料準備、模型訓練和模型部署任務。您可以使用 Pipelines 來使用 SageMaker AI 提供的第一方演算法。如需管道的詳細資訊,請參閱 SageMaker 管道

當您將一或多個步驟從資料流程匯出至管道時,Data Wrangler 會建立 Jupyter 筆記本,可用來定義、執行個體化、執行和管理管道。

使用 Jupyter 筆記本建立管道

使用下列程序建立 Jupyter 筆記本,將您的 Data Wrangler 流程匯出至管道。

使用下列程序來產生 Jupyter 筆記本,並執行它以將 Data Wrangler 流程匯出至管道。

  1. 選擇欲匯出的節點旁的 + 號。

  2. 選擇匯出資料流程

  3. 選擇管道 (透過 Jupyter 筆記本)

  4. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 中存取的 Amazon S3 位置。如果您需要適當位置的指導,請聯絡您的管理員。

  5. 執行 Jupyter 筆記本。

您可以使用 Data Wrangler 產生的 Jupyter 筆記本來定義管道。管道包括 Data Wrangler 流程所定義的資料處理步驟。

您可以將步驟新增至筆記本中下列程式碼的 steps 清單,以將其他步驟新增至管道:

pipeline = Pipeline( name=pipeline_name, parameters=[instance_type, instance_count], steps=[step_process], #Add more steps to this list to run in your Pipeline )

如需定義管道的詳細資訊,請參閱定義 SageMaker AI 管道

使用推論端點自動化資料準備

使用 Data Wrangler 流程,從 Data Wrangler 流程建立 SageMaker AI 序列推論管道,在推論時處理資料。推論管道是一系列步驟,可讓經過訓練的模型對新資料進行預測。Data Wrangler 中的序列推論管道可轉換原始資料,並將其提供給機器學習模型以進行預測。您可以從 Studio Classic 中的 Jupyter 筆記本建立、執行和管理推論管道。如需存取筆記本的詳細資訊,請參閱使用 Jupyter 筆記本來建立推論端點

在筆記本中,您可以訓練機器學習模型,也可以指定您已經訓練過的模型。您可以使用 Amazon SageMaker Autopilot 或 XGBoost 來訓練模型,使用您在 Data Wrangler 流程中轉換的資料來訓練模型。

管道具有執行批次或即時推論的功能。您也可以將 Data Wrangler 流程新增至 SageMaker Model Registry。若要取得關於託管模型的詳細資訊,請參閱多模型端點

重要

如果 Data Wrangler 流程具有下列轉換,則無法將其匯出至推論端點:

  • Join

  • 串連

  • 分組依據

如果您必須使用前述轉換來準備資料,請使用下列程序。

使用不支援的轉換準備資料以進行推論
  1. 建立 Data Wrangler 流程。

  2. 套用不支援的先前轉換。

  3. 將資料匯出至 Amazon S3 儲存貯體。

  4. 建立個別 Data Wrangler 流程。

  5. 匯入您從先前流程匯出的資料。

  6. 套用剩餘的轉換。

  7. 使用我們提供的 Jupyter 筆記本建立序列推論管道。

如需將資料匯出至 Amazon S3 儲存貯體的詳細資訊,請參閱匯出資料。如需開啟用來建立序列推論管道的 Jupyter 筆記本詳細資訊,請參閱使用 Jupyter 筆記本來建立推論端點

Data Wrangler 會忽略在推論時移除資料的轉換。例如,如果您使用刪除遺失的組態,則 Data Wrangler 會忽略 處理缺少值 轉換。

如果您已將重新調整整個資料集的轉換,則轉換會繼承至您的推論管道。例如,如果您使用中位數值來推算缺少的值,則重新調整轉換的中位數值會套用至您的推論請求。當您使用 Jupyter 筆記本或將資料匯出至推論管道時,您可以從 Data Wrangler 流程重新調整轉換。

序列推論管道支援輸入和輸出字串的下列資料類型。每種資料類型都有一組請求。

支援的資料類型
  • text/csv — CSV 字串的資料類型

    • 字串不能有標題。

    • 用於推論管道的功能必須與訓練資料集中的功能順序相同。

    • 功能之間必須有逗號分隔符號。

    • 記錄必須以換行字元分隔。

    以下範例是您可以在推論請求中提供的有效格式 CSV 字串。

    abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890
  • application/json — JSON 字串的資料類型

    • 用於推論管道中的資料集功能必須與訓練資料集中的功能順序相同。

    • 資料必須具有特定的結構描述。您可以將結構描述定義為具有一組 features 的單一 instances 物件。每個 features 物件都代表一個觀察。

    以下範例是您可以在推論請求中提供的有效格式 JSON 字串。

    { "instances": [ { "features": ["abc", 0.0, "Doe, John", 12345] }, { "features": ["def", 1.1, "Doe, Jane", 67890] } ] }

使用 Jupyter 筆記本來建立推論端點

使用下列程序匯出 Data Wrangler 流程,以建立推論管道。

若要使用 Jupyter 筆記本建立推論管道,請執行下列動作。

  1. 選擇欲匯出節點旁的 +

  2. 選擇匯出資料流程

  3. 選擇 SageMaker AI 推論管道 (透過 Jupyter Notebook)

  4. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 中存取的 Amazon S3 位置。如果您需要適當位置的指導,請聯絡您的管理員。

  5. 執行 Jupyter 筆記本。

當您執行 Jupyter 筆記本時,它會建立推論流程成品。推論流程成品是 Data Wrangler 流程檔案,其中包含用於建立序列推論管道的其他中繼資料。您要匯出的節點會包含先前節點的所有轉換。

重要

Data Wrangler 需要推論流程成品才能執行推論管道。您無法使用自己的流程檔案做為成品。您必須使用上述程序來建立。

使用 Python Code 自動化資料準備

若要將資料流程中的所有步驟匯出至可手動整合至任何資料處理工作流程的 Python 檔案,請使用下列程序。

使用下列程序來產生 Jupyter 筆記本,並執行它以將 Data Wrangler 流程匯出至 Python 程式碼。

  1. 選擇欲匯出節點旁的 +

  2. 選擇匯出資料流程

  3. 選擇 Python 程式碼

  4. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 中存取的 Amazon S3 位置。如果您需要適當位置的指導,請聯絡您的管理員。

  5. 執行 Jupyter 筆記本。

您可能需要設定 Python 指令碼,使其在您的管道中執行。例如,如果您正在執行 Spark 環境,請確定您從具有存取 AWS 資源許可的環境執行指令碼。