本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon SageMaker AI 的機器學習概觀
本節會說明一般的機器學習 (ML) 工作流程,以及如何透過 Amazon SageMaker AI 完成這些任務。
您可以在機器學習中教導電腦進行預測或推論。首先,請使用演算法和範例資料來訓練模型。接著將模型整合至應用程式中,藉此大規模產生即時推論。
下圖顯示建立 ML 模型的典型工作流程。其中包含三個循環流程階段,我們之後會以圖表更詳細地說明:
-
產生範例資料
-
訓練模型
-
部署模型
圖表說明如何在多數典型案例中執行下列任務:
-
產生範例資料 - 若要訓練模型,您必須有範例資料。所需資料類型取決於您希望模型解決的業務問題。這攸關您希望模型產生什麼推論。例如,如果您要建立模型來預測手寫數字輸入影像的數字。如果要訓練此模型,則需具備手寫數字的範例影像。
資料科學家通常會投入時間來探索和預先處理範例資料,再將該資料運用在模型訓練上。如需預處理資料,通常需要執行以下作業:
-
擷取資料 - 您可能擁有內部範例資料儲存庫,或可能會使用可公開取得的資料集。一般而言,您會將資料集提取至單一儲存庫。
-
清除資料 - 為了改善模型訓練,請檢查資料並視需要執行清除作業。例如,假設資料的
country name屬性具備United States值與US值,您可以編輯資料以保持一致性。 -
準備或轉換資料 - 若要提升效能,您可能需要執行額外的資料轉換。例如,您可以選擇合併模型屬性,以預測飛行器需要除冰的條件。但不分別使用溫度和濕度屬性的情況,則您可以將這些屬性合併為一個新屬性,藉此取得效能更佳的模型。
在 SageMaker AI 中,您可以在整合式開發環境 (IDE) 中搭配使用 SageMaker API 和 SageMaker Python SDK
,預先處理範例資料。透過 SDK for Python (Boto3),您可以擷取、探索和準備資料以進行模型訓練。如需進一步了解如何準備、處理和轉換資料,請參閱 在 SageMaker AI 中選擇正確資料準備工具的建議、使用 SageMaker Processing 的資料轉換工作負載 和 使用 Feature Store 建立、存放和共用功能。 -
-
訓練模型 - 模型訓練作業包含訓練與評估模型,如下所示:
-
訓練模型 — 若要訓練模型,您需要演算法或預訓練的基礎模型。您所選的演算法會視多種因素而定。針對內建解決方案,您可以使用 SageMaker 提供的演算法。如需 SageMaker 提供的演算法清單以及相關考量事項,請參閱Amazon SageMaker 中的內建演算法和預先訓練模型。如需提供演算法和模型的基於使用者介面的訓練解決方案,請參閱SageMaker JumpStart 預先訓練模型。
您亦需擁有適用於訓練的運算資源。您的資源使用取決於訓練資料集的大小,以及您需要多快速地取得結果。單一一般用途執行個體到 GPU 執行個體分散式叢集的資源,您都可以使用。如需更多詳細資訊,請參閱 使用 Amazon SageMaker 訓練模型。
-
評估模型 - 模型訓練完成後,您需要評估該模型以判斷推論的準確度是否在可接受的範圍內。若要訓練和評估模型,請使用 SageMaker Python SDK
,透過其中一個可用 IDE 將推論請求傳送至模型。如需評估您模型的更多資訊,請參閱 使用 Amazon SageMaker Model Monitor 進行資料和模型品質監控。
-
-
部署模型 - 過去,您必須針對模型進行再造工程並整合至應用程式,才能部署模型。而有了 SageMaker AI 託管服務,您不但可以獨立部署模型,以將模型與應用程式碼分離。如需更多詳細資訊,請參閱 部署用於推論的模型。
機器學習屬於連續循環作業。部署模型完成後,您需要監控推論、收集更高品質的資料,以及評估該模型以找出漂移。然後,您要更新訓練資料並納入最新收集到的高品質資料,藉此提高推論的準確度。隨著可以使用的範例資料越來越多,您可持續重新訓練模型提高準確度。