Amazon SageMaker Elastic Inference (EI) を使用する - Amazon SageMaker

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

Amazon SageMaker Elastic Inference (EI) を使用する

Amazon Elastic Inference (EI) を使用することで、がデプロイされている深層学習モデルからスループットを高速化し、リアルタイムの推論を得るためのレイテンシーを短縮することができます。さらに、Amazon SageMaker でホストされるモデルよりはるかに低いコストですが、エンドポイントで GPU インスタンスを使用するコストははるかに低いコストです。EI を使用すると、フル GPU インスタンスを使用するコストよりはるかに低いコストで、ホストされるエンドポイントでの推論を高速化できます。CPU インスタンスタイプに加えて、デプロイ可能なモデルに使用可能なサイズの EI アクセラレーターを追加してから、そのモデルをホストされるエンドポイントのデプロイに使用するエンドポイント設定に本番稼働用バリアントとして追加します。SageMaker に EI アクセラレータを追加することもできます。ノートブックインスタンスモデルを構築するときに推論パフォーマンスをテストおよび評価することができます。

Elastic Inference は、EI 対応バージョンの TensorFlow、 Apache MXNet、PyTorch でサポートされています。他の深層学習フレームワークを使用するには、ONNX を使用してモデルをエクスポートしてから、モデルを MXNet にインポートします。これにより、モデルを EI とともに、MXI モデルとして使用できるようになります。MXNet への ONNX モデルのインポートの詳細については、「ONNX モデルを MXNet にインポートする」を参照してください。

EI の仕組み

Amazon Elastic Inference アクセラレーターは、エンドポイント内の SageMaker インスタンスと連動して推論呼び出しを高速化するネットワーク接続デバイスです。Elastic Inference は、分数の GPU を任意の SageMaker インスタンスにアタッチできるようにすることで、推論を高速化します。アプリケーションを実行するクライアントインスタンスを選択し、Elastic Inference アクセラレータをアタッチして、推論のニーズに適した量の GPU アクセラレーションを使用できます。Elastic Inference は、推論のために GPU インスタンスを十分に活用していない場合、コストを削減するのに役立ちます。さまざまな CPU インスタンスとアクセラレータサイズを使用して、モデルで Elastic Inference を試すことをお勧めします。

次の EI アクセラレータータイプを使用できます。エンドポイントまたはノートブックインスタンスを任意の EI アクセラレータータイプとともに設定できます。

次の表では、単精度浮動小数点 (F32) 演算と半精度浮動小数点 (F16) 演算の両方について、テラフロップスのスループット (TFLOPS) をリストします メモリ (GB) もリストします。

アクセラレータータイプ F32 スループット (TFLOPS) F16 スループット (TFLOPS) メモリ (GB)
ml.eia2.medium 1 8 2
ml.eia2.large 2 16 4
ml.eia2.xlarge 4 32 8
ml.eia1.medium 1 8 1
ml.eia1.large 2 16 2
ml.eia1.xlarge 4 32 4

EI アクセラレータータイプを選択する

ホストされるモデルのアクセラレータータイプを選択するときには、以下の要素を考慮してください。

  • モデル、入力テンソル、およびバッチサイズは、必要なアクセラレーターメモリの量に影響します。トレーニング済みモデルのファイルサイズと同量以上のメモリを提供するアクセラレータータイプから始めます。モデルがランタイムにファイルサイズよりも大幅に多くのメモリを使用する可能性があるという要因。

  • CPU コンピューティングリソース、メインシステムメモリ、GPU ベースのアクセラレーションおよびアクセラレーターメモリの需要は、深層学習モデルの種類によって大きく異なります。アプリケーションのレイテンシーとスループットの要件によって、必要なコンピューティングとアクセラレーションの量も決まります。アプリケーションのパフォーマンスニーズに最も適した構成を選択できるように、インスタンスタイプと EI アクセラレーターサイズのさまざまな構成を徹底的にテストしてください。

EI アクセラレータ選択の詳細については、次を参照してください。

SageMaker ノートブックインスタンスで EI を使用する

通常、機械学習モデルは、本番稼働用にデプロイする前に、SageMaker ノートブックで構築してテストします。ノートブックインスタンスを作成するときに、ノートブックインスタンスに EI をアタッチすることができます。ノートブックインスタンスでローカルにホストされているエンドポイントを設定するには、TensorFlow、MXNet、PyTorch 推定器とモデルでサポートされているローカルモードを使用します。さらに、Amazon SageMaker Python SDKを使用して推論のパフォーマンスをテストします。Elastic Inference 対応 PyTorch は、現在、ノートブックインスタンスではサポートされていません。ノートブックインスタンスに EI をアタッチし、推論のためにローカルエンドポイントを設定する方法については、EI をノートブックインスタンスにアタッチするを参照してください。また、Elastic Inference 対応バージョンの TensorFlow および Apache MXNet には、Elastic Inference 対応 SageMaker Notebook Jupyter カーネルも存在する。SageMaker ノートブックインスタンスの使用については、『』を参照してください。Amazon SageMaker ノートブックインスタンスの使用

ホストされるエンドポイントで EI を使用する

モデルを本番稼働用にデプロイして推論を提供する準備ができたら、SageMaker がホストするエンドポイントを作成します。エンドポイントがホストされているインスタンスに EI をアタッチすると、推論を提供する際のパフォーマンスを向上させることができます。ホストされるエンドポイントインスタンスに EI をアタッチする方法については、Amazon SageMaker でホストされるエンドポイントで EI を使用するを参照してください。

EI をサポートするフレームワーク

Amazon Elastic Inference は、AWSTensorFlow、Apache MXNet、PyTorch 機械学習フレームワークの拡張バージョンです。これらの拡張バージョンのフレームワークは、Amazon SageMaker Python SDK を使用すると、自動的にコンテナに組み込まれます。また、フレームワークをバイナリファイルとしてダウンロードして、独自の Docker コンテナにインポートすることもできます。

EI 対応 TensorFlow バイナリファイルは、パブリックamazonei-tensorflowAmazon S3 バケット (TensorFlow Serving コンテナに。EI 対応バージョンの TensorFlow を使用するコンテナの構築の詳細については、「Amazon Elastic Inference with TensorFlow in SageMaker」を参照してください。

EI 対応 MXNet バイナリファイルは、一般的なamazonei-apachemxnetAmazon S3 バケット (MXNet Serving コンテナに。EI 対応バージョンの MXNet を使用するコンテナの構築の詳細については、「Amazon Elastic Inference with MXNet in SageMaker」を参照してください。

EI 対応 PyTorch バイナリファイルは、パブリックの PyTorch バイナリファイルをダウンロードできます。Amazon Sazonei-pytorchAmazon S3 バケット (PyTorch Serving コンテナに。EI 対応バージョンの PyTorch を使用するコンテナの構築の詳細については、「Amazon Elastic Inference with PyTorch in SageMaker」を参照してください。

ホストされるエンドポイントで Elastic Inference を使用するには、必要に応じて次のフレームワークのいずれかを選択できます。

複雑なモデルをデプロイするためのカスタムコンテナを作成する必要があり、SageMaker の事前構築済みコンテナではサポートされていないフレームワークの拡張が必要な場合、低レベルAWSPython の SDK (Boto3)

SageMaker 組み込みアルゴリズムで EI を使用する

組み込みアルゴリズムであるイメージ分類アルゴリズムオブジェクト検出アルゴリズムは現在、EI をサポートしています。EI でイメージ分類アルゴリズムを使用する例については、「エンドツーエンドの複数クラスイメージ分類のサンプル」を参照してください。

EI サンプルノートブック

以下のサンプルノートブックは、SageMaker で EI を使用する例を示しています。