プロビジョニングされたスループット

プロビジョンド スループットは、Vertex AI でサポートされている生成 AI モデルのスループットを予約する、固定料金の月額サブスクリプション サービスです。スループットを予約するには、モデルと、モデルが実行される利用可能なロケーションを指定する必要があります。

このページでは、プロビジョニングされたスループットの使用方法、仕組み、定期購入の方法について説明します。

サポートされているモデル

次の表に、プロビジョンド スループットをサポートするモデル、各生成 AI のスケール単位(GSU)のスループット、各モデルのバーンダウン率を示します。

Google モデル

次の表に、プロビジョニングされたスループットをサポートする Google モデルのスループット、購入単位、バーンダウン率を示します。Google モデルは 1 秒あたりの文字数で測定されます。これは、リクエスト全体のプロンプト入力と生成されたテキスト出力文字を 1 秒あたりで定義したものです。

モデル GSU あたりのスループット(文字/秒) GSU の最小購入単位 バーンダウン率
gemini-1.5-flash コンテキスト ウィンドウが 128,000 未満の場合:
54,000

コンテキスト ウィンドウが 128,000 を超える場合:
27,000
1 128,000 未満のコンテキスト ウィンドウ:
1 入力文字 = 1 文字
1 出力文字 = 4 文字
1 画像 = 1,067 文字
1 秒あたり 1 動画 = 1,067 文字
1 秒あたり 1 音声 = 107 文字
128,000 を超えるコンテキスト ウィンドウ:
1 入力文字 = 2 文字
1 出力文字 = 8 文字
1 画像 = 2,134 文字
1 秒あたり 1 動画 = 2,134 文字
1 秒あたり 1 音声 = 214 文字
gemini-1.5-pro 800 1 128,000 未満のコンテキスト ウィンドウ:
1 入力文字 = 1 文字
1 出力文字 = 3 文字
1 画像 = 1,052 文字
1 秒あたり 1 動画 = 1,052 文字
1 秒あたり 1 音声 = 100 文字
128,000 を超えるコンテキスト ウィンドウ:
1 入力文字 = 2 文字
1 出力文字 = 6 文字
1 画像 = 2,104 文字
1 秒あたり 1 動画 = 2,104 文字
1 秒あたり 1 音声 = 200 文字
gemini-1.0-pro 8,000 1 1 入力文字 = 1 文字
1 出力文字 = 3 文字
1 画像 = 20,000 文字
1 秒あたり 1 動画 = 16,000 文字
imagen-3.0-generate-001 0.025
スループットは、文字/秒ではなく画像/秒で測定されます。
1 プロビジョニングされたスループットの割り当てにカウントされるのは、出力イメージのみです。
imagen-3.0-fast-generate-001 0.05
スループットは、文字/秒ではなく画像/秒で測定されます。
1 プロビジョニングされたスループットの割り当てにカウントされるのは、出力イメージのみです。
MedLM-medium 2,000 1 1 入力文字 = 1 文字
1 出力文字 = 2 文字
MedLM-large 200 1 1 入力文字 = 1 文字
1 出力文字 = 3 文字

サポートされているロケーションの詳細については、利用可能なロケーションをご覧ください。

新しいモデルが利用可能になり次第、アップグレードできます。提供状況と廃止日については、Google モデルをご覧ください。

Google のレガシーモデル

プロビジョニングされたスループットをサポートするレガシーモデルをご覧ください。

パートナーのモデル

この表は、プロビジョニングされたスループットをサポートするパートナー モデルのスループット、購入単位、バーンダウン率を示しています。Claude モデルは、1 秒あたりのトークンで測定されます。これは、1 秒あたりのすべてのリクエストの入力トークンと出力トークンの合計として定義されます。

モデル GSU あたりのスループット(トークン/秒) GSU の最小購入単位 バーンダウン率
Anthropic Claude 3.5 Sonnet 350 25 1 つの入力トークン = 1 つのトークン
1 つの出力トークン = 5 つのトークン
Anthropic Claude 3 Opus 70 35 1 つの入力トークン = 1 つのトークン
1 つの出力トークン = 5 つのトークン
Anthropic Claude 3 Haiku 4,200 5 1 つの入力トークン = 1 つのトークン
1 つの出力トークン = 5 つのトークン
Anthropic Claude 3 Sonnet 350 25 1 つの入力トークン = 1 つのトークン
1 つの出力トークン = 5 つのトークン

サポートされているロケーションの詳細については、利用可能なロケーションをご覧ください。

プロビジョニングされたスループットの使用が適切なケース

ユースケースで次のいずれかの事項が該当する場合は、プロビジョニングされたスループットの使用を検討してください。

  • 重要なワークロードで常に高いスループットが求められる。スループットの測定はモデルによって異なります。
  • chatbot やエージェントなどのリアルタイム生成 AI 本番環境アプリケーションを構築している。
  • スループットが 20,000 文字/秒を超える必要がある。
  • アプリのユーザーに、一貫性があり予測可能なエクスペリエンスを提供したい。
  • 月額固定料金で生成 AI の費用を管理し、超過料金を制御したい。

プロビジョンド スループットは、生成 AI モデルを消費する 2 つの方法の一つです。2 つ目は従量課金制です。これはオンデマンドとも呼ばれます。

プロビジョニングされたスループットの測定方法

このセクションでは、生成 AI のスケール単位(GSU)とバーンダウン率のコンセプトについて説明します。プロビジョニングされたスループットは、GSU とバーンダウン率を使用して計算され、料金が設定されます。

生成 AI のスケール単位(GSU)は、プロンプトとレスポンスのスループットの測定値です。この量は、モデルをプロビジョニングするスループットを指定します。

モデル間で標準単位を生成するため、すべての入力と出力は、バーンダウン率と呼ばれるモデル固有の比率を使用して、1 秒あたりの入力文字数(スループット)に変換されます。

モデルによって使用するスループットが異なります。各モデルの最小 GSU 購入額と購入単位については、このドキュメントのサポートされているモデルとバーンダウン率をご覧ください。

次の式は、スループットの計算方法を示しています。

inputs_per_query = inputs_across_modalities_converted_using_burndown_rates
outputs_per_query = outputs_across_modalities_converted_using_burndown_rates

throughput_per_second = (inputs_per_query + outputs_per_query) * queries_per_second

計算された 1 秒あたりのスループットから、ユースケースに必要な GSU の数を決定します。

プロビジョニングされたスループットの必要量の計算例

プロビジョニングされたスループットの必要量を計算するには、Google Cloud コンソールの見積もりツールを使用します。次の例は、モデル用のプロビジョンド スループットの量を見積もるプロセスを示しています。この見積もりの計算では、リージョンは考慮されません。

  1. 要件をまとめます。

    1. この例では、gemini-1.5-flash を使用して、2 つの画像で 2,000 文字を送信し、1 秒あたり 10 件のクエリで 300 文字の出力を受け取ることを要件とします。

      ここでは、入力と出力のサイズ、秒間クエリ数(QPS)、モデルを特定しているため、ユースケースを理解していることを前提としています。

    2. スループットを推定するには、モデルを指定します。この例では、モデルは gemini-1.5-flash です。

    3. 入力の種類を指定し、バーンダウン率を特定します。バーンダウン率の表を使用して、入力の種類に基づいてバーンダウン率を特定します。

      gemini-1.5-flash モデルの画像のバーンダウン率は 1,067 文字です。

  2. スループットを計算します。

    1. 画像数に特定のモデルの入力タイプのバーンダウン率を掛けます。

      2 枚の画像 × 入力文字数 1,067 文字 / 画像 = 入力文字数 2,134 文字

    2. 出力文字の合計は 300 文字です。バーンダウン率の表に戻り、特定のモデル(gemini-1.5-flash)の出力文字(出力文字あたり 4 文字)のバーンダウン率を確認します。

      出力文字数 300 文字 × 出力文字あたり 4 文字 = 入力文字数(変換後)1,200 文字

    3. 合計します。

      入力文字数 2,000 文字 + 画像の入力文字数(変換後)2,134 文字 + 出力の入力文字数(変換後)1,200 文字 = クエリあたりの入力文字数(変換後)5,334 文字

    4. クエリあたりの文字数に 1 秒あたりの予想クエリ数を掛けて、1 秒あたりの合計スループットを算出します。

      クエリあたりの入力文字数(変換後)5,334 文字 × 10 QPS = 1 秒あたりの入力文字数(変換後)の合計 53,340 文字

  3. GSU を計算します。

    1. GSU は、1 秒あたりの合計スループットをバーンダウン率の表にある GSU あたりのスループットで割った値です。

      1 秒あたりの入力文字数(変換後)の合計 53,340 文字 ÷ GSU あたりのスループット 54,000 = 0.988 GSU

    2. gemini-1.5-flash の最小 GSU 購入単位は 1 で、要件を満たしています。

定期購入を開始する前に考慮すべきこと

プロビジョンド スループットを定期購入するかどうかを判断するため、以下に示すサブスクリプションの詳細を確認してください。

  • 注文をキャンセルすることはできません。

    プロビジョニングされたスループットの購入はコミットメントであるため、注文をキャンセルすることはできません。ただし、購入した GSU の数は増やすことができます。コミットメントを誤って購入した場合や、構成に問題がある場合は、Google Cloud アカウント担当者にお問い合わせください

  • サブスクリプションは自動更新できます。

    注文を送信する際に、サブスクリプションの期間の終了時に自動更新するか、サブスクリプションを終了するかを選択できます。自動更新プロセスはキャンセルできます。自動更新の前に定期購入をキャンセルするには、次の期間の開始の 30 日前までに自動更新をキャンセルしてください。

    このプロセスについてサポートが必要な場合は、Google Cloud アカウント担当者にお問い合わせください

  • モデル バージョンまたはリージョンは、通知の送信後に変更されます。

    プロビジョンド スループットは、プロジェクト、リージョン、モデル、バージョンを選択した後に有効になります。同じモデル パブリッシャーまたはリージョン内でモデルのバージョンを変更する場合は、その 10 営業日前に Google Cloud アカウント担当者に連絡してサポートを依頼してください。たとえば、Google のモデル間で切り替えることができます。パートナー A のモデル間で切り替えることができます。パートナー B のモデル間で切り替えることができます。Google、パートナー A、パートナー B の間でモデルを切り替えることはできません。

  • 従量課金制からプロビジョニングされたスループットに切り替えても、ダウンタイムは発生しません。

    プロビジョニングされたスループットの注文でモデルを切り替えても、ダウンタイムは発生しません。ただし、スループットを取得するまでのリードタイムが必要です。

  • デフォルトでは、超過分は従量課金制で請求されます。

    スループットがプロビジョンド スループットの注文量を超えると、超過分は従量課金制で処理され、請求されます。超過分はリクエストごとに制御できます。詳細については、REST API を使用するをご覧ください。

  • リクエストには優先順位が設定されます。

    プロビジョニングされたスループットを購入したユーザーからのリクエストは、オンデマンド リクエストよりも優先され、最初に処理されます。

  • 最小使用量とお支払い額を契約していただく必要があります。

    最小使用量は、選択した生成 AI モデルによって異なります。購入したスループット率を超える使用量は保証されず、合理的な努力に基づくサービスが提供されます。

  • スループットは繰り越せません。

    未使用のスループットは、翌月に繰り越しされません。

  • プロビジョニングされたスループットは、1 秒あたりの文字数またはトークンで測定されます。

    プロビジョニングされたスループットは、1 分あたりのクエリ数(QPM)ではなく、1 秒あたりの文字数またはトークン数で測定されます。そのため、プロビジョニングされたスループットの測定は、ユースケースのクエリサイズと QPM によって異なります。

プロビジョニングされたスループットを購入する

このセクションでは、プロビジョニングされたスループットの注文と表示に必要な権限と、注文と表示の手順について説明します。

権限

プロビジョニングされたスループットを定期購入するには、新しい注文の一覧取得が可能な次のいずれかの権限がプロジェクトに割り当てられている必要があります。

  • aiplatform.googleapis.com/provisionedThroughputAdmin: プロビジョニングされたスループットに固有のものです。
  • aiplatform.googleapis.com/admin: Vertex AI 内のすべてのリソースに対する管理者権限を付与します。

このロールでは、次の注文のみを一覧取得できます。

  • aiplatform.googleapis.com/viewer

プロビジョニングされたスループットを注文する

Imagen 3 モデルと Imagen 3 Fast モデルの場合は、注文する前に、こちらのフォーム(権限付与のリクエスト)を送信して、これらのモデルを使用する権限を取得してください。

プロビジョニングされたスループットのサブスクリプションを購入する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[プロビジョニングされたスループット] ページに移動します。

    [プロビジョニングされたスループット] に移動

  2. 新しい注文を開始するには、[作成] をクリックします。
  3. 注文名を入力します。
  4. モデルを選択します。
  5. リージョンを選択します。
  6. 購入する生成 AI スケール ユニット(GSU)の数を入力します。GSU の数を見積もる必要がある場合は、見積もりツールをクリックします。
    1. モデルを選択します。
    2. 秒間クエリ数を入力します。
    3. クエリあたりの入力文字数を入力します。
    4. クエリあたりの入力画像数を入力します。
    5. クエリあたりの動画の秒数を入力します。
    6. クエリあたりの音声の秒数を入力します。
    7. クエリあたりの出力文字数を入力します。
    8. 見積もりツールに入力した値を使用する場合は、[計算された値を使用] をクリックします。
  7. 期間を選択します。
  8. 更新オプションを選択します。
  9. [続行] をクリックします。
  10. [概要] セクションで、注文の価格とスループットの見積もりを確認します。フォームに記載されている利用規約とリンク先の利用規約をお読みください。
  11. 注文を確定するには、[確定] をクリックします。

注文ステータスを確認する

プロビジョニングされたスループットの注文を送信すると、注文ステータスが次のいずれかになります。

  • 審査待ち: 注文は完了しています。承認は、注文をプロビジョニングするための利用可能な容量に依存するため、注文は審査/ 承認待ち状態になります。保留中の注文のステータスについて詳しくは、Google Cloud アカウント担当者にお問い合わせください
  • 有効: Google が注文を承認してプロビジョニングしました。請求が開始します。
  • 期限切れ: 注文の有効期限が切れています。

プロビジョニングされたスループットの注文を表示する

プロビジョニングされたスループットの注文を表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[プロビジョニングされたスループット] ページに移動します。

    [プロビジョニングされたスループット] に移動

  2. リージョンを選択します。注文のリストが表示されます。

プロビジョニングされたスループットを使用する

このセクションでは、超過料金を管理する方法、プロビジョニングされたスループットをバイパスする方法、プロビジョニングされたスループットの使用状況をモニタリングする方法について説明します。

過剰な使用を制御するか、プロビジョニングされたスループットをバイパスする

購入したスループットを超過した場合の超過料金を管理したり、リクエストごとにプロビジョニングされたスループットをバイパスするには、REST API を使用します。

各オプションを確認して、ユースケースに何が必要かを判断してください。

デフォルトの動作

購入したスループット量を超えると、超過分はオンデマンドに移行し、従量課金制のレートで請求されます。プロビジョニングされたスループットの注文が有効になると、デフォルトの動作が自動的に適用されます。注文の使用を開始するためにコードを変更する必要はありません。

次の curl の例は、デフォルトの動作を示しています。

! curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  $URL \
  -d '{"contents": [{"role": "user", "parts": [{"text": "Hello."}]}]}'

プロビジョニングされたスループットのみを使用する

オンデマンド料金を回避して費用を管理する場合は、プロビジョニングされたスループットのみを使用します。プロビジョニングされたスループットの注文量を超えるリクエストは、エラー 429 を返します。

次の curl の例は、REST API を使用してプロビジョニングされたスループットのサブスクリプションのみを使用し、超過分に対してエラー 429 を返す方法を示しています。

X-Vertex-AI-LLM-Request-Type ヘッダーを dedicated に設定します。

! curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-Vertex-AI-LLM-Request-Type: dedicated" \
  $URL \
  -d '{"contents": [{"role": "user", "parts": [{"text": "Hello."}]}]}'

従量課金制のみを使用する

これは、オンデマンドを使用する場合にも該当します。リクエストは、プロビジョニングされたスループットの注文をバイパスして、従量課金制に直接送信されます。これは、テストや開発中のアプリケーションに役立ちます。

次の curl の例は、REST API を使用してプロビジョニングされたスループットをバイパスし、従量課金制のみを使用する方法を示しています。

X-Vertex-AI-LLM-Request-Type ヘッダーを shared に設定します。

! curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-Vertex-AI-LLM-Request-Type: shared" \
  $URL \
  -d '{"contents": [{"role": "user", "parts": [{"text": "Hello."}]}]}'

プロビジョニングされたスループットをモニタリングする

プロビジョニングされたスループットの使用状況は、モニタリング指標とリクエストごとにモニタリングできます。

レスポンス ヘッダー

プロビジョニングされたスループットを使用してリクエストが処理されると、レスポンスに次の HTTP ヘッダーが含まれます。このコード行は generateContent API 呼び出しにのみ適用されます。

  {"X-Vertex-AI-LLM-Request-Type": "dedicated"}

指標

プロビジョニングされたスループットは、aiplatform.googleapis.com/PublisherModel リソースタイプで測定される指標のセットを使用してモニタリングできます。各指標は、次のディメンションでフィルタできます。

  • type: inputoutput
  • request_type: dedicatedshared

指標をフィルタしてプロビジョニングされたスループットの使用状況を表示するには、dedicated リクエスト タイプを使用します。指標のパスの接頭辞は aiplatform.googleapis.com/publisher/online_serving です。たとえば、/consumed_throughput 指標のフルパスは aiplatform.googleapis.com/publisher/online_serving/consumed_throughput です。

aiplatform.googleapis.com/PublisherModel リソースでは、次の Cloud Monitoring 指標を使用できます。

指標 表示名 説明 プロビジョニングされたスループットの使用量をフィルタする
/characters 文字 入力と出力の文字数分布。
/character_count 文字数 入力と出力の累積文字数。
/consumed_throughput 文字スループット 使用されたスループットの文字数(バーンダウン率を考慮)。
/model_invocation_count モデルの呼び出し回数 モデル呼び出しの数(予測リクエスト)。
/model_invocation_latencies モデル呼び出しのレイテンシ モデル呼び出しのレイテンシ(予測レイテンシ)。
/first_token_latencies 最初のトークンのレイテンシ リクエストを受信してから最初のトークンが返されるまでの時間。
/tokens トークン 入出力トークン数の分布。
/token_count トークン数 入力トークンと出力トークンの累積数。

次のステップ