AI News HubLIVE
站内改写3 分で読了

Amazon SageMaker AI 非同期推論がインラインリクエストペイロードをサポート

本日、Amazon SageMaker AI 非同期推論のインラインペイロードサポートを発表します。顧客は InvokeEndpointAsync API のリクエスト本文に直接推論ペイロードを送信できるようになり、呼び出しごとに Amazon S3 に入力データをアップロードする必要がなくなります。

ソースAWS Machine Learning Blog著者: Dan Ferguson

本日、Amazon SageMaker AI 非同期推論のインラインペイロードサポートを発表します。顧客は InvokeEndpointAsync API のリクエスト本文に直接推論ペイロードを送信できるようになり、呼び出しごとに Amazon S3 に入力データをアップロードする必要がなくなりました。128,000 バイト以下のペイロードの場合、この変更によりネットワークラウンドトリップが不要になり、クライアントコードが簡素化され、非同期推論ワークロードの運用上の複雑さが軽減されます。

背景:以前の非同期推論の仕組み Amazon SageMaker AI 非同期推論を使用すると、推論リクエストをキューに入れて非同期に処理できます。これは、大規模なペイロード、可変トラフィック、または数秒から数分のレイテンシーを許容できるワークロードに適しています。また、自動スケーリングをゼロまでサポートしており、バーストやバッチワークロードにコスト効率が高くなります。これまでは、毎回の呼び出しで 2 つの手順が必要でした。まず入力ペイロードを S3 バケットにアップロードし、次に S3 オブジェクト URI を InputLocation として指定してエンドポイントを呼び出します。エンドポイントはリクエストを非同期に処理し、出力を設定された S3 出力場所に書き込みます。クライアントはポーリングまたは SNS 通知で結果を受け取ります。この 2 ステップのパターンは大きなペイロード(画像、音声、数 MB のドキュメント)には適していましたが、リアルタイム推論よりも長い処理時間を必要とする小さな入力ペイロード(KB 単位)のお客様にとっては、必須の S3 依存関係が不必要な複雑さを追加していました。

新機能:Body パラメータによるインラインペイロード 今回のリリースにより、InvokeEndpointAsync は新しい Body パラメータを受け入れます。これが指定されると、ペイロードは API リクエスト内でインラインで送信され、S3 アップロードは不要になります。主な詳細は次のとおりです。新しいパラメータ Body は raw バイトで、上限は 128,000 バイトです。Body と InputLocation は相互排他的であり、両方を設定したリクエストは拒否されます。出力動作は変更されず、出力は S3 OutputLocation に書き込まれます。エンドポイントの互換性は既存の非同期エンドポイント向けに設計されており、モデルやコンテナの変更は必要ありません。エラー処理では、サイズと相互排他的違反は同期的に ValidationError を返します。この機能は 31 の商用 AWS リージョンで利用可能です。

お客様の体験:Before / After コードで最も明確にわかります。以下の 2 つの例は、同じエンドポイントに対して同じ非同期呼び出しを実行します。最初の例は従来の S3 アップロード手順を使用し、2 番目の例は新しいインライン Body パラメータを使用します。以前は S3 クライアント、入力バケット、IAM 権限、UUID 命名スキーム、クリーンアップ戦略が必要でした。現在は 1 回の呼び出しで済み、S3 クライアント、UUID、入力バケット、追加権限は不要です。

お客様のメリット インラインペイロードにより、リクエストごとにネットワークホップと依存関係が削除され、5 つの具体的なメリットがもたらされます。レイテンシーの削減(1 回のネットワークラウンドトリップと 1 回の S3 PUT が削除されます)。アーキテクチャの簡素化(入力バケットのプロビジョニング、ライフサイクルポリシー、クロスアカウントアクセスパターン、呼び出し元の IAM s3:PutObject 権限が不要になります)。エラーパスの削減(リクエストは単一の API 呼び出しであり、キューに入るか失敗するかのどちらかです)。コストの削減(インライン呼び出しごとに S3 PUT 料金が発生しません)。即時検証フィードバック(サイズと相互排他的エラーが同期的に返されます)。

各アプローチを使用するタイミング インラインペイロードは通常、小規模ペイロードにはよりシンプルな選択肢ですが、InputLocation にも依然として役割があります。ペイロードが 128KB 以下で、S3 に入力データを保持する必要がない場合は Body を使用します。ペイロードが 128KB を超える場合(画像、音声、大規模ドキュメント)、または監査やリプレイのために入力データを S3 に保持する必要がある場合は、InputLocation を使用します。ワークロードが混在している場合は、サイズに応じて分岐し、小さいペイロードには Body、大きいペイロードには InputLocation を使用します。

はじめに インラインペイロードを使用するには、既存の Amazon SageMaker AI 非同期推論エンドポイント、最新の AWS SDK for Python(Boto3)、および IAM 権限 sagemaker:InvokeEndpointAsync が必要です。また、非同期エンドポイント用に S3 出力バケットを設定する必要があります。手順は、AWS SDK の更新(pip install --upgrade boto3)、呼び出しコードの Body パラメータへの置き換え、テスト呼び出しと応答内の OutputLocation フィールドの確認です。エンドポイント設定、モデルコンテナ、出力 S3 設定は変更する必要はありません。完了後は、継続的な料金が発生しないようにリソースをクリーンアップしてください。

結論 SageMaker AI 非同期推論のインラインペイロードサポートにより、非同期推論ワークフローにおける一般的な摩擦点である、リクエストごとの必須 S3 アップロードが解消されます。128,000 バイト以内のほとんどの推論ペイロードでは、単一の API 呼び出しを行うだけで、残りは SageMaker AI が処理します。この機能は下位互換性があるように設計されており、既存の InputLocation ワークフローはそのまま動作し続けます。今すぐ AWS SDK を更新して、SageMaker AI InvokeEndpointAsync API の Body パラメータを使い始めてください。