

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 推論コスト最適化のベストプラクティス
<a name="inference-cost-optimization"></a>

以下のコンテンツでは、エンドポイントのコストを最適化するための手法と考慮事項について説明します。これらの推奨事項を参考にして、新しいエンドポイントと既存のエンドポイントの両方のコストを最適化できます。

## ベストプラクティス
<a name="inference-cost-optimization-list"></a>

SageMaker AI Inference のコストを最適化するには、次のベストプラクティスに従います。

### ジョブに最適な推論オプションを選択しましょう。
<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)を使用します。サーバーレス推論はワークロードのトラフィックに合わせて自動的にスケールされるため、アイドル状態のリソースに料金を払う必要はありません。料金は、推論リクエストの期間に対してのみ課金されます。リアルタイム推論とサーバーレス推論の両方に同じモデルとコンテナを使用できるため、ニーズが変化した場合はこれら 2 つのモードを切り替えることができます。
+ レイテンシーの影響を受けず、コストの影響を受けやすい最大 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/) では、1 年間または 3 年間にわたって一貫した使用量 (USD/時間で測定) を契約する見返りとして、Amazon SageMaker AI の柔軟な料金モデルを提供します。これらのプランは、インスタンスのファミリー、サイズ、リージョンに関係なく、SageMaker Studio Classic Notebook、SageMaker On-Demand Notebook、SageMaker Processing、SageMaker Data Wrangler、SageMaker Training、SageMaker Real-Time Inference、SageMaker Batch Transform など、対象となる SageMaker AI ML インスタンスの使用に自動的に適用されます。たとえば、推論ワークロードについて米国東部 (オハイオ) で実行している 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 には、ML 用に最適化された AWS Inferentia や Graviton チップセットなど、ML モデルのデプロイに使用できる 70 を超えるインスタンスタイプとサイズがあります。モデルに適したインスタンスを選択することで、モデルにとって最も低いコストで、最もパフォーマンスの高いインスタンスを利用できます。
+ [Inference Recommender](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender.html) を使用すると、さまざまなインスタンスをすばやく比較して、モデルのパフォーマンスとコストを把握できます。これらの結果から、投資収益率が最も高いインスタンスを選択してデプロイできます。

### リアルタイム推論を行うために複数のエンドポイントを 1 つのエンドポイントに結合して、効率とコストを向上させましょう。
<a name="collapsible-5"></a>
+ 複数のエンドポイントをデプロイすると、特にエンドポイントが基盤となるインスタンスを十分に活用していない場合、コストがすぐに増加します。インスタンスが十分に活用されていないかどうかを確認するには、インスタンスの Amazon CloudWatch の使用率メトリクス (CPU、GPU など) を確認します。このようなエンドポイントが複数存在する場合、これらの複数のエンドポイントのモデルまたはコンテナを 1 つのエンドポイントにまとめることができます。
+ [マルチモデルエンドポイント](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) を使用すると、1 つのエンドポイントに複数の ML モデルまたはコンテナをデプロイして、複数のモデルまたはコンテナでインスタンスを共有し、投資収益率を向上させることができます。詳細については、 AWS Machine Learning ブログの[Amazon SageMaker AI マルチモデルエンドポイントを使用して推論コストを節約](https://aws.amazon.com/blogs/machine-learning/save-on-inference-costs-by-using-amazon-sagemaker-multi-model-endpoints/)する」または[Amazon SageMaker AI マルチコンテナエンドポイントを使用して単一のインスタンスに複数のサービングコンテナをデプロイ](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>
+ 自動スケーリングを使用しない場合、ピークトラフィックまたはリスクモデルによる使用不可に合わせてプロビジョニングする必要があります。モデルへのトラフィックが 1 日中安定していない限り、未使用の容量が過剰に発生することになります。これは使用率の低下とリソースの浪費につながります。
+ [自動スケーリングは](https://docs.aws.amazon.com/sagemaker/latest/dg/endpoint-auto-scaling.html)、ワークロードをモニタリングして容量を動的に調整して、可能な限り低いコストで安定した予測可能なパフォーマンスを維持する機能で、すぐに使用できます。ワークロードが増加すると、自動スケーリングはより多くのインスタンスをオンラインにします。ワークロードが減ると、自動スケーリングにより不要なインスタンスが削除され、コンピューティングコストの削減に役立ちます。詳細については、 AWS Machine Learning ブログの[Amazon SageMakerでの自動スケーリング推論エンドポイントの設定](https://aws.amazon.com/blogs/machine-learning/configuring-autoscaling-inference-endpoints-in-amazon-sagemaker/)」を参照してください。