ML Diagnostics プラットフォーム

Google Cloud ML Diagnostics は、 で AI / ML ワークロードを最適化、モニタリング、診断するためのエンドツーエンドのマネージドプラットフォームです Google Cloud。ML Diagnostics を使用してワークロードをモニタリングし、すべてのワークロード指標、構成、プロファイルを 1 つのプラットフォーム内で収集して可視化できます。ML Diagnostics はトレーニング ワークロードと推論ワークロードの両方に適用でき、Google Kubernetes Engine(GKE)やカスタム オーケストレータなど、Cloud TPU 上のすべてのオーケストレータと互換性があります。ML Diagnostics には次の機能があります。

  • ワークロード モニタリング: GKE TPU で実行されている AI/ML ワークロードを自動的にモニタリングして診断します。ML Diagnostics Workload Monitoring は、GKE ジョブごとに ML の実行を自動的に作成し、ワークロード全体の TPU 使用率をモニタリングします。また、ワークロードに影響を与えるイベントを検出し、インフラストラクチャ、オーケストレータ、フレームワークなど、ワークロードのさまざまなレイヤを分析して、イベントの潜在的な原因を特定します。
  • ML の実行: ML Diagnostics を使用して、Google Cloud CLI を介して ML の実行を作成して登録するか、ML Diagnostics SDK をワークロードに統合します。ワークロード モニタリングを使用して実行を自動的に作成して登録し、ML の実行でマネージド XProf インスタンスをデプロイして、ワークロード指標、構成、プロファイル セッションを収集して管理できます。
  • gcloud CLI の操作: gcloud CLI を介して ML Diagnostics API を使用して、実行の登録と管理、マネージド XProf リソースのデプロイ、ストレージ バケット内のプロファイル セッションの可視化、CLI からのプロファイル キャプチャのトリガーを行います。また、CLI または API を使用して、ワークロード モニタリングで検出されたすべてのイベントを一覧表示し、これらのイベントのアナライザの詳細を取得することもできます。
  • Python SDK: オープンソースの ML Diagnostics SDK を使用して、ML ワークロードに統合された完全な ML ワークロード診断エクスペリエンスを実現します。ワークロードをモニタリングし、ワークロード指標、 構成、プロファイルを収集して管理します Google Cloud。
  • マネージド プロファイリング: ML Diagnostics は、スケーラブルなバックエンドを備えた XProf のマネージド インスタンスを関連付けられた アカウントにデプロイし、大規模なプロファイルを高速に読み込めるようにします。複数のユーザーが同時にプロファイルにアクセスすることをサポートし、マルチホスト プロファイリングやオンデマンド プロファイリングなどの組み込み機能が含まれています。
  • ワークロード指標: モデルの品質、モデルの パフォーマンス、システム指標などのワークロード指標を追跡します。ワークロード モニタリングを使用すると、SDK を統合せずにワークロードに関連付けられたシステム指標を取得できます。
  • ワークロード構成の管理: ソフトウェア構成、システム構成、ユーザー定義構成などのワークロード構成を追跡します。
  • Cluster Director と GKE での可視化: コンソールで、Cluster Director と Google Kubernetes Engine の指標、構成、プロファイルを可視化します。 Google Cloud
  • リンクの共有: ML の実行、ワークロード モニタリング、指標、プロファイルに関する情報を含む共有可能なリンクを使用して共同作業を行います。

ユーザーの経路

ML Diagnostics プラットフォームは、すべての GKE ジョブでワークロード モニタリングを使用して自動的に使用できます。また、SDK をワークロードに統合して、ML ワークロードの診断を完了することもできます。ML 診断システムは、 Google Cloud コンソールまたは CLI を介して操作できます。ワークロード モニタリングは、TPU 上の GKE でデプロイされたすべてのワークロードで自動的に使用できます。

CLI を使用すると、ML Diagnostics gcloud CLI を使用して ML の実行を作成または変更し、マネージド XProf リソースをデプロイできます。ML Diagnostics SDK を使用する場合は、ワークロード指標と構成を収集して管理し、マネージド XProf リソースをデプロイするために、SDK を ML ワークロードに統合する必要があります。

始めるには、次のいずれかのガイドを使用します。

XProf を使用したマネージド プロファイリング

CLI または SDK を使用すると、 XProf でマネージド プロファイリングを利用できます。XProf は 、ML ワークロード用のオープンソースのプロファイリングおよびパフォーマンス分析ツールであり、OpenXLA エコシステムの一部です。

セルフホスト プロファイリングと比較したマネージド プロファイリングのメリットは次のとおりです。

  • XProf やその他の依存関係の設定は不要です。
  • セキュリティが強化され、脆弱性から保護されます。
  • コラボレーション用の共有可能なリンク。
  • 大規模なプロファイルの読み込みが高速化されます。
  • リンク アクセス負荷に基づいてリソースを自動スケーリングし、複数のユーザーが同時にプロファイルにアクセスできるようにします。
  • マルチホスト プロファイリングやオンデマンド プロファイリングなどの組み込み機能。
  • 同じマネージド XProf インスタンスを使用して、複数の実行にわたって複数のプロファイル セッションを読み込みます。
  • ML Diagnostics プラットフォームによってデプロイされたマネージド XProf リソースは無料であるため、マネージド XProf はセルフホスト XProf よりも費用対効果が高くなります。

前提条件

ML Diagnostics を使用する前に、Cluster Director API を有効にして、必要な IAM 権限を追加します。GKE を使用している場合、ワークロード モニタリングはすでに有効になっています。ただし、ML Diagnostics SDK とオンデマンド プロファイリングには、追加の GKE アーティファクトと GKE クラスタの構成が必要です。詳細については、GKE を設定するをご覧ください。

Cluster Director API を有効にする

Google Cloud

ML Diagnostics プロダクトを使用するために、クラスタのデプロイと管理に Cluster Director を使用する必要はありません。ML Diagnostics は、GKE、Cluster Director、カスタム オーケストレータによって管理されるクラスタで動作します。ML Diagnostics は Cluster Director ファミリーの API の一部ですが、ユーザーが Cluster Director プロダクト自体を使用することに依存していません。

Cluster Director API を有効にする方法については、 プロジェクト で API を有効にする Google Cloud をご覧ください

IAM の権限

ワークロードで使用される Google Cloud サービス アカウントには、プロジェクトに次の IAM ロールが割り当てられている必要があります。

  • roles/hypercomputecluster.editor: MLRun リソースを作成して管理し、ユーザー インターフェースを表示するための完全なアクセス権。
  • roles/logging.logWriter: ログと指標を Cloud Logging に書き込む。
  • roles/storage.objectUser: machinelearning_run で指定された Cloud Storage バケットにプロファイルを保存する。

ML Diagnostics に必要な API のサブセットをユーザーに割り当てるカスタムロールを作成することもできます。ユーザーはクラスタの管理に Cluster Director を使用する必要がないため、次の権限のみを割り当てる必要があります。

  • hypercomputecluster.locations.get
  • hypercomputecluster.locations.list
  • hypercomputecluster.machineLearningRuns.create
  • hypercomputecluster.machineLearningRuns.delete
  • hypercomputecluster.machineLearningRuns.get
  • hypercomputecluster.machineLearningRuns.list
  • hypercomputecluster.machineLearningRuns.update
  • hypercomputecluster.operations.cancel
  • hypercomputecluster.operations.delete
  • hypercomputecluster.operations.get
  • hypercomputecluster.operations.list
  • resourcemanager.projects.get
  • Resourcemanager.projects.list

Google Kubernetes Engine 上のワークロードの場合は、Workload Identity Federation を使用して、必要なロールが付与された Kubernetes サービス アカウントを Google Cloud サービス アカウントに関連付けます。

料金

Cloud Logging を介した指標の保存と、Cloud Storage を介したプロファイルの保存には料金が発生します。ML Diagnostics プラットフォームを使用する場合、これらのサービスに追加の課金を有効にする必要はありません。ML Diagnostics プラットフォームによってデプロイされたマネージド XProf リソースは無料です。