プロビジョンド スループットを使用する

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

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

このセクションでは、割り当て適用期間中の割り当てチェックを使用して、プロビジョニングされたスループットの仕組みについて説明します。

プロビジョンド スループットの割り当ての確認

プロビジョンド スループットの最大割り当ては、購入した生成 AI スケール ユニット(GSU)の数と GSU あたりのスループットの倍数です。これは、割り当て適用期間内にリクエストを送信するたびに確認されます。割り当て適用期間は、最大プロビジョンド スループット割り当てが適用される頻度です。

リクエストを受信した時点では、実際のレスポンス サイズは不明です。リアルタイム アプリケーションではレスポンスの速度が優先されるため、プロビジョニングされたスループットは出力トークン サイズを推定します。初期見積もりが使用可能なプロビジョンド スループットの最大割り当てを超えると、リクエストは従量課金制として処理されます。それ以外の場合は、プロビジョンド スループットとして処理されます。これは、初期見積もりとプロビジョンド スループットの最大割り当てを比較することで行われます。

レスポンスが生成され、実際の出力トークン サイズがわかると、推定値と実際の使用量の差が使用可能なプロビジョニングされたスループットの割り当て量に追加され、実際の使用量と割り当てが調整されます。

プロビジョンド スループットの割り当て適用期間

Gemini モデルの場合、割り当ての適用期間は最大 30 秒で、変更される可能性があります。つまり、場合によっては、1 秒あたりの割り当て量を超える優先トラフィックが一時的に発生する可能性がありますが、30 秒あたりの割り当て量を超えることはありません。これらの期間は Vertex AI の内部クロック時間に基づいており、リクエストが行われた時間とは関係ありません。

たとえば、1 GSU の gemini-2.0-flash-001 を購入した場合、常時稼働のスループットは 1 秒あたり 3,360 トークンになります。平均して、30 秒あたり 100,800 トークンを超えないようにする必要があります。これは次の式で計算されます。

3,360 tokens per second * 30 seconds = 100,800 tokens

1 秒あたり 8,000 個のトークンを消費するリクエストを 1 日に 1 回だけ送信した場合、リクエスト時に 1 秒あたり 3,360 個のトークン上限を超えたとしても、プロビジョンド スループット リクエストとして処理されることがあります。これは、リクエストが 30 秒あたり 100,800 トークンのしきい値を超えていないためです。

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

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

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

デフォルトの動作

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

プロビジョンド スループットのみを使用する

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

API にリクエストを送信するときは、X-Vertex-AI-LLM-Request-Type HTTP ヘッダーを dedicated に設定します。

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

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

API にリクエストを送信するときは、X-Vertex-AI-LLM-Request-Type HTTP ヘッダーを shared に設定します。

Python

インストール

pip install --upgrade google-genai

詳しくは、SDK リファレンス ドキュメントをご覧ください。

Vertex AI で Gen AI SDK を使用するための環境変数を設定します。

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(
    http_options=HttpOptions(
        api_version="v1",
        headers={
            # Options:
            # - "dedicated": Use Provisioned Throughput
            # - "shared": Use pay-as-you-go
            # https://cloud.google.com/vertex-ai/generative-ai/docs/use-provisioned-throughput
            "X-Vertex-AI-LLM-Request-Type": "shared"
        },
    )
)
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="How does AI work?",
)
print(response.text)
# Example response:
# Okay, let's break down how AI works. It's a broad field, so I'll focus on the ...
#
# Here's a simplified overview:
# ...

REST

環境をセットアップしたら、REST を使用してテキスト プロンプトをテストできます。次のサンプルは、パブリッシャー モデルのエンドポイントにリクエストを送信します。

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

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

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

プロビジョニングされたスループットのトラフィック モニタリングは、公開プレビュー機能です。

ディメンション

次のディメンションを使用して指標をフィルタできます。

ディメンション
type input
output
request_type

dedicated: プロビジョンド スループットを使用してトラフィックが処理されます。

spillover: プロビジョンド スループットの割り当てを超えると、トラフィックは従量課金制の割り当てとして処理されます。

shared: プロビジョンド スループットが有効になっている場合、トラフィックは共有 HTTP ヘッダーを使用して従量課金制の割り当てとして処理されます。プロビジョニングされたスループットが有効になっていない場合、トラフィックはデフォルトで従量課金制として処理されます。

パスの接頭辞

指標のパスの接頭辞は aiplatform.googleapis.com/publisher/online_serving です。

たとえば、/consumed_throughput 指標のフルパスは aiplatform.googleapis.com/publisher/online_serving/consumed_throughput です。

指標

Gemini モデルの aiplatform.googleapis.com/PublisherModel リソースでは、次の Cloud Monitoring 指標を使用できます。dedicated リクエスト タイプを使用して、プロビジョニングされたスループットの使用状況をフィルタします。

指標 表示名 説明
/dedicated_gsu_limit 上限(GSU) GSU の専用上限。この指標を使用して、GSUs でプロビジョニングされたスループットの最大割り当てを確認します。
/tokens トークン数 入出力トークン数の分布。
/token_count トークン数 入力トークンと出力トークンの累積数。
/consumed_token_throughput トークン スループット バーンダウン率を考慮したスループット使用量(トークン単位)。割り当ての調整も含まれます。プロビジョンド スループットの割り当ての確認をご覧ください。

この指標を使用して、プロビジョンド スループットの割り当てがどのように使用されたかを把握します。
/dedicated_token_limit 上限(1 秒あたりのトークン数) 1 秒あたりのトークン数で表される専用の上限。この指標を使用して、トークンベースのモデルのプロビジョニングされたスループットの最大割り当てを把握します。
/characters 文字数 入力と出力の文字数分布。
/character_count 文字数 入力と出力の累積文字数。
/consumed_throughput 文字スループット バーンダウン率を考慮したスループット使用量。割り当ての調整とプロビジョニングされたスループットの割り当てチェックが組み込まれています。

この指標を使用して、プロビジョンド スループットの割り当てがどのように使用されたかを把握します。

トークンベースのモデルの場合、この指標はトークンで消費されるスループットに 4 を掛けた値に相当します。
/dedicated_character_limit 上限(1 秒あたりの文字数) 1 秒あたりの文字数で表される専用の上限。この指標を使用して、文字ベースのモデルのプロビジョニングされたスループットの最大割り当てを確認します。
/model_invocation_count モデルの呼び出し回数 モデル呼び出しの数(予測リクエスト)。
/model_invocation_latencies モデル呼び出しのレイテンシ モデル呼び出しのレイテンシ(予測レイテンシ)。
/first_token_latencies 最初のトークンのレイテンシ リクエストを受信してから最初のトークンが返されるまでの時間。

Anthropic モデルには、プロビジョンド スループットのフィルタもありますが、tokens/token_count にのみ適用されます。

ダッシュボード

プロビジョニングされたスループットのデフォルトのモニタリング ダッシュボードには、使用状況とプロビジョニングされたスループットの使用率をより詳細に把握できる指標が用意されています。ダッシュボードにアクセスする手順は次のとおりです。

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

    [プロビジョンド スループット] に移動

  2. 注文全体における各モデルのプロビジョンド スループットの使用率を表示するには、[使用率の概要] タブを選択します。

    [Provisioned Throughput utilization by model] テーブルには、選択した期間の次の情報が表示されます。

    • お持ちの GSU の合計数。

    • GSU で表したピーク時のスループット使用量。

    • GSU の平均使用率。

    • プロビジョンド スループットの上限に達した回数。

  3. [モデル別のプロビジョニングされたスループット使用率] テーブルからモデルを選択すると、選択したモデルに固有の指標が表示されます。

ダッシュボードの制限事項

ダッシュボードには、特にトラフィックの変動が激しい場合や、トラフィックがスパイク状または頻度が低い場合(たとえば、1 秒あたりのクエリ数が 1 未満の場合)に、予期しない結果が表示されることがあります。これらの結果には、次のような理由が考えられます。

  • 12 時間を超える時間範囲を指定すると、割り当ての適用期間の精度が低下する可能性があります。スループット指標とその派生指標(使用率など)には、選択した期間に基づく調整期間の平均が表示されます。期間が拡大すると、各調整期間も拡大します。調整期間は、平均使用量の計算全体に及びます。割り当ての適用は 1 分未満のレベルで計算されるため、時間範囲を 12 時間以下の期間に設定すると、実際の割り当ての適用期間とより比較可能な分単位のデータが得られます。アライメント期間の詳細については、アライメント: 系列内の正則化をご覧ください。期間の詳細については、時間間隔の正則化をご覧ください。
  • 複数のリクエストが同時に送信された場合、モニタリングの集計によって、特定のリクエストにフィルタリングする機能に影響する可能性があります。
  • プロビジョンド スループットは、リクエストが行われたときにトラフィックを調整しますが、割り当てが調整された後に使用状況指標を報告します。
  • プロビジョニングされたスループットの割り当て適用期間は、モニタリングの集計期間やリクエストまたはレスポンスの期間とは独立しており、一致しない場合があります。
  • エラーが発生しなかった場合でも、エラー率のグラフにエラー メッセージが表示されることがあります。たとえば、「データのリクエスト中にエラーが発生しました。1 つ以上のリソースが見つかりませんでした。

Genmedia モデルをモニタリングする

Veo 3 モデルと Imagen モデルの指標は、次のようにトークンでスループットを表します。

  • Veo モデルの場合: 100 トークン = 1 秒の動画

  • Imagen モデルの場合: 1 トークン = 1 画像

たとえば、Veo 3 モデルのプロビジョンド スループットの使用状況をモニタリングしている場合、/consumed_token_throughput 指標は動画秒のスループットを表し、/dedicated_token_limit は動画秒 / 秒の専用上限を表します。

各モデルのバーンダウン率については、サポートされているモデルをご覧ください。たとえば、Veo 3 を使用している場合、1 秒の出力動画 + 音声 = 1.6 秒の出力動画となります。したがって、この場合、1 秒の動画と音声は 160 トークンに相当します。

アラート

アラートを有効にしたら、トラフィック使用量の管理に役立つデフォルトのアラートを設定します。

アラートを有効にする

ダッシュボードでアラートを有効にするには、次の操作を行います。

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

    [プロビジョンド スループット] に移動

  2. 注文全体における各モデルのプロビジョンド スループットの使用率を表示するには、[使用率の概要] タブを選択します。

  3. [推奨アラート] を選択すると、次のアラートが表示されます。

    • Provisioned Throughput Usage Reached Limit
    • Provisioned Throughput Utilization Exceeded 80%
    • Provisioned Throughput Utilization Exceeded 90%
  4. トラフィックの管理に役立つアラートを確認します。

アラートの詳細を表示する

アラートの詳細を表示する手順は次のとおりです。

  1. [インテグレーション] ページに移動します。

    [インテグレーション] に移動

  2. [フィルタ] フィールドに「vertex」と入力して、Enter キーを押します。[Google Vertex AI] が表示されます。

  3. 詳細を表示するには、[詳細を表示] をクリックします。[Google Vertex AI の詳細] ペインが表示されます。

  4. [アラート] タブを選択し、[アラート ポリシー] テンプレートを選択します。

次のステップ