

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 推理成本优化最佳实践
<a name="inference-cost-optimization"></a>

以下内容提供了优化端点成本的技巧和注意事项。您可以使用这些建议来优化新端点和现有端点的成本。

## 最佳实践
<a name="inference-cost-optimization-list"></a>

要优化 A SageMaker I 推理成本，请遵循以下最佳实践。

### 为作业选择最佳的推理选项。
<a name="collapsible-1"></a>

SageMaker AI 提供 4 种不同的推理选项，为工作提供最佳的推理选项。您可以通过选择最适合您的工作负载的推理选项来节省成本。
+ 对采用可预测流量模式的低延迟工作负载使用[实时推理](https://docs.amazonaws.cn/sagemaker/latest/dg/realtime-endpoints.html)，这些工作负载需要具有一致的延迟特征并且始终可用。使用此实例需要付费。
+ 对于具有尖峰流量模式且可以接受 p99 延迟变化的同步工作负载，请使用[无服务器推理](https://docs.amazonaws.cn/sagemaker/latest/dg/serverless-endpoints.html)。无服务器推理会自动扩展以满足您工作负载的流量需求，因此您无需为任何闲置资源付费。您仅需支付推理请求持续期间的费用。相同的模型和容器可用于实时和无服务器推理，因此，如果需求发生变化，您可以在这两种模式之间切换。
+ 对于可处理多达 1 GB 的数据（例如文本语料库、图像、视频和音频）、对延迟不敏感但对成本敏感的异步工作负载，请使用[异步推理](https://docs.amazonaws.cn/sagemaker/latest/dg/async-inference.html)。通过异步推理，您可以通过指定可获得最佳处理速率的固定数量的实例来控制成本，而不是为峰值预置。您也可以缩减到零以节省额外成本。
+ 对于需要为离线进程的大量数据进行推理的工作负载（也就是说，您不需要永久端点），请使用[批量推理](https://docs.amazonaws.cn/sagemaker/latest/dg/batch-transform.html)。您需要支付实例在批量推理作业持续期间的费用。

### 选择加入 A SageMaker I Savings Plan。
<a name="collapsible-2"></a>
+ 如果您在所有 SageMaker AI 服务中保持一致的使用水平，则可以选择加入 SageMaker AI Savings Plan，以帮助您将成本降低多达 64%。
+ [Amazon SageMaker AI](https://www.amazonaws.cn/savingsplans/ml-pricing/) Savings Plans 为 SageMaker Amazon AI 提供了灵活的定价模式，以换取承诺在一年或三年内保持稳定的使用量（以美元/小时衡量）。这些计划自动适用于符合条件的 SageMaker AI ML 实例用途，包括 SageMaker Studio Classic Notebook、 SageMaker 按需笔记本、 SageMaker 处理、 SageMaker 数据管理器、 SageMaker 训练、 SageMaker 实时推理和 SageMaker 批量转换，无论实例系列、大小或区域如何。例如，您可以随时将推理工作负载的使用量从在美国东部（俄亥俄州）运行的 CPU ml.c5.xlarge 实例改为美国西部（俄勒冈州）的 ml.Inf1 实例，并自动继续支付节省计划的价格。

### 优化模型以使其更好地运行。
<a name="collapsible-3"></a>
+ 未优化的模型可能导致运行时间更长，并消耗更多资源。您可以选择使用更多或更大的实例来提高性能；但这会导致成本增加。
+ 通过优化模型来提高性能，您可以使用更少或更小的实例来降低成本，同时保持相同或更好的性能特征。您可以将 [SageMaker Neo](https://www.amazonaws.cn/sagemaker/neo/) 与 SageMaker AI 推理配合使用来自动优化模型。有关更多详细信息和示例，请参阅[利用 SageMaker Neo 优化模型性能](neo.md)。

### 使用最优的实例类型和大小进行实时推理。
<a name="collapsible-4"></a>
+ SageMaker 推理有 70 多种实例类型和大小，可用于部署机器学习模型，包括针对机器学习进行了优化的 Amazon 推理和 Graviton 芯片组。为您的模型选择合适的实例有助于确保您的模型以最低的成本获得性能最高的实例。
+ 通过使用 [Inference Recommender](https://docs.amazonaws.cn/sagemaker/latest/dg/inference-recommender.html)，您可以快速比较不同的实例，以了解模型的性能和成本。根据这些结果，您可以选择投资回报率最高的实例进行部署。

### 通过将多个端点合并为一个端点进行实时推理，可提高效率和成本。
<a name="collapsible-5"></a>
+ 当您部署多个端点时，成本可能会迅速增加，尤其是在端点没有充分利用底层实例的情况下。要了解实例是否未得到充分利用，请在 Amazon CloudWatch 中查看您的实例的利用率指标（CPU、GPU 等）。如果您有多个此类端点，则可将这多个端点上的模型或容器合并到一个端点中。
+ 使用[多模型端点](https://docs.amazonaws.cn/sagemaker/latest/dg/multi-model-endpoints.html) (MME) 或[多容器端点](https://docs.amazonaws.cn/sagemaker/latest/dg/multi-container-endpoints.html) (MCE)，您可以在单个端点中部署多个 ML 模型或容器，以便在多个模型或容器之间共享实例，从而提高投资回报率。要了解更多信息，请参阅 Machine Learn [ing Amazon 博客上的使用 Amazon SageMaker AI 多模型终端节点节省推理成本](https://www.amazonaws.cn/blogs/machine-learning/save-on-inference-costs-by-using-amazon-sagemaker-multi-model-endpoints/)或使用 [Amazon A SageMaker I 多容器终端节点在单个实例上部署多个服务容器](https://www.amazonaws.cn/blogs/machine-learning/deploy-multiple-serving-containers-on-a-single-instance-using-amazon-sagemaker-multi-container-endpoints/)。

### 设置自动扩缩以满足实时和异步推理的工作负载要求。
<a name="collapsible-6"></a>
+ 如果没有自动扩缩，您需要为峰值流量或风险模型不可用进行预置。除非您模型的流量全天保持稳定，否则就会有多余的未使用容量。这会导致利用率低和资源浪费。
+ [AutoScaling](https://docs.amazonaws.cn/sagemaker/latest/dg/endpoint-auto-scaling.html) 是一项 out-of-the-box功能，可监控您的工作负载并动态调整容量，以尽可能低的成本保持稳定且可预测的性能。当工作负载增加时，自动扩缩会让更多实例联机。当工作负载减少时，自动扩缩会删除不必要的实例，从而帮助您降低计算成本。要了解更多信息，请参阅 Machine Learn [ing 博客上的 “在 Amazon A SageMaker I 中 Amazon 配置自动缩放推理终端节点](https://www.amazonaws.cn/blogs/machine-learning/configuring-autoscaling-inference-endpoints-in-amazon-sagemaker/)”。