メインコンテンツまでスキップ

モデル推論のthroughputをスケールする

ワークロードの起動時やモデルの切り替え時には、Unity Gateway を介したモデルトラフィックを徐々に増やします。このガイダンスは、Databricks によって提供されるプロプライエタリモデルおよびオープンウェイトモデル、および接続された外部プロバイダーを介してアクセスされるモデルに適用されます。

トラフィックを徐々に増やす​

利用可能な容量は、モデル、プロバイダー、リージョン、およびサービングモードによって異なります。トラフィックが設定されたレート制限内に収まっている場合でも、リクエストで一時的な容量エラーが発生する可能性があります。クォータを増やしただけでは、サービング容量は確保されません。

throughputを増やすには:

  1. 構成済みのサービスレート制限と、モデルまたは外部プロバイダーの制限を確認してください。代表的なプロンプトと応答のサイズを含む、入力および出力トークンレートと並列リクエストを見積もります。
  2. 既知の安定したトラフィックレベルで起動します。新しいワークロードの場合は、小さな代表的な負荷から起動します。
  3. トラフィックは小さなステップで増やします。各レベルを一定に保ちながら、リクエストの成功率、レイテンシ、トークン使用量、キューの深さ、スロットリングや容量エラーをモニタリングします。ワークロードが安定し、アプリケーションの運用目標を満たしている場合にのみ、再び増やします。
  4. スロットリング、容量エラー、または待機時間がアプリケーションの許容範囲を超えて増加した場合は、ランプを一時停止し、最後に安定したトラフィックレベルに戻ります。並列処理を減らし、優先度の低い作業をキューに入れるか延期します。

ワークロードと、モデルまたはプロバイダーのガイダンスに基づいて、ステップサイズと観測期間を選択します。モデル、リージョン、またはサービング容量を変更する際に、この検証を繰り返します。

スロットリングと容量エラーの処理​

呼び出すAPIのHTTPステータスとエラー本文の両方を検査します。エラーコードとメッセージは、統合 API とプロバイダーネイティブ APIs 間で異なる場合があります。

レスポンス

意味とアクション

429 Too Many Requests

設定されたレート制限またはダウンストリームのスロットリングがリクエストを妨げています。一部のプロバイダーは、トラフィックの急激な増加もスロットリングします。エラー本文から制限を特定し、リクエストレートを下げ、トラフィックを徐々に増やします。エラーに割り当てまたは課金の変更が必要な場合は、再試行する前にその条件を解決します。

503 Service Unavailable

サービスまたはモデルが一時的にリクエストを処理できません。これは、構成されたレート制限を下回る場合を含め、トラフィックの増加中に発生する可能性があります。制限付き予算内で再試行し、エラーが続く場合はランプを停止する。

その他のプロバイダー過負荷エラー

一部のプロバイダー APIs は、一時的な過負荷に対して 529 などの他の応答を使用します。使用するプロバイダーと API のエラーガイダンスに従います。

レスポンス

意味とアクション

429 Too Many Requests

設定されたレート制限またはダウンストリームのスロットリングがリクエストを妨げています。一部のプロバイダーは、トラフィックの急激な増加もスロットリングします。エラー本文から制限を特定し、リクエストレートを下げ、トラフィックを徐々に増やします。エラーに割り当てまたは課金の変更が必要な場合は、再試行する前にその条件を解決します。

503 Service Unavailable

サービスまたはモデルが一時的にリクエストを処理できません。これは、構成されたレート制限を下回る場合を含め、トラフィックの増加中に発生する可能性があります。制限付き予算内で再試行し、エラーが続く場合はランプを停止する。

その他のプロバイダー過負荷エラー

一部のプロバイダー APIs は、一時的な過負荷に対して 529 などの他の応答を使用します。使用するプロバイダーと API のエラーガイダンスに従います。

容量エラーのみでは、オートスケールが進行中であるか、または容量がいつ利用可能になるかを示すことはできません。

再試行を設定​

  • 応答に Retry-After ヘッダーが含まれている場合は、そのヘッダーを遵守します。そうでない場合は、指数バックオフとランダムジッターを使用して一時的なスロットリングおよび容量エラーを再試行します。
  • 試行回数と経過時間に制限を設けて、アプリケーションのレイテンシーバジェット内に収めるようにしてください。エラーが解決しない場合は、リトライを追加するのではなく、トラフィックを減らしてください。
  • アプリケーションの再試行を追加する前に、SDKの再試行動作を確認してください。負荷が増加しないように、レイヤー全体での再試行を考慮します。
  • ストリームコンシューマーでストリーミング応答が起動された後にエラーを処理します。出力の受信後にリクエストを再試行すると、出力または作業が重複する可能性があります。

永続的なエラーについては、リクエスト ID、Timestamp、モデル名、プロバイダー名、観測されたトークンレート、同時実行数、およびトラフィックランプのタイムラインを Databricks アカウントチームに連絡してください。接続されている外部プロバイダーについては、プロバイダーのサービスステータスとアカウント制限も確認してください。

バッチ推論​

サポートされているモデルを持つ大規模なオフラインワークロードの場合は、並列化、再試行、スケーリングを管理するAI Functionsを使用してください。各行に個別の再試行ループを適用する代わりに、バッチ推論のガイダンスに従ってください。