このページでは、Vertex AI の使用中に問題が発生した場合に役立つトラブルシューティング手順について説明します。
一部の Vertex AI コンポーネントのトラブルシューティングの手順は、別の場所に記載されています。以下をご覧ください。
このページのコンテンツをフィルタするには、トピックをクリックします。
AutoML モデル
このセクションでは、AutoML で問題が発生した場合に役立つトラブルシューティング手順について説明します。
テスト、検証、トレーニング セットのラベルが見つからない
問題
AutoML 分類モデルをトレーニングするときにデフォルトのデータ分割を使用するとき、Vertex AI が特定のインスタンス(テスト、検証、トレーニング)に割り当てるクラスが少なすぎると、トレーニング中にエラーが発生します。この問題は、クラスのバランスが悪い場合や、トレーニング データが少ない場合によく発生します。
ソリューション
この問題を解決するには、トレーニング データを追加したり、各セットに十分なクラスを割り当てられるようにデータを手動で分割したり、使用頻度の低いラベルをデータセットから削除したりします。詳細については、AutoML モデルのデータ分割についてをご覧ください。
Vertex AI Studio
Vertex AI Studio の使用時に次のエラーが発生する場合があります。
モデルをチューニングしようとすると Internal error encountered
が返される
問題
モデルをチューニングしようとすると、Internal error encountered
エラーが発生します。
ソリューション
次の curl コマンドを実行して、空の Vertex AI データセットを作成します。コマンドの中でプロジェクト ID を構成していることを確認してください。
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://europe-west4-aiplatform.googleapis.com/ui/projects/$PROJECT_ID/locations/europe-west4/datasets \
-d '{
"display_name": "test-name1",
"metadata_schema_uri": "gs://google-cloud-aiplatform/schema/dataset/metadata/image_1.0.0.yaml",
"saved_queries": [{"display_name": "saved_query_name", "problem_type": "IMAGE_CLASSIFICATION_MULTI_LABEL"}]
}'
コマンドが完了したら、5 分待ってから再度モデルのチューニングを試みます。
エラーコード: 429
問題
次のエラーが発生します。
429: The online prediction request quota is exceeded for PUBLIC_BASE_MODEL_NAME.
ソリューション
バックオフを行い、後で再試行してください。それでもエラーが解消されない場合は、Vertex AI にお問い合わせください。
エラーコード: 410
問題
次のエラーが発生します。
410: The request is missing the required authentication credential. Expected OAuth 2.0 access token, login cookie, or other valid authentication credential.
ソリューション
詳細については、認証の概要をご覧ください。
エラーコード: 403
問題
次のエラーが発生します。
403: Permission denied.
ソリューション
API にアクセスするアカウントに適切な権限があることを確認してください。
Vertex AI Pipelines
このセクションでは、Vertex AI Pipelines で問題が発生した場合に役立つトラブルシューティング手順について説明します。
サービス アカウントとして機能するための権限が付与されていない
問題
Vertex AI Pipelines ワークフローを実行すると、次のエラー メッセージが表示される場合があります。
You do not have permission to act as service account: SERVICE_ACCOUNT. (or it may not exist).
ソリューション
このエラーは、使用する必要のあるリソースへのアクセス権がワークフローを実行するサービス アカウントにないことを意味します。
この問題を解決するには、サービス アカウントに対する iam.serviceAccounts.actAs
権限をユーザーに付与します。
エラー: Vertex AI Pipelines コンポーネントで Python パッケージのハッシュが一致しない
問題
Vertex AI Pipelines ワークフローを実行すると、次のエラーが発生することがあります。
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
これは、Vertex AI Pipelines コンポーネントのベースイメージにある Python ライブラリと、パイプラインがインストールしようとしている Python ライブラリとの間でバージョン競合が発生することが原因です。
ソリューション
このメッセージとともにリストされている依存関係を、Vertex AI Pipelines コンポーネントで使用されるイメージに組み込みます。
エラー Internal error happened
問題
パイプラインが Internal error happened
メッセージで失敗した場合は、ログ エクスプローラでパイプラインの名前を検索します。次のようなエラーが表示されます。
java.lang.IllegalStateException: Failed to validate vpc network projects/PROJECT_ID/global/networks/VPC_NETWORK.APPLICATION_ERROR;google.cloud.servicenetworking.v1/ServicePeeringManagerV1.GetConsumerConfig;Reserved range: 'RANGE_NAME' not found for consumer project: 'PROJECT_ID' network: 'VPC_NETWORK'. com.google.api.tenant.error.TenantManagerException: Reserved range: 'RANGE_NAME' not found for consumer project
これは、Vertex AI の VPC ピアリングに削除された IP 範囲が含まれていることを意味します。
ソリューション
この問題を解決するには、更新コマンドを使用して VPC ピアリングを更新し、有効な IP 範囲を指定します。
指定された OAuth スコープまたは ID トークン オーディエンスが無効
問題
Vertex AI Pipelines ワークフローを実行すると、次のエラー メッセージが表示されます。
google.auth.exceptions.RefreshError: ('invalid_scope: Invalid OAuth scope
or ID token audience provided.', {'error': 'invalid_scope',
'error_description': 'Invalid OAuth scope or ID token audience provided.'})
ソリューション
これは、パイプラインのコンポーネントのいずれかで認証情報を提供していないか、ai_platform.init()
を使用して認証情報を設定していないことを意味します。
この問題を解決するには、関連するパイプライン コンポーネントの認証情報を設定するか、環境の認証情報を設定して、コードの先頭で ai_platform.init()
を使用します。
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = PATH_TO_JSON_KEY
Vertex AI Pipelines コンポーネントには 100 GB を超えるディスク容量が必要
問題
Vertex AI Pipelines コンポーネントに割り当てられるデフォルトのディスク容量は 100 GB で、ディスク容量を増やすことはできません。この問題については、公開 Issue Tracker をご覧ください。
ソリューション
コンポーネントが 100 GB を超えるディスク容量を使用する場合は、components メソッドを使用してコンポーネントをカスタムジョブに変換します。この演算子では、コンポーネントが使用するマシンタイプとディスクサイズを割り当てることが可能です。
この演算子の使用例については、「コンポーネントを Vertex AI カスタムジョブに変換する」セクションの Vertex AI Pipelines: ビルド済み Google Cloud パイプラインを使用したカスタム トレーニングをご覧ください。
Vertex AI ネットワーキングの問題
このセクションでは、Vertex AI のネットワーキングで問題が発生した場合に役立つトラブルシューティングの手順について説明します。
gcloud services vpc-peerings get-vpc-service-controls \
--network YOUR_NETWORK
Vertex AI にプライベートで使用されるパブリック IP の範囲を使用している場合、ワークロードが VPC ネットワーク内のエンドポイントにアクセスできない
問題
プライベートで使用されるパブリック IP 範囲は、デフォルトではインポートされません。
ソリューション
プライベートで使用されるパブリック IP 範囲を使用するには、プライベートで使用されるパブリック IP 範囲のインポートを有効にする必要があります。
com.google.api.tenant.error.TenantManagerException: Reserved range: nnn not found for consumer project
問題
ワークロードの実行時またはエンドポイントのデプロイ時に、com.google.api.tenant.error.TenantManagerException:
Reserved range: nnn not found for consumer project
形式のエラーが発生します。
これは、ワークロードのプライベート サービス アクセスの予約を変更した場合に発生します。削除された範囲は、Vertex AI API に登録されていない可能性があります。
ソリューション
プライベート サービス アクセスの割り当てを更新したら、servicenetworking
の gcloud services vpc-peerings update
を実行します。
パイプラインまたはジョブが、ピアリングされた VPC ネットワーク内のエンドポイントにアクセスできない
問題
Vertex AI パイプラインが VPC ネットワーク内のリソースに接続しようとするとタイムアウトします。
ソリューション
問題を解決するには、次の方法をお試しください。
- VPC ネットワーク ピアリングの設定の手順をすべて完了していることを確認します。
ピアリングされた VPC ネットワークの構成を確認します。ジョブの実行中に、ネットワークが正しいサービス ネットワーキング範囲からルートをインポートしていることを確認します。
この範囲からネットワーク内のターゲットへの接続を許可するファイアウォール ルールがあることを確認します。
ジョブの実行中にピアリング接続でルートがインポートされない場合は、サービス ネットワーキング構成が使用されていません。これは、デフォルト ネットワーク以外のネットワークとピアリング構成を完了したことが原因と考えられます。その場合は、ジョブの起動時にネットワークを指定してください。
projects/$PROJECT_ID/global/networks/$NETWORK_NAME
の形式でネットワークの完全修飾名を使用します。詳細については、ルートの概要をご覧ください。
パイプラインまたはジョブが他のネットワークのエンドポイントにアクセスできない
問題
パイプラインまたはジョブが他のネットワークのエンドポイントにアクセスできません。
ソリューション
デフォルトでは、ピアリング構成は VPC のローカル サブネットにのみルートをエクスポートします。
また、推移的ピアリングはサポートされていないため、直接ピアリングされたネットワークのみが通信を行います。
- Vertex AI がネットワーク経由で接続し、他のネットワークのエンドポイントに到達できるようにするには、ネットワーク ルートをピアリング接続にエクスポートする必要があります。ピアリングされた VPC ネットワークの構成を編集し、
Export custom routes
を有効にします。
推移的ピアリングはサポートされていないため、Export Custom Routes
が有効になっていても、Vertex AI は他のピアリングされたネットワークとサービスへのルートを学習しません。回避策については、Vertex AI Pipelines の Network Reachability の拡張をご覧ください。
No route to host
: Google Cloud コンソールにルート競合が明示されていない
問題
Google Cloud コンソールで表示できるルートは、独自の VPC で認識されているルートと、VPC ネットワーク ピアリングの構成完了時に予約した範囲のみです。
まれに、VPC が Vertex AI ネットワークにエクスポートしている IP アドレスへのアクセスが試行されると、Vertex AI ジョブが no route to host
というエラーをスローすることがあります。
これは、IP 範囲がターゲット IP と競合しているマネージド GKE クラスタのネットワーク名前空間内で、Vertex AI ジョブが実行されていることが原因となっている可能性があります。詳細については、GKE ネットワーキングの基礎をご覧ください。
このような状況では、ワークロードは独自のネットワーク名前空間内の IP への接続を試行し、到達できない場合はエラーをスローします。
ソリューション
ローカル名前空間の IP アドレスを返すようにワークロードを作成し、ピアリング接続を介してエクスポートするルートとこのワークロードが競合していないことを確認します。
競合がある場合は、VPC ネットワーク内の範囲と重複しない reservedIpRanges[]
のリストをジョブ パラメータに渡します。このジョブでは、ワークロードの内部 IP アドレスにこれらの範囲を使用します。
RANGES_EXHAUSTED
、RANGES_NOT_RESERVED
問題
RANGES_EXHAUSTED
、RANGES_NOT_RESERVED
、RANGES_DELETED_LATER
形式のエラーは、基盤となる VPC ネットワーク ピアリングの構成に問題があることを示します。これらはネットワーク エラーであり、Vertex AI サービス自体のエラーではありません。
ソリューション
RANGES_EXHAUSTED
エラーが発生した場合は、まずこの申し立てが有効かどうかを検討する必要があります。
- Cloud コンソールでネットワーク アナライザにアクセスし、VPC ネットワークで「IP アドレス割り当ての概要」というフォームの分析情報を探します。これらの値が割り当てが 100% に近いことを示している場合は、予約に新しい範囲を追加できます。
- 特定のサイズの予約で実行できる並列ジョブの最大数も考慮してください。
詳細については、Service Infrastructure の検証エラーをご覧ください。
エラーが解消されない場合は、サポートまでお問い合わせください。
Router status is temporarily unavailable
問題
Vertex AI Pipelines を起動すると、次のようなエラー メッセージが表示されます。
Router status is temporarily unavailable. Please try again later
ソリューション
このエラー メッセージは、一時的な状態であることを示しています。Vertex AI Pipelines をもう一度起動してみてください。
エラーが解消されない場合は、サポートまでお問い合わせください。
ワークロードが VPC の DNS ドメインのホスト名を解決できない
問題
Vertex AI ワークロードが、VPC で構成されたホスト名に接続できません。これらのホスト名が VPC 内のクライアントからアクセス可能であることをすでに確認しています。
これは、ワークロードが Google 管理プロジェクトで実行されるためです。このマネージド環境の VPC は、ネットワーク リソースを消費するために、ユーザーの VPC とピアリングする必要があります。また、これらのワークロードがアクセスする必要がある DNS ゾーンは、Google マネージド VPC と明示的に共有する必要があります。
ソリューション
- VPC ネットワークで Vertex AI の VPC ネットワーク ピアリングを設定していることを確認します。
- Vertex AI プロデューサー ネットワークとプライベート DNS ゾーンを共有する手順を完了します。
- Vertex AI ワークロードが、VPC ネットワークを指定する
--network
フラグで起動されていることを確認します。これにより、Google マネージド ネットワークで実行し、共有した DNS ゾーンにアクセスできます。
クライアントサイドの動作が原因で発生する接続の問題
Google CloudAPI の使用時に接続に関する問題が発生した場合は、クライアントサイドに根本原因がある可能性があります。このセクションでは、エクスペリエンスを向上させる可能性のあるクライアントサイドのソリューションについて説明します。
接続のリセットとドロップされたパケット数
問題
Google Cloud API を使用しようとすると、接続のリセットとパケットのドロップが発生します。
ソリューション
この問題を解決するには、次の点を考慮してください。
- レイテンシ要件が低いトランザクションの大量のトラフィックについては、オンプレミス クライアントのラインカードに関する既知の問題が原因で TCP 接続がリセットされる可能性や、パケットがドロップされる可能性があるかどうかを検討してください。
- リクエストパスのクライアントサイド サービスで iptables が使用されるかどうかを検討します。これには、Kubernetes クラスタや、一部のステートフル ファイアウォールと NAT デバイスが含まれます。デフォルトでは、Linux 接続トラッキング(conntrack)サブシステムは TCP プロトコル仕様に厳密に準拠し、たとえば、順序が異なる TCP パケットをドロップします。この動作をオフにするには、Linux カーネル パラメータ
net.netfilter.nf_conntrack_tcp_be_liberal
または同等のパラメータをオンにします。
接続が完了していない
問題
Google Cloud API を使用しようとすると、接続が完了しません。
ソリューション
この問題を解決するには、次の点を考慮してください。
- 転送パスにクライアントへの複数のルートがある場合は、リバースパス転送のコンセプトを理解していることを確認してください。接続がブロックされていると思われる場合は、この動作をオフにします。
- ロード バランシングされた接続の場合は、インバウンド ファイアウォール ルールで両方のロードバランサへのレスポンス パケットが許可されているかどうかを確認します。
API 以外の接続に関するその他の問題
API 以外の接続の問題を解決するには、次のことを検討してください。
- リクエストパスにプロキシがある場合は、プロキシが問題の原因になっているかどうかを検討します。ドキュメントを確認し、説明できないレイテンシ、接続の切断、DNS のオーバーライド、クロスオリジン ブロックなどの問題が発生した場合は、プロキシのトラブルシューティングを行ってください。
- 特に Google Cloud API からの
429
レスポンスを処理する場合、接続をすぐに再試行するクライアントサイド ロジックは問題を悪化させる可能性があります。再試行を実装する際は、指数バックオフを理解して実装してください。
Vertex AI prediction
このセクションでは、Vertex AI Prediction で問題が発生した場合に役立つトラブルシューティングの手順について説明します。
再試行超過エラー
問題
バッチ予測ジョブの実行時に次のようなエラーが発生します。カスタムモデルを実行しているマシンが制限時間内に予測を完了できない可能性があります。
('Post request fails. Cannot get predictions. Error: Exceeded retries: Non-OK
result 504 (upstream request timeout) from server, retry=3, elapsed=600.04s.', 16)
これは、クライアントから Vertex AI Prediction API への接続のプロキシとなる Google Front End サービスに Vertex AI 予測サービスが登録された場合に、発生することがあります。
Google Front End サービスは、10 分以内に API からレスポンスを受信しなかった場合、接続をタイムアウトして、500 HTTP レスポンス コードをクライアントに返します。
ソリューション
この問題を解決するには、次のいずれかを試してください。
- コンピューティング ノードを増やすか、マシンタイプを変更します。
- 定期的な 102 HTTP レスポンス コードを送信するように予測コンテナを作成します。これにより、Google Front End サービスの 10 分タイマーがリセットされます。
プロジェクトがすでに VPC にリンクされている
問題
エンドポイントをデプロイすると、次のようなエラー メッセージが表示されることがあります。これは、Vertex AI エンドポイントが以前に Virtual Private Cloud ネットワークを使用し、リソースが適切にクリーニングされていないことを示しています。
Currently only one VPC network per user project is supported. Your project is
already linked to "projects/YOUR_SHARED_VPC_HOST_PROJECT/global/networks/YOUR_SHARED_VPC_NETWORK".
To change the VPC network, please undeploy all Vertex AI deployment resources,
delete all endpoint resources, and then retry creating resources in 30 mins.
ソリューション
この問題を解決するには、Cloud Shell で次のコマンドを実行してみてください。
gcloud services vpc-peerings delete \
--service=servicenetworking.googleapis.com \
--network=YOUR_SHARED_VPC_NETWORK \
--project=YOUR_SHARED_VPC_HOST_PROJECT
これにより、古い VPC ネットワークがサービス ネットワーキング VPC から手動で切断されます。
予期しないデプロイの失敗またはエンドポイントの削除
問題
モデルのデプロイが予期せず失敗した、エンドポイントが削除された、以前にデプロイされたモデルがデプロイ解除された。
請求先アカウントが無効になっている可能性があります。無効な状態が長期間続く場合は、アカウントに関連付けられたプロジェクトから一部のリソースが削除されることがあります。たとえば、エンドポイントとモデルが削除される可能性があります。削除されたリソースを元に戻すことはできません。
ソリューション
この問題を解決するには、次のことを試してください。
- プロジェクトの課金ステータスを確認する。
- 課金に関するサポートをリクエストするには、Cloud Billing サポートにお問い合わせください。
詳細については、お支払いについてをご覧ください。
Vertex AI カスタム サービス アカウントに関する問題
このセクションでは、サービス アカウントで問題が発生した場合に役立つトラブルシューティングの手順について説明します。
サービス アカウントの serviceAccountAdmin
エラーにより、モデルのデプロイに失敗する
問題
モデルのデプロイが失敗し、次のようなエラーが返されます。
Failed to deploy model MODEL_NAME to
endpoint ENDPOINT_NAME due to the error: Failed to add IAM policy binding.
Please grant SERVICE_ACC_NAME@gcp-sa-aiplatform.iam.gserviceaccount.com the
iam.serviceAccountAdmin role on service account
vertex-prediction-role@PROJECT_INFO.iam.gserviceaccount.com
ソリューション
このエラーは、カスタム サービス アカウントが正しく構成されていない可能性があることを意味します。正しい IAM 権限を持つカスタム サービス アカウントを作成するには、カスタム サービス アカウントを使用するをご覧ください。
カスタム サービス アカウントの使用時に ID トークンを取得できない
問題
カスタム サービス アカウントの使用時に、単一のレプリカで実行されるトレーニング ジョブがトークンの取得に必要な Compute Engine メタデータ サービスにアクセスできません。
次のようなエラーが表示されます。
Failed to refresh jwt, retry number 0: ("Failed to retrieve http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=...&format=full
from the Google Compute Engine Metadata service. Status: 404 Response:
\nb'Not Found\n'", <google.auth.transport.requests._Response object at
0x7fb19f058c50>)
ソリューション
カスタム サービス アカウントで ID トークンを取得するには、iamcredentials.googleapis.com を使用する必要があります。
カスタム トレーニング済みモデル
このセクションでは、カスタム トレーニング モデルで問題が発生した場合に役立つトラブルシューティングの手順について説明します。
カスタム トレーニングに関する問題
カスタム トレーニングで次の問題が発生することがあります。この問題は、CustomJob
リソースと HyperparameterTuningJob
リソース(TrainingPipeline
リソースによって作成されたものを含む)で発生します。
エラーコード: 400
問題
次のエラーが発生します。
400 Machine type MACHINE_TYPE is not supported.
このエラー メッセージは、選択したマシンタイプが Vertex AI Training ではサポートされていない場合や、選択したリージョンで特定のリソースを使用できない場合に表示されることがあります。
ソリューション
適切なリージョンで使用可能なマシンタイプのみを使用します。
レプリカがゼロ以外のステータス コードで終了した
問題
分散トレーニング中にワーカーのエラーが発生すると、トレーニングが失敗します。
ソリューション
ワーカーのスタック トレースを確認するには、Google Cloud コンソールでカスタム トレーニング ログを表示します。
他のトラブルシューティング トピックを参照して一般的なエラーを修正し、新しい CustomJob
、HyperparameterTuningJob
、または TrainingPipeline
リソースを作成します。多くの場合、このエラーコードは Vertex AI サービスではなく、トレーニング コードの問題が原因で発生します。これに該当するかどうか確認するには、ローカルマシンまたは Compute Engine でトレーニング コードを実行します。
レプリカがメモリ不足になった
問題
トレーニング中にトレーニング仮想マシン(VM)インスタンスのメモリが不足すると、エラーが発生することがあります。
ソリューション
Google Cloud コンソールで、トレーニング VM のメモリ使用量を確認できます。
このエラーが発生しても、VM 上でメモリ使用率が 100% になっていない場合があります。これは、VM で実行されるトレーニング アプリケーション以外のサービスもリソースを消費するためです。メモリが少ないマシンタイプでは、他のサービスのメモリ消費量が多くなる場合があります。たとえば、n1-standard-4
VM では、サービスが最大でメモリの 40% を消費します。
トレーニング アプリケーションのメモリ消費を最適化するか、より多くのメモリを搭載したマシンタイプを選択します。
リージョン内のリソースが不足している
問題
リージョンでストックアウトの問題が発生します。
ソリューション
Vertex AI は、Compute Engine リソースを使用してモデルをトレーニングします。Compute Engine がリージョン内の特定の CPU または GPU の容量に達すると、Vertex AI はワークロードをスケジュールできません。この問題はプロジェクトの割り当てとは関係ありません。
Compute Engine の容量に達すると、Vertex AI によって自動的に CustomJob
または HyperparameterTuningJob
が 3 回再試行されます。再試行がすべて失敗した場合、ジョブが失敗します。
通常は、GPU の使用時にストックアウトが発生します。GPU の使用中にこのエラーが発生した場合は、別の GPU タイプに切り替えてみてください。別のリージョンを使用できる場合は、別のリージョンでトレーニングを試してください。
別の Google Cloud サービスにアクセスするときに権限エラーが発生する
トレーニング コード(たとえば、google.api_core.exceptions.PermissionDenied: 403
)から別の Google Cloudサービスにアクセスする際に権限エラーが発生した場合は、次のいずれかの問題が発生している可能性があります。
-
問題
コードを実行しているサービス エージェントまたはサービス アカウント(プロジェクトの Vertex AI カスタムコード サービス エージェントまたはカスタム サービス アカウント)に、必要な権限が付与されていません。
ソリューション
Vertex AI カスタムコード サービス エージェントの権限を付与する方法、または必要な権限を持つカスタム サービス アカウントを構成する方法を確認してください。
-
問題
コードを実行しているサービス エージェントまたはサービス アカウントに必要な権限はありますが、コードが間違ったプロジェクト内のリソースにアクセスしようとしています。エラー メッセージに
-tp
で終わるプロジェクト ID が含まれている場合は、これが原因で問題が発生している可能性があります。ソリューション
コードでプロジェクト ID またはプロジェクト番号を明示的に指定していない場合、Vertex AI がトレーニング コードを実行する方法が原因で、この問題が意図せずに発生することがあります。
この問題の解決方法については、プロジェクト ID またはプロジェクト番号を指定するをご覧ください。
-
問題
Vertex AI Training ジョブはローカルデータでは正常に実行されるが、Cloud Storage のデータでは正常に実行されない。
ソリューション
プロジェクトの Vertex AI カスタム コード サービス エージェント ロールに
storage.buckets.create
権限を追加します。Vertex AI のサービス エージェントに特定のロールを追加することで、この問題を解決する方法を学習します。
Cloud Storage FUSE の使用時のパフォーマンスの問題
問題
Cloud Storage FUSE ジョブの実行が遅い。
ソリューション
Cloud Storage をマウント ファイル システムとして使用するの「パフォーマンス最適化のガイドライン」をご覧ください。
VPC Service Controls で KFP を使用すると pip install
が失敗する
問題
次のエラーが表示されます。
ModuleNotFoundError: No module named MODULE_NAME. WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f70250bac10>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/nltk/
ソリューション
VPC Service Controls のサービス境界は、Vertex AI からインターネット上のサードパーティの API やサービスへのアクセスをブロックします。パッケージをインストールするには、packageUris を使用して、Cloud Storage バケットから依存関係をインストールします。この手法の使用に関する一般的な説明については、Vertex AI で VPC Service Controls を使用するの「カスタム コンテナを使用する」をご覧ください。
内部エラー
問題
システムエラーのため、トレーニングに失敗しました。
ソリューション
一時的な問題である可能性があります。CustomJob
、HyperparameterTuningJob
、TrainingPipeline
を再送信してみてください。エラーが解消されない場合は、サポートまでお問い合わせください。
カスタム コンテナ イメージの使用時のエラーコード 500
問題
ログに 500 エラーが記録されています。
ソリューション
このタイプのエラーは、Vertex AI のエラーではなく、カスタム コンテナ イメージに問題がある可能性があります。
エンドポイントへのデプロイ時にサービス アカウントが Cloud Storage バケットにアクセスできない
問題
エンドポイントにモデルをデプロイしようとしたときに、関連する Cloud Storage バケットへの storage.objects.list
アクセス権がサービス アカウントに付与されていない場合、次のエラーが表示されることがあります。
custom-online-prediction@TENANT_PROJECT_ID.iam.gserviceaccount.com
does not have storage.objects.list access to the Cloud Storage bucket.
デフォルトでは、モデルをデプロイするカスタム コンテナは、Cloud Storage バケットへのアクセス権がないサービス アカウントを使用します。
ソリューション
この問題を解決するには、次のいずれかを試してください。
モデルをアップロードするときに、アクセスしようとしているファイルをコンテナからモデル アーティファクトにコピーします。Vertex AI は、他のすべてのモデル アーティファクトと同様に、デフォルトのサービス アカウントがアクセスできるロケーションにコピーします。
コンテナのビルドプロセスでファイルをコンテナにコピーします。
カスタム サービス アカウントを指定します。
Neural Architecture Search
既知の問題
- NAS ジョブをキャンセルすると、メインジョブ(親)は停止しますが、一部の子トライアルは引き続き「実行中」の状態になります。この場合、「実行中」と表示されている子トライアルの状態は無視してください。トライアルは停止していますが、UI には引き続き「実行中」が表示されます。メインジョブが停止している限り、追加料金は発生しません。
- トレーナーに報酬を報告した後、トライアル ジョブが終了するまで 10 分間待機(スリープ)します。
Cloud Shell を使用して
TensorBoard
を実行した場合、生成された出力リンクが機能しないことがあります。この場合は、ポート番号を書き留めて、ウェブでプレビュー ツールを使用し、正しいポート番号を選択してプロットを表示します。Web Preview
ツールへのアクセス:トレーナーログに次のようなエラー メッセージが表示される場合:
gcsfuse errors: fuse: writeMessage: no such file or directory [16 0 0 0 218 255 255 255 242 25 111 1 0 0 0 0]
OOM 状態がこのエラーの原因となっているため、RAM の多いマシンを使用します。
カスタム トレーナーがジョブ ディレクトリ
job-dir
FLAG を見つけることができない場合は、ハイフンではなくアンダースコアを使用してjob_dir
をインポートします。これは、チュートリアル 1 の注記で説明しています。トレーニング中の NaN エラー:
NaN : Tensor had NaN values
などのトレーニング ジョブで NaN エラーが発生する場合があります。提案されたアーキテクチャに対して学習率が大きすぎる可能性があります。詳細については、メモリ不足(OOM)と学習率に関連するエラーをご覧ください。トレーニング中の OOM エラー: トレーニング ジョブに OOM(メモリ不足)エラーが発生することがあります。バッチサイズがアクセラレータのメモリに対して大きすぎる可能性があります。詳細については、メモリ不足(OOM)と学習率に関連するエラーをご覧ください。
プロキシタスク モデル選択のコントローラ ジョブが停止する: まれに、プロキシタスク モデル選択のコントローラ ジョブが停止することがあります。その場合は、こちらの手順でジョブを再開できます。
プロキシタスク検索コントローラのジョブが停止する: まれに、プロキシタスク検索コントローラ ジョブが停止した場合は、この手順でジョブを再開できます。
サービス アカウントに、Artifact Registry またはバケットにアクセスする権限がありません。バケット アクセスに関して
Vertex AI Service Agent service-123456789@gcp-sa-aiplatform-cc.iam.gserviceaccount.com does not have permission to access Artifact Registry repository projects/my-project/locations/my-region/repositories/nas
などのエラーが発生した場合や、同様のエラーが発生した場合は、このサービス アカウントにプロジェクトのストレージ編集者ロールを付与します。
Vertex AI Feature Store
このセクションでは、Vertex AI Feature Store で問題が発生した場合に役立つトラブルシューティングの手順について説明します。
ストリーミング取り込みまたはオンライン サービング リクエストの送信時に Resource not found
エラーが発生する
問題
featurestore、エンティティ タイプ、特徴リソースを設定した後、これらのリソースが FeaturestoreOnlineServingService
サービスに伝播されるまでに時間がかかります。リソースの作成直後にストリーミング取り込みまたはオンライン サービング リクエストを送信すると、この伝播の遅延により、resource not found
エラーが発生することがあります。
ソリューション
このエラーが発生した場合は、数分待ってからリクエストを再試行してください。
新しく作成された特徴のバッチ取り込みは成功したが、オンライン サービング リクエストで空の値が返される
問題
新しく作成された特徴が FeaturestoreOnlineServingService
サービスに伝播されるまでに時間がかかります。特徴と値は存在しますが、伝播に時間がかかります。これにより、オンライン サービング リクエストで空の値が返される場合があります。
ソリューション
この不整合が発生した場合は、数分待ってからオンライン サービング リクエストを再度試してください。
オンライン サービング ノードの CPU 使用率が高い
問題
オンライン サービング ノードの CPU 使用率が高くなっています。
ソリューション
この問題を軽減するには、オンライン サービング ノードの数を手動で増やすか、自動スケーリングを有効にしてノードの数を増やします。自動スケーリングが有効になっていても、ノードが追加または削除されたときに Vertex AI Feature Store でデータのバランス調整を行うために時間がかかります。特徴値の分布指標を時系列で表示する方法については、特徴値の指標を表示するをご覧ください。
最もホットなオンライン サービング ノードの CPU 使用率が高い
問題
最もホットなノードの CPU 使用率が高い場合は、サービング ノード数を増やすか、エンティティ アクセス パターンを疑似ランダムに変更します。
ソリューション
エンティティ アクセス パターンを擬似ランダムに設定すると、featurestore 内で互いに近い位置にあるエンティティに頻繁にアクセスすることで発生する高 CPU 使用率を軽減できます。どちらの解決策も有効でない場合は、同じエンティティに繰り返しアクセスすることを避けるために、クライアントサイドのキャッシュを実装します。
QPS が低いときに、オンライン サービングのレイテンシが高い
問題
QPS が低い場合にアクティビティがないか、アクティビティが少ないと、一部のサーバーサイド キャッシュが期限切れになる可能性があります。これにより、オンライン サービング ノードへのトラフィックが通常の QPS または高 QPS で再開されたときに、レイテンシが高くなる可能性があります。
ソリューション
この問題を軽減するには、少なくとも 5 QPS の人為的なトラフィックを featurestore に送信して、接続を常にアクティブにしておく必要があります。
6 時間後にバッチ取り込みジョブが失敗する
問題
読み取りセッションは 6 時間後に期限切れになるため、バッチ取り込みジョブが失敗する可能性があります。
ソリューション
タイムアウトを回避するには、ワーカーの数を増やし、6 時間の制限内で取り込みジョブが完了するようにします。
特徴値のエクスポート中に Resource exceeded
エラーが発生する
問題
エクスポート ジョブが内部割り当てを超えると、大量のデータのエクスポートがリソース超過エラーで失敗する可能性があります。
ソリューション
このエラーを避けるには、一度に少量のデータを処理するように期間パラメータ start_time
と end_time
を構成します。完全なエクスポートの詳細については、完全なエクスポートをご覧ください。
Vertex AI Vizier
Vertex AI Vizier を使用すると、次の問題が発生することがあります。
内部エラー
問題
内部エラーは、システムエラーが発生した場合に発生します。
ソリューション
一時的なものである可能性があります。リクエストを再送信してみてください。エラーが解決しない場合は、サポートにお問い合わせください。
Vertex AI でサービス アカウントのロールを使用する際の権限エラー
問題
Vertex AI でサービス アカウント ロールを使用すると、一般的な権限エラーが発生します。
これらのエラーは、Cloud Logging のプロダクト コンポーネント ログまたは監査ログに表示されることがあります。影響を受けるプロジェクトの任意の組み合わせで表示されることもあります。
これらの問題は、次のいずれかまたは両方が原因で発生する可能性があります。
Service Account User
ロールを使用すべきときにService Account Token Creator
ロールを使用した場合、またはその逆の場合。これらのロールはサービス アカウントに異なる権限を付与するため、相互に置き換えることはできません。Service Account Token Creator
ロールとService Account User
ロールの違いについては、サービス アカウントのロールをご覧ください。複数のプロジェクトにまたがってサービス アカウントに権限が付与されています。これはデフォルトでは許可されていません。
ソリューション
この問題を解決するには、次の対処方法をいくつか試してください。
Service Account Token Creator
ロールまたはService Account User
ロールが必要かどうかを判断します。詳細については、使用している Vertex AI サービスの IAM ドキュメントと、使用している他のプロダクト インテグレーションをご覧ください。複数のプロジェクトにサービス アカウントの権限を付与している場合は、
iam.disableCrossProjectServiceAccountUsage
が強制適用されていないことを確認して、プロジェクトにまたがってサービス アカウントを関連付けられるようにします。iam.disableCrossProjectServiceAccountUsage
が強制適用されていないことを確認するには、次のコマンドを実行します。gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project=PROJECT_ID