

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

# 了解在 Amazon SageMaker AI 中部署模型和取得推論的選項
<a name="deploy-model-get-started"></a>

為了協助您開始使用 SageMaker AI 推論，請參閱下列各節說明在 SageMaker AI 中部署模型和取得推論的選項。[Amazon SageMaker AI 中的推論選項](deploy-model-options.md)章節可協助您判斷哪個功能最適合您的推論使用案例。

您可以參閱[資源](inference-resources.md)區段以獲取更多故障診斷和參考資訊、部落格和範例，以協助您開始入門，還有常見的問題集。

**Topics**
+ [開始之前](#deploy-model-prereqs)
+ [模型部署的步驟](#deploy-model-steps)
+ [Amazon SageMaker AI 中的推論選項](deploy-model-options.md)
+ [使用 Amazon SageMaker AI 進行推論的進階端點選項](deploy-model-advanced.md)
+ [使用 Amazon SageMaker AI 進行推論的後續步驟](deploy-model-next-steps.md)

## 開始之前
<a name="deploy-model-prereqs"></a>

這些主題假設您已建立及訓練一或多個機器學習模型，並準備好進行部署。您不需要在 SageMaker AI 中訓練模型，即可在 SageMaker AI 中部署模型並取得推論。如果您沒有自己的模型，也可以使用 SageMaker AI 的[內建演算法或預先訓練模型](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html)。

如果您是初次使用 SageMaker AI，且尚未挑選要部署的模型，請執行 [Amazon SageMaker AI 入門](https://docs.aws.amazon.com/sagemaker/latest/dg/gs.html)教學課程中的步驟。使用教學課程來熟悉 SageMaker AI 如何管理資料科學程序，以及如何處理模型部署。如需有關訓練模型的詳細資訊，請參閱[訓練模型](https://docs.aws.amazon.com/sagemaker/latest/dg/train-model.html)。

如需其他資訊、參考和範例，請參閱[資源](inference-resources.md)。

## 模型部署的步驟
<a name="deploy-model-steps"></a>

對於推論端點，一般工作流程由以下項目組成：
+ 透過指向存放在 Amazon S3 中的模型成品和容器映像，在 SageMaker AI 推論中建立模型。
+ 選取推論選項。如需詳細資訊，請參閱[Amazon SageMaker AI 中的推論選項](deploy-model-options.md)。
+ 透過選擇端點後面所需的執行個體類型和執行個體數目，建立 SageMaker AI 推論端點組態。您可以使用 [Amazon SageMaker Inference Recommender](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender.html) 執行個體類型以取得建議。對於無伺服器推論，您只需要根據您的模型大小提供所需的記憶體組態。
+ 建立 SageMaker AI 推論端點。
+ 調用您的端點以接收推論作為回應。

以下圖表顯示上述工作流程。

![\[前段所述的工作流程，顯示如何從 SageMaker AI 取得推論。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/inference-workflow-flowchart.png)


您可以使用 AWS 主控台、 AWS SDKs、SageMaker Python SDK CloudFormation 或 來執行這些動作 AWS CLI。

對於使用批次轉換的批次推論，請指向模型成品和輸入資料，然後建立批次推論工作。SageMaker AI 不會託管用於推論的端點，而是將您的推論輸出到您選擇的 Amazon S3 位置。

# Amazon SageMaker AI 中的推論選項
<a name="deploy-model-options"></a>

SageMaker AI 提供多個推論選項，方便您選擇最適合自己工作負載的選項：
+ [即時推論](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)：*即時推論*非常適合具有低延遲或高輸送量需求的線上推論。針對持續性且完全受控的端點 (REST API) 使用即時推論，該端點可以處理持續流量，並由您選擇的執行個體類型提供支援。即時推論最多可支援 25 MB 的承載大小，一般回應的處理時間為 60 秒，串流回應則為 8 分鐘。
+ [無伺服器推論](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html)：當您出現間歇性或無法預測的流量模式時，*無伺服器推論*是理想的選擇。SageMaker AI 管理所有基礎架構，因此無需管理執行個體或擴展政策。您只需按實際用量付費，而非閒置時間付費。它可以支援最大 4 MB 的有效載荷大小和 60 秒的處理時間。
+ [批次轉換](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html)：*批次轉換*適用於在大量資料預先可用且您不需要持續性端點時進行離線處理。您也可以使用批次轉換來預先處理資料集。它可以支援大小為 GB 的大小和處理時間 (以天為單位) 的大型資料集。
+ [非同步推論](https://docs.aws.amazon.com/sagemaker/latest/dg/async-inference.html)：當您想要將要求排入佇列，並具有較長處理時間的大型承載時，則適用*非同步推論*。非同步推論最多可支援 1 GB 的承載，以及長達一小時的長處理時間。當沒有要處理要求時，您也可以將端點縮減為 0。

# 使用 Amazon SageMaker AI 進行推論的進階端點選項
<a name="deploy-model-advanced"></a>

透過即時推論，您可以利用下列進階推論選項，進一步最佳化效能與成本：
+ [多模型端點](multi-model-endpoints.md) – 如果您有多個使用相同架構並且可以共用容器的模型，請使用此選項。此選項可透過改善端點使用率並降低部署額外負荷，來協助您最佳化成本。
+ [多容器端點](multi-container-endpoints.md) – 如果您有多個使用不同架構並需要自己的容器的模型，請使用此選項。您可以獲得多模型端點的許多優點，並且可以部署各種框架和模型。
+ [序列推論管道](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-pipelines.html) – 如果想在端點後面託管具有預處理和後處理邏輯的模型，請使用此選項。推論管道由 SageMaker AI 完全管理，並提供較低的延遲，因為所有容器都託管在相同的 Amazon EC2 執行個體上。

# 使用 Amazon SageMaker AI 進行推論的後續步驟
<a name="deploy-model-next-steps"></a>

在您擁有端點並瞭解一般推論工作流程之後，您可以使用 SageMaker AI 中的下列功能來改善您的推論工作流程。

## 監控
<a name="deploy-model-next-steps-monitoring"></a>

若要透過模型準確度和漂移等指標追蹤一段時間內的模型，您可以使用 Model Monitor。使用 Model Monitor，您可以設定警示，以便在模型品質出現偏差時通知您。若要進一步了解，請參閱 [Model Monitor 文件](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html)。

若要進一步了解可用於監控模型部署和變更端點的事件的工具，請參閱[監控 Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-overview.html)。例如，您可以使用 Amazon CloudWatch 指標透過調用錯誤和模型延遲等指標來監控端點的運作狀態。[SageMaker AI 端點調用指標](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-endpoint-invocation)可以為您提供有關端點效能的寶貴資訊。

## 模型部署的 CI/CD
<a name="deploy-model-next-steps-cicd"></a>

若要在 SageMaker AI 中整合機器學習解決方案，您可以使用 [SageMaker AI MLOps](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects.html)。您可以使用此功能將機器學習工作流程中的步驟自動化，並練習 CI/CD。您可以使用 [MLOps 專案範本](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-templates.html)來協助 SageMaker AI MLOps 專案的設定和實作。SageMaker AI 也支援使用您自己的[第三方 Git 儲存庫](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-walkthrough-3rdgit.html)來建立 CI/CD 系統。

對於機器學習 (ML) 管道，請使用[模型註冊表](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)來管理模型版本，以及模型的部署和自動化。

## 部署防護機制
<a name="deploy-model-next-steps-guardrails"></a>

如果您想要在生產環境中更新模型而不影響生產環境，可以使用部署護欄。部署護欄是 SageMaker AI 推論中的一組模型部署選項，可在生產環境中更新您的機器學習模型。使用完全受控的部署選項，您可以控制從生產環境中目前模型到新模型的交換器。流量轉移模式可讓您精細控制流量轉移程序，而自動回復等內建保護功能可協助您及早發現 catch 題。

若要進一步了解部署防護機制，請參閱[部署防護機制文件](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails.html)。

## Inferentia
<a name="deploy-model-next-steps-inferentia"></a>

如果您需要執行大規模機器學習和深度學習應用程式，您可以使用 `Inf1` 執行個體搭配即時端點。此執行個體類型適用於影像或語音辨識、自然語言處理 (NLP)、個人化、預測或詐騙偵測等使用案例。

`Inf1` 執行個體的建置目的是支援機器學習推論應用程式，並具有 AWS Inferentia 晶片。 `Inf1`執行個體提供高於 GPU 型執行個體的輸送量和每個推論的成本。

若要在 `Inf1` 執行個體上部署模型，請使用 SageMaker Neo 編譯模型，然後選擇部署選項的 `Inf1` 執行個體。如需進一步了解，請參閱[使用 SageMaker Neo 最佳化模型效能](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html)。

## 最佳化模型效能
<a name="deploy-model-next-steps-optimize"></a>

SageMaker AI 提供的功能可在部署機器學習模型時，管理資源和最佳化推論效能。您可以使用 SageMaker AI 的[內建演算法和預先建置的模型](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html)和專為機器學習而開發的[預先建置 Docker 映像](https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers-prebuilt.html)。

若要訓練模型並將其最佳化以供部署，請參閱[預先建置的 Docker 映像](https://docs.aws.amazon.com/sagemaker/latest/dg/docker-containers-prebuilt.html)[使用 SageMaker Neo 最佳化模型效能](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html)。使用 SageMaker Neo，您可以訓練 TensorFlow、Apache MXNet、PyTorch、ONNX 和 XGBoost 模型。然後，您可以最佳化它們，並在 ARM、Intel 和 Nvidia 處理器上部署。

## 自動擴展
<a name="deploy-model-next-steps-autoscaling"></a>

如果您的端點有不同數量的流量，則可能需要嘗試自動調度資源。例如，在尖峰時段，您可能需要更多執行個體來處理請求。不過，在低流量期間，您可能想要減少運算資源的使用。若要動態調整佈建的執行個體數量，以因應工作負載中的變更，請參閱[Amazon SageMaker AI 模型的自動擴展](endpoint-auto-scaling.md)。

如果您有無法預測的流量模式，或者不想設定擴展政策，也可以對端點使用無伺服器推論。然後，SageMaker AI 會為您管理自動擴展。在低流量期間，SageMaker AI 會縮減您的端點，如果流量增加，則 SageMaker AI 會向上擴展您的端點。如需詳細資訊，請參閱[使用 Amazon SageMaker 無伺服器推論來部署模型](serverless-endpoints.md)文件。