Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Amazon Elastic Inference

Amazon Elastic Inference (EI) は、深層学習 (DL) の推論ワークロードを加速するために Amazon EC2 インスタンスにアタッチできるリソースです。Amazon EI アクセラレーターは複数のサイズで提供され、Amazon EC2 インスタンス上で実行されるアプリケーションにインテリジェントな機能を組み込むための費用対効果の高い方法です

Amazon EI は、TensorFlow、Apache MXNet、および Open Neural Network Exchange (ONNX) 形式で定義されたオペレーションを、低コストの GPU ベースの DL 推論アクセラレーターで加速します。Machine Learning の推論ワークロードによる Amazon EC2 インスタンスの幅広いアプリケーションを構築する開発者は、Amazon EI が可能にするコストの削減を通じて、より広範なデプロイのメリットを受けることができます。

Amazon EI の基礎

Amazon EI アクセラレーターで起動するように Amazon EC2 インスタンスを設定すると、AWS は利用可能なアクセラレーターキャパシティーを見つけ、インスタンスとアクセラレーター間のネットワーク接続を確立します。

Amazon EI アクセラレーターは、すべての EC2 インスタンスタイプで使用できます。

次の Amazon EI アクセラレータータイプを使用できます。いずれの Amazon EI アクセラレータータイプでもインスタンスタイプのすべてにアタッチできます。

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

Amazon EI アクセラレーターは、インスタンスを構成するハードウェアの一部ではありません。代わりに、アクセラレーターは AWS PrivateLink エンドポイントサービスを使用してネットワーク経由で接続されます。エンドポイントサービスは、インスタンスからのトラフィックを、インスタンスで設定された Amazon EI アクセラレーターにルーティングします。

Amazon EI アクセラレーターを使用してインスタンスを起動する前に、AWS PrivateLink エンドポイントサービスを作成する必要があります。各アベイラビリティーゾーンでは、インスタンスを Amazon EI アクセラレーターと接続するために単一のエンドポイントサービスのみが必要です。詳細については、「VPC エンドポイントサービス (AWS PrivateLink)」を参照してください。


 
                 EC2 インスタンスにアタッチされた Amazon EI アクセラレーター

Amazon Elastic Inference 対応の TensorFlow Serving または Apache MXNet ライブラリを使用すると、モデルを読み込んで推論呼び出しを行うことができます。これらのライブラリの変更されたバージョンは、Amazon EI アクセラレーターの存在を自動的に検出し、Amazon EI アクセラレーターとインスタンスの CPU 間でモデルオペレーションを最適に分散し、IAM ポリシーを使用してアクセラレーターへのアクセスを安全に制御します。AWS 深層学習 AMI には、Amazon Elastic Inference 対応の TensorFlow Serving と MXNet の最新リリースが含まれています。カスタム AMI またはコンテナイメージを使用している場合は、Amazon S3 から必要な Amazon Elastic Inference TensorFlow Serving および Amazon Elastic Inference Apache MXNet ライブラリをダウンロードしてインストールできます。

注記

Amazon EI アクセラレーターは、インスタンスのデバイスマネージャーでの表示またアクセスができません。

Amazon EI アクセラレーターは HTTPS プロトコル (TCP ポート 443) を使用します。インスタンスおよび AWS PrivateLink エンドポイントサービスのセキュリティグループで許可されていることを確認してください。詳細については、「Amazon EI のセキュリティグループの設定」を参照してください。

Amazon EI の料金表

running 状態のインスタンスに Amazon EI アクセラレーターがアタッチされていると、毎秒課金されます。pendingstoppingstoppedshutting-downterminated 状態にあるインスタンスにアタッチされたアクセラレーターに対しては、課金されません。また、Amazon EI アクセラレーターが unknown または impaired の状態になっている場合も課金はされません。

サブネットにアクセラレーターがプロビジョニングされている場合、Amazon EI サービスへの VPC エンドポイントの AWS PrivateLink 料金は発生しません。

Amazon EI のリージョン別料金表の詳細については、「Amazon EI 料金表」を参照してください。

Amazon EI に関する考慮事項

Amazon EI アクセラレーターの使用を開始する前に、次の制限について注意してください。

  • 1 度に 1 つの Amazon EI アクセラレーターをインスタンスの起動時のみアタッチできます。

  • インスタンス間で Amazon EI アクセラレーターを共有することはできません。

  • 1 つのインスタンスから Amazon EI アクセラレーターをデタッチしたり、別のインスタンスに移動することはできません。Amazon EI アクセラレーターが必要でなくなった場合には、インスタンスを終了します。Amazon EI アクセラレータータイプを変更する場合には、インスタンスで AMI を作成し、インスタンスを終了してから、別の Amazon EI アクセラレーター仕様で新しいインスタンスを起動します。

  • 現在、Amazon Elastic Inference 拡張 MXNet および Amazon Elastic Inference 拡張 TensorFlow Serving ライブラリのみが Amazon EI アクセラレーターへの推論呼び出しを行うことができます。

  • Amazon EI アクセラレーターは VPC のインスタンスだけにアタッチできます。

  • Amazon EI アクセラレーターの料金は、オンデマンド価格でのみ利用できます。リザーブドインスタンス、スケジュールされたリザーブドインスタンス、または スポットインスタンス にアクセラレーターをアタッチできます。ただし、Amazon EI アクセラレーターのオンデマンド価格は、すべてのケースに適用されます。Amazon EI アクセラレーターのキャパシティーを予約したり、スケジュールすることはできません。

モデルのインスタンスタイプとアクセラレータータイプの選択

CPU のコンピューティングリソース、CPU メモリ、GPU ベースのアクセラレーション、GPU メモリに対する要求は、様々なタイプの深層学習モデル間で大きく異なります。アプリケーションのレイテンシーとスループットの要件によって、必要なインスタンスコンピューティングと Amazon EI アクセラレーションの量も決まります。モデルに対してインスタンスタイプとアクセラレータータイプの組み合わせを選択するときは、次の点を考慮してください。

  • モデルやアプリケーションの適切なリソースの組み合わせを評価する前に、アプリケーションスタック全体の目標レイテンシーとスループットの必要性、および制約を判断する必要があります。たとえば、アプリケーションが 300 ミリ秒 (ms) 以内に応答する必要があり、データ取得 (任意の認証を含む) と前処理に 200ms かかる場合、推論リクエストの処理には 100ms のウィンドウが必要です。この分析を使用すると、これらの目標を満たす最低コストのインフラストラクチャの組み合わせを決定できます。

  • リソースの合理的に小さな組み合わせから開始します。たとえば、eia1.medium アクセラレータータイプや c5.xlarge インスタンスタイプです。この組み合わせは、さまざまなコンピュータビジョンワークロード (ResNet: ResNet-200 の大規模バージョンを含む) でうまく動作するようにテストされ、p2.xlarge インスタンスと同等またはそれ以上のパフォーマンスを提供します。レイテンシーターゲットに応じて、インスタンスまたはアクセラレータータイプのサイズを調整できます。

  • Amazon EI アクセラレーターはネットワーク上に接続されているため、インスタンスとアクセラレーター間の入出力データ転送によって推論のレイテンシーが増えます。インスタンスとアクセラレーターのどちらかまたは両方に大きなサイズを使用すると、データ転送時間が短縮され、全体的な推論のレイテンシーが減少する可能性があります。

  • 複数のモデルをアクセラレーターにロードする場合 (またはインスタンスの複数のアプリケーションプロセスから同じモデルをロードする場合) は、アクセラレーター上のコンピューティングとメモリの両方のニーズに合わせてアクセラレーターのサイズを大きくする必要があります。

  • モデルを混合精度に変換することができます。これは、Amazon EI の FP16 TFLOPS (所定のサイズの場合) を使用して、低レイテンシーと高パフォーマンスを提供します。

Amazon Elastic Inference を EC2 Auto Scaling に使用する

Auto Scaling グループを作成するときに、Amazon EI アクセラレーターを含む Amazon EC2 インスタンスの設定に必要な情報を指定できます。Amazon EI アクセラレーターで Auto Scaling インスタンスを設定するには、Amazon EI アクセラレータータイプとともに、インスタンス設定で起動テンプレートを指定できます。

このページの内容: