Vertex AI の Cloud Monitoring 指標

Vertex AI により Cloud Monitoring に指標がエクスポートされます。Vertex AI では、これらの指標の一部が Google Cloud コンソールの [Vertex AI] にも表示されます。Cloud Monitoring を使用して、ダッシュボードの作成や、指標に基づいたアラートの構成ができます。たとえば、Vertex AI でのモデルの予測レイテンシが大きすぎる場合、アラートを受け取ることができます。

以下のセクションでは、Google Cloud コンソールの [Vertex AI] で提供される指標について説明します。これらの指標は、Vertex AI が Cloud Monitoring に送信する直接指標または計算指標です。

Vertex AI が Cloud Monitoring にエクスポートする指標のリストを表示するには、Monitoring の Google Cloud の指標ページの「aiplatform」セクションをご覧ください。カスタム トレーニングの指標については、このページの「ml」セクションtraining で始まる指標タイプをご覧ください。

カスタム トレーニングのモニタリング指標

カスタム トレーニングを行う場合は、各トレーニング ノードで次の種類のリソース使用量をモニタリングできます。

  • 各トレーニング ノードの CPU または GPU 使用率
  • 各トレーニング ノードのメモリ使用率
  • ネットワーク使用量(1 秒あたりの送信バイト数と受信バイト数)

ハイパーパラメータ調整を使用している場合は、各トライアルの指標を表示できます。

カスタム トレーニングを開始した後、これらの指標を表示する手順は次のとおりです。

  1. ハイパーパラメータ調整を使用しているかどうかに応じて、Google Cloud コンソールで次のいずれかのページに移動します。

  2. カスタム トレーニング リソースの名前をクリックします。

    カスタム TrainingPipeline リソースを作成した場合は、TrainingPipeline によって作成されたジョブの名前をクリックします(たとえば、TRAINING_PIPELINE_NAME-custom-jobTRAINING_PIPELINE_NAME-hyperparameter-tuning-job など)。

  3. [CPU]、[GPU]、または [ネットワーク] タブをクリックして、目的の指標の使用率グラフを表示します。

    ハイパーパラメータ調整を使用している場合は、[Hyperparamater tuning trials] テーブルの行をクリックして、特定のトライアルの指標を表示できます。

古い指標を表示する場合、または指標の表示方法をカスタマイズする場合は、Monitoring を使用します。Vertex AI は、カスタム トレーニング指標を ml.googleapis.com/training という接頭辞の付いた指標タイプとして Monitoring にエクスポートします。モニタリング対象リソースタイプは cloudml_job です。

AI Platform Training は、同じ指標タイプとリソースタイプで指標を Monitoring にエクスポートします。

エンドポイントのモニタリング指標

エンドポイントにモデルをデプロイした後に、エンドポイントをモニタリングすると、モデルのパフォーマンスとリソースの使用量を把握できます。トラフィック パターン、エラー率、レイテンシ、リソース使用率などの指標を追跡すると、モデルが一貫して予想どおりにリクエストに反応していることを確認できます。たとえば、コストを最適化するために、別のマシンタイプでモデルを再デプロイできます。変更を行ったら、モデルをモニタリングして、変更によってパフォーマンスに悪影響があるかどうかを確認できます。

Cloud Monitoring では、デプロイされたモデルのモニタリング対象リソースタイプは aiplatform.googleapis.com/Endpoint です。

パフォーマンス指標

パフォーマンス指標は、モデルのトラフィック パターン、エラー、レイテンシに関する情報を調べるのに役立ちます。Google Cloud コンソールで次のパフォーマンス指標を表示できます。

  • 1 秒あたりの予測数: オンライン予測とバッチ予測の両方での 1 秒あたりの予測数。リクエストごとに複数のインスタンスがある場合、各インスタンスはこのグラフでカウントされます。
  • 予測エラーの割合: モデルで発生しているエラーの割合。エラー率が高い場合は、モデルまたはモデルのリクエストに問題がある可能性があります。レスポンス コード グラフを表示して、発生しているエラーを確認します。
  • モデル レイテンシ(表形式モデルとカスタムモデルのみ): 計算の処理に費やされた時間。
  • オーバーヘッド レイテンシ(表形式モデルとカスタムモデルのみ): 計算以外のリクエストの処理に費やされた時間の合計。
  • レイテンシ時間の合計: リクエストがサービスに費やした時間の合計。これはモデルのレイテンシとオーバーヘッドのレイテンシの合計です。

リソースの使用量

リソース使用量の指標は、モデルの CPU 使用率、メモリ使用量、ネットワーク使用率を追跡するのに役立ちます。Google Cloud コンソールでは、次の使用状況の指標を確認できます。

  • レプリカ数: デプロイされたモデルによって使用されているアクティブなレプリカの数。
  • レプリカ ターゲット: デプロイされたモデルに必要なアクティブなレプリカの数。
  • CPU 使用率: デプロイされたモデルレプリカの現在の CPU コア使用率。100% は 1 つの CPU コアがフルに使用されていることを表しているため、マシンタイプに複数のコアがある場合、レプリカは 100% を超える使用率に到達する可能性があります。
  • メモリ使用量: デプロイされたモデルのレプリカによって割り当てられ、現在使用中のメモリ量。
  • 送信ネットワーク バイト数: デプロイされたモデルのレプリカによってネットワーク経由で送信されたバイト数。
  • 受信ネットワーク バイト数: デプロイされたモデルレプリカによってネットワーク経由で受信されたバイト数。
  • アクセラレータ平均デューティ サイクル: 過去のサンプル期間に対して、1 つ以上のアクセラレータがアクティブに処理した時間の割合の平均。
  • アクセラレータ メモリ使用量: デプロイされたモデルレプリカによって割り当てられたメモリの量。

エンドポイントのモニタリング指標グラフの表示

  1. Google Cloud コンソールで [Vertex AI] の [エンドポイント] ページに移動します。

    [エンドポイント] ページに移動

  2. エンドポイントの名前をクリックすると、その指標が表示されます。

  3. グラフ間隔の下で、[パフォーマンス] または [リソースの使用量] をクリックして、パフォーマンスまたはリソースの使用量の指標を表示します。

    グラフのさまざまな間隔を選択して、特定の期間(1 時間、12 時間、14 日など)の指標値を表示できます。

    複数のモデルをエンドポイントにデプロイした場合は、モデルを選択または選択解除して、特定のモデルの指標を表示または非表示にできます。複数のモデルを選択すると、コンソールでは一部のモデル指標が 1 つのグラフにグループ化されます。たとえば、指標がモデルごとに 1 つの値のみを提供する場合、コンソールは CPU 使用率などのモデル指標を 1 つのグラフにグループ化します。モデルごとに複数の値を持てる指標については、コンソールに各モデルのグラフが表示されます。たとえば、コンソールには各モデルのレスポンス コード グラフが表示されます。

Vertex AI Feature Store のモニタリング指標

featurestore を構築すると、オンライン ストレージ処理のレイテンシやオンライン ストレージ ノードの数など、パフォーマンスとリソース使用率をモニタリングできます。たとえば、featurestore のオンライン ストレージ ノードの数を更新し、オンライン ストレージ処理の指標の変更をモニタリングできます。

Cloud Monitoring では、featurestore のモニタリング対象リソースタイプは aiplatform.googleapis.com/Featurestore です。

指標

  • リクエスト サイズ: featurestore 内のエンティティ タイプ別のリクエスト サイズ。
  • ストリーミング書き込みのためのオフライン ストレージ書き込み: オフライン ストレージに対して処理されたストリーミング書き込みリクエストの数。
  • オフライン ストレージへのストリーミング書き込みの遅延時間: 書き込み API を呼び出してオフライン ストレージに書き込まれるまでの経過時間(秒)。
  • ノード数: featurestore のオンライン サービング ノードの数。
  • レイテンシ: オンライン サービングまたはストリーミング取り込みのリクエストがサービスに費やした合計時間。
  • 秒間クエリ数: featurestore が処理するオンライン サービングまたはストリーミング取り込みのクエリの数。
  • エラーの割合: オンライン サービングまたはストリーミング取り込みのリクエストを処理するときに featurestore によって生成されるエラーの割合。
  • CPU 使用率: featurestore によって割り当てられ、現在オンライン ストレージによって使用されている CPU の割合。この数は、オンライン処理ストレージが過負荷の場合、100% を超えることがあります。CPU 使用率を低減するために、featurestore のオンライン サービング ノード数を増やすことを検討してください。
  • CPU 使用率 - 最もホットなノード: featurestore のオンライン ストレージ内の最もホットなノードの CPU 負荷。
  • 合計オフライン ストレージ: featurestore のオフライン ストレージに保存されているデータ量。
  • オンライン ストレージの合計: featurestore のオンライン ストレージに保存されているデータの量。
  • オンライン サービング スループット: オンライン サービング リクエストのスループット(MB/秒)。

featurestore のモニタリング指標グラフの表示

  1. Google Cloud コンソールで [Vertex AI] の [特徴量] ページに移動します。

    [特徴量] ページに移動

  2. [Featurestore] 列で、featurestore の名前をクリックして指標を表示します。

    グラフのさまざまな間隔を選択して、特定の期間(1 時間、1 日、1 週間など)の指標値を表示できます。

    オンライン処理の指標の中には、特定のメソッドの指標を表示するものがあります。これにより、エンティティ タイプ別に指標をさらに分類できます。たとえば、ReadFeatureValues メソッドまたは StreamingReadFeatureValues メソッドのレイテンシを表示できます。