

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

# 推論成本最佳化最佳實務
<a name="inference-cost-optimization"></a>

下列內容提供最佳化端點成本的技術和考量事項。您可以使用這些建議來最佳化新端點和現有端點的成本。

## 最佳實務
<a name="inference-cost-optimization-list"></a>

若要最佳化 SageMaker AI 推論成本，請遵循下列最佳實務。

### 選擇最適合該任務的推論選項。
<a name="collapsible-1"></a>

SageMaker AI 提供 4 種不同的推論選項，可為該任務提供最佳的推論選項。您可以選擇最符合您工作負載的推論選項，以節省成本。
+ 針對具有可預測流量模式的低延遲工作負載使用[即時推論](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)，這些模式需要具有一致的延遲特性且一律可用。您需要支付使用該執行個體的費用。
+ 對具有同步流量模式並可接受 p99 延遲變化的同步工作負載使用[無伺服器推論](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html)。無伺服器推論會自動擴展以符合您的工作負載流量，因此您無需支付任何閒置資源的費用。您僅需按照推論請求期間支付費用。相同的模型和容器可與即時和無伺服器推論搭配使用，因此您可以在需求變更時在這兩種模式之間切換。
+ 對處理高達 1 GB 資料 (例如文字語料庫、映像、影片和音訊) 且對延遲不敏感且對成本敏感的非同步工作負載使用[非同步推論](https://docs.aws.amazon.com/sagemaker/latest/dg/async-inference.html)。透過非同步推論，您可以指定固定數量的執行個體以獲得最佳處理速率，而不是針對尖峰進行佈建來控制成本。您還可以縮小到零以節省額外成本。
+ 對於離線發生的大量資料集進行所需推理 (即，不需要持續端點) 的工作負載 ，請使用[批次推論](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html)。您需要支付批次推論任務期間的執行個體費用。

### 選擇 SageMaker AI Savings Plan。
<a name="collapsible-2"></a>
+ 如果您在所有 SageMaker AI 服務中都具有一致的使用層級，則可以選擇加入 SageMaker AI Savings Plan，以協助降低高達 64% 的成本。
+ [Amazon SageMaker AI Savings Plans](https://aws.amazon.com/savingsplans/ml-pricing/) 為 Amazon SageMaker AI 提供彈性的定價模式，以換取一年或三年期限內一致使用量 (以每小時美元計算) 的承諾。這些計劃會自動套用至符合條件的 SageMaker AI ML 執行個體使用情況，包括 SageMaker Studio Classic Notebook、SageMaker On-Demand Notebook、SageMaker Processing、SageMaker Data Wrangler、SageMaker Training、SageMaker Real-time Inference 和 SageMaker Batch Transform，無論執行個體系列、大小或區域為何。例如，您可以隨時將在推理工作負載的使用情況從美國東部 (俄亥俄州) 執行的 CPU ml.c5.xlarge 執行個體變更為美國西部 (奧勒岡州) 的 ML.inf1 執行個體，並自動繼續支付 Savings Plans 價格。

### 最佳化您的模型以便更好地執行。
<a name="collapsible-3"></a>
+ 未最佳化的模型可能導致更長的執行時間並使用更多資源。您可以選擇使用更多或更大的執行個體來改善效能；然而，這會導致更高的成本。
+ 透過將模型最佳化以提高效能，您可以使用較少或更小的執行個體來降低成本，同時保持相同或更好的效能特性。您可以將 [SageMaker Neo](https://aws.amazon.com/sagemaker/neo/) 與 SageMaker AI 推論搭配使用，以自動最佳化模型。如需詳細資訊和範例，請參閱[使用 SageMaker Neo 最佳化模型效能](neo.md)。

### 使用最佳的執行個體類型和大小進行即時推論。
<a name="collapsible-4"></a>
+ SageMaker Inference 有超過 70 種執行個體類型和大小，可用於部署 ML 模型，包括針對 ML 最佳化的 AWS Inferentia 和 Graviton 晶片組。為您的模型選擇正確的執行個體，有助於確保您以最低的模型成本擁有效能最高的執行個體。
+ 透過使用 [Inference Recommender](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender.html)，您可以快速比較不同的執行個體，以瞭解模型的效能和成本。有了這些結果，您就可以選擇部署具有最佳投資報酬率的執行個體。

### 將多個端點合併為單一端點以進行即時推論，藉此提高效率和成本。
<a name="collapsible-5"></a>
+ 當您部署多個端點時，成本可能會快速增加，尤其是在端點未完全利用基礎執行個體的情況下。若要瞭解執行個體是否未充分利用，請在 Amazon CloudWatch 中查看執行個體的使用率指標 (CPU、GPU 等)。如果您有多個這些端點，則可以將這些多個端點上的模型或容器合併為單一端點。
+ 使用[多模型端點](https://docs.aws.amazon.com/sagemaker/latest/dg/multi-model-endpoints.html) (MME) 或[多容器端點](https://docs.aws.amazon.com/sagemaker/latest/dg/multi-container-endpoints.html) (MCE)，您可以在單一端點中部署多個機器學習 (ML) 模型或容器，以在多個模型或容器之間共用執行個體，並提高投資報酬率。若要進一步了解，請參閱 AWS Machine Learning 部落格》中的使用 [Amazon SageMaker AI 多模型端點或使用 Amazon SageMaker AI 多容器端點在單一執行個體上部署多個服務容器，以節省推論成本](https://aws.amazon.com/blogs/machine-learning/save-on-inference-costs-by-using-amazon-sagemaker-multi-model-endpoints/)。 [ Amazon SageMaker ](https://aws.amazon.com/blogs/machine-learning/deploy-multiple-serving-containers-on-a-single-instance-using-amazon-sagemaker-multi-container-endpoints/) 

### 設定自動擴展以符合您的工作負載需求，以進行即時和非同步推論。
<a name="collapsible-6"></a>
+ 若無自動調度資源，您需要針對峰值流量或無法使用風險模型進行佈建。除非您模型的流量全天穩定，否則會有過多的未使用容量。這會導致低使用率和資源浪費。
+ [自動擴展](https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html)是一項立即可用的功能，可監控您的工作負載並動態調整容量，以盡可能低的成本維持穩定且可預測的效能。當工作負載增加時，自動調整規模功能會讓更多的執行個體上線。當工作負載減少時，自動擴展會移除不必要的執行個體，協助您降低運算成本。若要進一步了解，請參閱 AWS Machine Learning部落格中的在 [Amazon SageMaker AI 中設定自動擴展推論端點](https://aws.amazon.com/blogs/machine-learning/configuring-autoscaling-inference-endpoints-in-amazon-sagemaker/)。