本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon 的機器學習概述 SageMaker
本節說明典型的機器學習 (ML) 工作流程,並說明如何使用 Amazon 完成這些任務 SageMaker。
在機器學習中,您可以教導計算機進行預測或推論。首先,請使用演算法和範例資料來訓練模型。然後,您可以將模型整合到應用程式中,以便即時且大規模地產生推論。
下圖顯示建立 ML 模型的典型工作流程。它包括在一個圓形流程中的三個階段,我們將更詳細地介紹該圖表:
-
產生範例資料
-
訓練模型
-
部署模型
![ML 模型建立的三個階段。](images/ml-concepts-10.png)
此圖顯示如何在大多數一般情況下執行下列工作:
-
產生範例資料 — 若要訓練模型,您需要範例資料。您需要的資料類型取決於您希望模型解決的業務問題。這與您希望模型產生的推論有關。例如,如果您想要建立一個模型,從手寫數字的輸入影像中預測數字。要訓練此模型,您需要手寫數字的示例圖像。
在將範例資料用於模型訓練之前,資料科學家通常會花時間探索和預先處理範例資料。如需預處理資料,通常需要執行以下作業:
-
擷取資料 — 您可能擁有內部範例資料儲存庫,或者您可能會使用公開可用的資料集。一般而言,您會將資料集提取至單一儲存庫。
-
清理資料 — 若要改善模型訓練,請檢查資料並視需要進行清理。例如,如果您的資料具有包含值的
country name
屬United States
性US
,您可以編輯資料以保持一致。 -
準備或轉換資料 — 若要改善效能,您可以執行其他資料轉換。例如,您可以選擇合併預測飛機需要除冰條件的機型屬性。您可以將這些屬性合併為新屬性,以取得更好的模型,而不是單獨使用溫度和濕度屬性。
在中 SageMaker,您可以在整合式開發環境 (IDE) SDK 中使SageMaker APIs用 SageMaker Python
來預先處理範例資料。使SDK用 Python (Boto3),您可以擷取、探索和準備資料以進行模型訓練。有關資料準備、處理和轉換資料的資訊,請參閱在 中選擇正確資料準備工具的建議 SageMaker使用 SageMaker 處理的資料轉換工作負載、和使用 Feature Store 建立、儲存和共用功能。 -
-
訓練模型 — 模型訓練包括訓練和評估模型,如下所示:
-
訓練模型 — 若要訓練模型,您需要演算法或預先訓練的基礎模型。您所選的演算法會視多種因素而定。對於內置解決方案,您可以使用 SageMaker 提供的算法之一。如需提供的演算法清單 SageMaker 及相關考量,請參閱〈〉Amazon 中的內建演算法和預先訓練的模型 SageMaker。如需提供演算法和模型的基於使用者介面的訓練解決方案,請參閱SageMaker JumpStart 預先訓練的模型。
您亦需擁有適用於訓練的運算資源。您的資源使用取決於訓練資料集的大小以及您需要結果的速度。您可以使用從單一一般用途執行個體到分散式執行個體叢集的GPU資源。如需詳細資訊,請參閱用 Amazon 訓練模型 SageMaker。
-
評估模型 — 訓練模型之後,您可以對其進行評估,以確定推論的精確度是否可接受。若要訓練和評估您的模型,請使用 SageMaker Python SDK
透過其中一個可IDEs用的方式將要求傳送至模型以進行推論。如需評估模型的詳細資訊,請參閱使用 Amazon Model Monitor 進行資料和 SageMaker 模型品質監控。
-
-
部署模型 — 傳統上,在將模型與應用程式整合並部署之前,您需要重新設計模型。透過 SageMaker 主控服務,您可以獨立部署模型,從而將模型與應用程式程式碼分離。如需詳細資訊,請參閱部署用於推論的模型。
機器學習屬於連續循環作業。部署模型後,您可以監控推論、收集更多高品質資料,並評估模型以識別漂移。然後,您可以更新訓練資料以包含新收集的高品質資料,以提高推論的準確性。隨著更多範例資料可用,您可以繼續重新訓練模型以提高準確度。