「Amazon SageMaker のルーティング戦略を使用して、リアルタイムの推論レイテンシを最小限に抑えましょう」

Using Amazon SageMaker's routing strategy to minimize real-time inference latency

Amazon SageMakerは、リアルタイム推論のための機械学習(ML)モデルの展開を容易にし、AWS InferentiaなどのCPUおよびアクセラレータを備えた多様なMLインスタンスを提供しています。完全に管理されたサービスとして、モデルの展開をスケーリングし、推論コストを最小限に抑え、運用負荷を削減しながらモデルを効果的に管理することができます。SageMakerのリアルタイム推論エンドポイントは、HTTPsエンドポイントとMLインスタンスで構成され、高可用性のために複数のアベイラビリティーゾーンに展開されます。SageMakerのアプリケーション自動スケーリングは、ワークロードの変化に応じてモデルのMLインスタンス数を動的に調整することができます。エンドポイントは、ラウンドロビンアルゴリズムを使用して、受信したリクエストを均等にMLインスタンスに分散させます。

インスタンスに展開されたMLモデルが多数のクライアントからAPIコールを受ける場合、リクエストとレスポンスに変動が少ない場合にはランダムなリクエストの分配が非常に効果的です。しかし、生成的なAIワークロードが存在するシステムでは、リクエストとレスポンスには非常に大きな変動があることがあります。このような場合、ランダムなロードバランシングではなく、インスタンスの容量と利用率を考慮してロードバランスを行うことがしばしば望ましいです。

本記事では、SageMakerの最も未完了リクエスト(LOR)ルーティング戦略について説明し、容量と利用率を考慮したMLインスタンスにおいて特定の種類のリアルタイム推論ワークロードのレイテンシを最小限に抑える方法について説明します。デフォルトのルーティングメカニズムと比較してその利点を紹介し、どのようにLORをモデルの展開に有効化するかについて説明します。最後に、ランダムルーティング戦略と比較したLORによるレイテンシの改善の比較分析を行います。

SageMaker LOR戦略

デフォルトでは、SageMakerのエンドポイントはランダムなルーティング戦略を持っています。SageMakerは現在、LOR戦略をサポートしており、SageMakerが最適なルートを選択してリクエストを適切なインスタンスに送信することができます。SageMakerは、エンドポイントの背後にあるインスタンスの負荷、および各インスタンスに展開されているモデルまたは推論コンポーネントの状態を監視することで、これを実現しています。

以下のインタラクティブな図は、モデルエンドポイントに対して来たリクエストがランダムな方法でMLインスタンスに転送されるデフォルトのルーティングポリシーを示しています。

以下のインタラクティブな図は、SageMakerが最も未完了のリクエスト数が少ないインスタンスにリクエストをルーティングするルーティング戦略を示しています。

一般的に、LORルーティングは、基幹モデルや生成的なAIモデルにおいて、モデルが数百ミリ秒から数分で応答する場合に適しています。レイテンシが低いモデルの場合(数百ミリ秒まで)、ランダムなルーティングの方がより有益です。ただし、ワークロードに最適なルーティングアルゴリズムをテストして特定することをおすすめします。

SageMakerルーティング戦略の設定方法

SageMakerでは、エンドポイントのEndpointConfigurationを作成する際にRoutingStrategyパラメータを設定することができます。SageMakerでサポートされている異なるRoutingStrategyの値は以下のとおりです。

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

以下は、LORが有効な推論エンドポイント上にモデルを展開する例です。

  1. RoutingStrategyLEAST_OUTSTANDING_REQUESTSとして設定してエンドポイント構成を作成します:

    endpoint_config_response = sm_client.create_endpoint_config(    EndpointConfigName=endpoint_config_name,    ProductionVariants=[        {            "VariantName": "variant1",            "ModelName": model_name,            "InstanceType": "instance_type",            "InitialInstanceCount": initial_instance_count,  …..            "RoutingConfig": {                'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'}        },    ],)
  2. エンドポイント構成を使用してエンドポイントを作成します(変更なし):

    create_endpoint_response = sm_client.create_endpoint(    EndpointName="endpoint_name",     EndpointConfigName="endpoint_config_name")

パフォーマンス結果

エンドツーエンドの推論レイテンシとスループットを測定するためにパフォーマンスベンチマーキングを実行しました。デフォルトのルーティングとスマートルーティングのエンドポイントでホストされるcodegen2-7Bモデルについてのものです。 CodeGen2モデルは自己回帰的言語モデルの一種で、英語の提示を受けると実行可能なコードを生成します。

分析では、同時ユーザー数が増加するにつれて各テスト実行ごとに各エンドポイントのml.g5.24xlインスタンスの数を増やしました。次のテーブルに示すように、

テスト 同時ユーザー数 インスタンス数
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

インスタンス数を5から20に増やすと、エンドポイントごとのエンドツーエンドのP99レイテンシで4〜33%の改善が見られました。

同様に、インスタンス数を5から20に増やすと、1分あたりの各インスタンスのスループットが15〜16%改善されました。

これは、スマートルーティングがエンドポイント間のトラフィック分散を改善し、エンドツーエンドのレイテンシと全体的なスループットを向上させることができることを示しています。

結論

この記事では、SageMakerのルーティング戦略と新しいLORルーティングの有効化オプションについて説明しました。 LORの有効化方法と、モデルデプロイメントへの影響について説明しました。 パフォーマンステストでは、リアルタイム推論中のレイテンシとスループットの改善が示されました。 SageMakerのルーティング機能について詳しくは、ドキュメントを参照してください。 推論ワークロードを評価し、適切に設定されているかどうかを確認することをお勧めします。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

ドレスコードの解読👗 自動ファッションアイテム検出のためのディープラーニング

電子商取引の活気ある世界では、ファッション業界は独自のランウェイですしかし、もし我々がこのランウェイのドレスコードを...

機械学習

NVIDIA CEO:クリエイターは生成的AIによって「スーパーチャージ」されるでしょう

ジェンスン・ファウンダー兼CEOは、フランスのリビエラ地方で開催されたカンヌライオンズフェスティバルで、ジェンスン・ファ...

人工知能

生成AIを使用して検索(およびブラウジング)しながら学びます

「Search Generative Experience(SGE)の新しいアップデートにより、人々はオンラインで検索しながら新しいことを簡単に学び...

データサイエンス

AIOpsの力を解き放つ:最適化されたITオペレーションのための知的自動化によるDevOpsの強化

DevOpsのプラクティスを革命化するAIOps(ITオペレーションのための人工知能)の変革的な可能性を発見してください

人工知能

「ネクサスフローのNexusRaven-V2がGPT-4を自分のゲームで打ち負かす方法!」

人工知能の急速に進化する風景の中で、確立されたAIモデルの支配に挑戦する新たな候補が現れました。テックサークルで話題の...

AIニュース

「ユネスコ、AIチップの埋め込みに関するプライバシー懸念を指摘」

最近、国連は人工知能(AI)と先進的な神経技術の組み合わせに伴う潜在的な危険性について警告しました。報告によると、脳イ...