翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
推論コスト最適化のベストプラクティス
以下のコンテンツでは、エンドポイントのコストを最適化するための手法と考慮事項について説明します。これらの推奨事項を参考にして、新しいエンドポイントと既存のエンドポイントの両方のコストを最適化できます。
ベストプラクティス
SageMaker 推論コストを最適化するには、以下のベストプラクティスに従ってください。
SageMaker には、ジョブに最適な推論オプションを提供するために 4 つの異なる推論オプションが用意されています。ワークロードに最も適した推論オプションを選択することで、コストを節約できる場合があります。
トラフィックパターンが予測可能な低レイテンシーのワークロードで、レイテンシー特性が一貫して、常に利用可能である必要がある場合は、リアルタイム推論を使用します。インスタンスの使用には料金がかかります。
トラフィックパターンが急上昇し、p99 レイテンシーの変動も許容できる同期ワークロードには、サーバーレス推論を使用します。サーバーレス推論はワークロードのトラフィックに合わせて自動的にスケールされるため、アイドル状態のリソースに料金を払う必要はありません。料金は、推論リクエストの期間に対してのみ課金されます。リアルタイム推論とサーバーレス推論の両方に同じモデルとコンテナを使用できるため、ニーズが変化した場合はこれら 2 つのモードを切り替えることができます。
レイテンシーの影響を受けず、コストの影響を受けやすい最大 1 GB のデータ (テキストコーパス、画像、動画、音声など) を処理する非同期ワークロードには、非同期推論を使用します。非同期推論では、ピーク時にプロビジョニングするのではなく、最適な処理速度になるように固定数のインスタンスを指定することでコストを管理できます。また、ゼロにスケールダウンして追加コストを節約することもできます。
オフラインで行われるプロセスで大規模データセットを推論する必要がある (つまり、永続的なエンドポイントは必要ない) ワークロードには、バッチ推論を使用します。インスタンスの料金は、バッチ推論ジョブの期間に対して支払います。
-
すべての SageMaker サービスで一貫した使用レベルがある場合は、 SageMaker Savings Plan sにオプトインして、コストを最大 64% 削減できます。
-
Amazon SageMaker Savings Plans
は SageMaker、1 年または 3 年間の一貫した使用量 (1 時間あたり USD で測定) を約束する代わりに、Amazon の柔軟な料金モデルを提供します。これらのプランは、インスタンスファミリー、サイズ、リージョンに関係なく、 SageMaker Studio Classic Notebook、 SageMaker オンデマンドノートブック、 SageMaker Processing、 SageMaker Data Wrangler、 SageMaker Training、 SageMaker Real-Time Inference、 SageMaker Batch Transform など、対象となる SageMaker ML インスタンスの使用に自動的に適用されます。例えば、推論ワークロードの使用状況を米国東部 (オハイオ) で実行されている CPU ml.c5.xlarge インスタンスから米国西部 (オレゴン) の ml.Inf1 インスタンスにいつでも変更でき、Savings Plans の料金を自動的に引き続き支払います。
最適化されていないモデルは、実行時間が長くなり、より多くのリソースを消費する可能性があります。使用するインスタンス数を増やしたり、サイズを大きくしたりしてパフォーマンスを向上させることもできますが、コストが高くなります。
パフォーマンスを高めるようにモデルを最適化することで、同じかそれ以上のパフォーマンス特性を維持しながら、使用するインスタンスの数を減らしたり、サイズを小さくしたりして、コストを削減できる可能性があります。SageMaker Neo
と SageMaker 推論を使用すると、モデルを自動的に最適化できます。詳細とサンプルについては、「Neo を使用してモデルのパフォーマンスを最適化する」を参照してください。
SageMaker 推論には 70 を超えるインスタンスタイプとサイズがあり、ML 用に最適化された AWS Inferentia や Graviton チップセットなどの ML モデルのデプロイに使用できます。モデルに適したインスタンスを選択することで、モデルにとって最も低いコストで、最もパフォーマンスの高いインスタンスを利用できます。
Inference Recommender を使用すると、さまざまなインスタンスをすばやく比較して、モデルのパフォーマンスとコストを把握できます。これらの結果から、投資収益率が最も高いインスタンスを選択してデプロイできます。
-
複数のエンドポイントをデプロイすると、特にエンドポイントが基盤となるインスタンスを十分に活用していない場合、コストがすぐに増加します。インスタンスが十分に活用されていないかどうかを確認するには、インスタンスの Amazon CPUの使用率メトリクス (GPU、 など) CloudWatch を確認します。このようなエンドポイントが複数存在する場合、これらの複数のエンドポイントのモデルまたはコンテナを 1 つのエンドポイントにまとめることができます。
-
マルチモデルエンドポイント (MME) またはマルチコンテナエンドポイント (MCE) を使用すると、複数の ML モデルまたはコンテナを 1 つのエンドポイントにデプロイして、複数のモデルまたはコンテナ間でインスタンスを共有し、投資収益率を向上させることができます。詳細については、 AWS Machine Learning ブログの「Amazon SageMaker マルチモデルエンドポイントを使用して推論コストを節約する
」または「Amazon SageMaker マルチコンテナエンドポイントを使用して 1 つのインスタンスに複数のサービングコンテナをデプロイ する」を参照してください。
-
自動スケーリングを使用しない場合、ピークトラフィックまたはリスクモデルによる使用不可に合わせてプロビジョニングする必要があります。モデルへのトラフィックが 1 日中安定していない限り、未使用の容量が過剰に発生することになります。これは使用率の低下とリソースの浪費につながります。
-
自動スケーリングは、ワークロードをモニタリングし、容量を動的に調整して、可能な限り低コストで安定した予測可能なパフォーマンスを維持する out-of-the-box 機能です。ワークロードが増加すると、自動スケーリングはより多くのインスタンスをオンラインにします。ワークロードが減ると、自動スケーリングにより不要なインスタンスが削除され、コンピューティングコストの削減に役立ちます。詳細については、 AWS Machine Learning ブログの「Amazon での自動スケーリング推論エンドポイントの設定 SageMaker
」を参照してください。