

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

# 使用 Amazon SageMaker AI 的機器學習概觀
<a name="how-it-works-mlconcepts"></a>

本節會說明一般的機器學習 (ML) 工作流程，以及如何透過 Amazon SageMaker AI 完成這些任務。

您可以在機器學習中*教導*電腦進行預測或推論。首先，請使用演算法和範例資料來訓練模型。接著將模型整合至應用程式中，藉此大規模產生即時推論。

下圖顯示建立 ML 模型的典型工作流程。其中包含三個循環流程階段，我們之後會以圖表更詳細地說明：
+ 產生範例資料
+ 訓練模型
+ 部署模型

![\[建立 ML 模型的三個階段。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/ml-concepts-10.png)


 圖表說明如何在多數典型案例中執行下列任務：

1. **產生範例資料** - 若要訓練模型，您必須有範例資料。所需資料類型取決於您希望模型解決的業務問題。這攸關您希望模型產生什麼推論。例如，如果您要建立模型來預測手寫數字輸入影像的數字。如果要訓練此模型，則需具備手寫數字的範例影像。

   資料科學家通常會投入時間來探索和預先處理範例資料，再將該資料運用在模型訓練上。如需預處理資料，通常需要執行以下作業：

   1. **擷取資料** - 您可能擁有內部範例資料儲存庫，或可能會使用可公開取得的資料集。一般而言，您會將資料集提取至單一儲存庫。

   1. **清除資料** - 為了改善模型訓練，請檢查資料並視需要執行清除作業。例如，假設資料的 `country name` 屬性具備 `United States` 值與 `US` 值，您可以編輯資料以保持一致性。

   1. **準備或轉換資料** - 若要提升效能，您可能需要執行額外的資料轉換。例如，您可以選擇合併模型屬性，以預測飛行器需要除冰的條件。但不分別使用溫度和濕度屬性的情況，則您可以將這些屬性合併為一個新屬性，藉此取得效能更佳的模型。

   在 SageMaker AI 中，您可以在整合式開發環境 (IDE) 中搭配使用 [SageMaker API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/Welcome.html) 和 [SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/)，預先處理範例資料。透過 SDK for Python (Boto3)，您可以擷取、探索和準備資料以進行模型訓練。如需進一步了解如何準備、處理和轉換資料，請參閱 [在 SageMaker AI 中選擇正確資料準備工具的建議](data-prep.md)、[使用 SageMaker Processing 的資料轉換工作負載](processing-job.md) 和 [使用 Feature Store 建立、存放和共用功能](feature-store.md)。

1. **訓練模型** - 模型訓練作業包含訓練與評估模型，如下所示：
   + **訓練模型** — 若要訓練模型，您需要演算法或預訓練的基礎模型。您所選的演算法會視多種因素而定。針對內建解決方案，您可以使用 SageMaker 提供的演算法。如需 SageMaker 提供的演算法清單以及相關考量事項，請參閱[Amazon SageMaker 中的內建演算法和預先訓練模型](algos.md)。如需提供演算法和模型的基於使用者介面的訓練解決方案，請參閱[SageMaker JumpStart 預先訓練模型](studio-jumpstart.md)。

     您亦需擁有適用於訓練的運算資源。您的資源使用取決於訓練資料集的大小，以及您需要多快速地取得結果。單一一般用途執行個體到 GPU 執行個體分散式叢集的資源，您都可以使用。如需更多詳細資訊，請參閱 [使用 Amazon SageMaker 訓練模型](how-it-works-training.md)。
   + **評估模型** - 模型訓練完成後，您需要評估該模型以判斷推論的準確度是否在可接受的範圍內。若要訓練和評估模型，請使用 [SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/)，透過其中一個可用 IDE 將推論請求傳送至模型。如需評估您模型的更多資訊，請參閱 [使用 Amazon SageMaker Model Monitor 進行資料和模型品質監控](model-monitor.md)。

     

1. **部署模型** - 過去，您必須針對模型進行再造工程並整合至應用程式，才能部署模型。而有了 SageMaker AI 託管服務，您不但可以獨立部署模型，以將模型與應用程式碼分離。如需更多詳細資訊，請參閱 [部署用於推論的模型](deploy-model.md)。

   

機器學習屬於連續循環作業。部署模型完成後，您需要監控推論、收集更高品質的資料，以及評估該模型以找出漂移。然後，您要更新訓練資料並納入最新收集到的高品質資料，藉此提高推論的準確度。隨著可以使用的範例資料越來越多，您可持續重新訓練模型提高準確度。