Fehlerbehebung bei Vertex AI

Auf dieser Seite werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit Vertex AI hilfreich sein können.

Die Schritte zur Fehlerbehebung für verschiedene Vertex AI-Komponenten sind separat aufgeführt. Weitere Informationen finden Sie hier:

Klicken Sie auf ein Thema, um die Inhalte dieser Seite zu filtern:

AutoML-Modelle

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit AutoML hilfreich sein können.

Fehlende Labels im Test-, Validierungs- oder Trainings-Dataset

Problem

Wenn Sie beim Trainieren eines AutoML-Klassifizierungsmodells die Standard-Datenaufteilung verwenden, kann es sein, dass Vertex AI einem bestimmten Satz (Test, Validierung oder Training) zu wenige Instanzen einer Klasse zuweist. Dies führt zu einem Fehler während des Trainings. Dieses Problem tritt häufiger auf, wenn Sie unausgeglichene Klassen oder eine kleine Menge von Trainingsdaten haben.

Lösung

Um dieses Problem zu beheben, fügen Sie weitere Trainingsdaten hinzu, teilen Sie Ihre Daten manuell auf, um jedem Satz genügend Klassen zuzuweisen, oder entfernen Sie die seltener auftretenden Labels aus Ihrem Dataset. Weitere Informationen finden Sie unter Datenaufteilungen für AutoML-Modelle.

Vertex AI Studio

Bei der Arbeit mit Vertex AI Studio können folgende Fehler auftreten:

Bei dem Versuch, ein Modell zu optimieren, wird Internal error encountered zurückgegeben.

Problem

Beim Optimieren eines Modells tritt der Fehler Internal error encountered auf.

Lösung

Führen Sie folgenden curl-Befehl aus, um ein leeres Vertex AI-Dataset zu erstellen. Achten Sie darauf, dass Sie Ihre Projekt-ID im Befehl konfigurieren.

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"}]
}'

Warten Sie nach Abschluss des Befehls fünf Minuten und wiederholen Sie dann die Modellabstimmung.

Fehlercode: 429

Problem

Der folgende Fehler tritt auf:

429: The online prediction request quota is exceeded for
PUBLIC_BASE_MODEL_NAME.

Lösung

Versuchen Sie es später noch einmal nach dem Backoff. Wenn weiterhin Fehler auftreten, wenden Sie sich an den Support von Vertex AI.

Fehlercode: 410

Problem

Der folgende Fehler tritt auf:

410: The request is missing the required authentication credential. Expected
OAuth 2.0 access token, login cookie, or other valid authentication credential.

Lösung

Weitere Informationen finden Sie unter Übersicht: Authentifizierung.

Fehlercode: 403

Problem

Der folgende Fehler tritt auf:

403: Permission denied.

Lösung

Prüfen Sie, ob das Konto, das auf die API zugreift, über die erforderlichen Berechtigungen verfügt.

Vertex AI Pipelines

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit Vertex AI Pipelines hilfreich sein können.

Sie sind nicht berechtigt, als Dienstkonto zu fungieren

Problem

Wenn Sie Ihren Vertex AI Pipelines-Workflow ausführen, kann folgende Fehlermeldung angezeigt werden:

You do not have permission to act as service account: SERVICE_ACCOUNT. (or it may not exist).

Lösung

Dieser Fehler bedeutet, dass das Dienstkonto, mit dem Ihr Workflow ausgeführt wird, keinen Zugriff auf die erforderlichen Ressourcen hat.

Führen Sie einen der folgenden Schritte aus, um dieses Problem zu beheben:

  • Fügen Sie dem Dienstkonto die Rolle Vertex AI Service Agent hinzu.
  • Gewähren Sie dem Nutzer die iam.serviceAccounts.actAs-Berechtigung für das Dienstkonto.

Fehler Internal error happened

Problem

Wenn Ihre Pipeline mit einer Internal error happened-Meldung fehlschlägt, suchen Sie im Log-Explorer nach dem Namen der Pipeline. Möglicherweise wird ein Fehler wie der folgende angezeigt:

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

Dies bedeutet, dass das VPC-Peering für Vertex AI einen IP-Bereich enthält, der gelöscht wurde.

Lösung

Aktualisieren Sie das VPC-Peering mit dem Befehl „update“ und geben Sie gültige IP-Bereiche an, um dieses Problem zu beheben.

Ungültiger OAuth-Bereich oder ID-Token-Zielgruppe angegeben

Problem

Wenn Sie Ihren Vertex AI Pipelines-Workflow ausführen, erhalten Sie die folgende Fehlermeldung:

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.'})

Lösung

Dies bedeutet, dass Sie in einer der Komponenten der Pipeline keine Anmeldedaten angegeben oder ai_platform.init() nicht zum Festlegen von Anmeldedaten verwendet haben.

Um dieses Problem zu beheben, legen Sie die Anmeldedaten für die entsprechende Pipelinekomponente oder die Umgebungsanmeldedaten fest und verwenden Sie ai_platform.init() am Anfang Ihres Codes.

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = PATH_TO_JSON_KEY

Vertex AI Pipelines-Komponenten benötigen mehr Speicherplatz als 100 GB

Problem

Der Standardspeicherplatz, der Vertex AI Pipelines-Komponenten zugewiesen ist, beträgt 100 GB. Das Vergrößern des Speicherplatzes wird nicht unterstützt. Informationen zu diesem Problem finden Sie im öffentlichen Issue Tracker.

Lösung

Damit eine Komponente mehr als 100 GB Speicherplatz verwendet, konvertieren Sie die Komponente mithilfe der Komponentenmethode in einen benutzerdefinierten Job. Mit diesem Operator können Sie den Maschinentyp und die Laufwerksgröße zuweisen, die von der Komponente verwendet werden.

Ein Beispiel für die Verwendung dieses Operators finden Sie unter Vertex AI Pipelines: Benutzerdefiniertes Training mit vordefinierten Google Cloud Pipeline-Komponenten im Abschnitt Komponente in einen benutzerdefinierten Vertex AI-Job umwandeln.

Vertex AI-Netzwerkprobleme

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit Netzwerken für Vertex AI hilfreich sein können.

gcloud services vpc-peerings get-vpc-service-controls \
  --network YOUR_NETWORK

Arbeitslasten können nicht auf Endpunkte in Ihrem VPC-Netzwerk zugreifen, wenn privat verwendete öffentliche IP-Bereiche für Vertex AI verwendet werden

Problem

Privat verwendete öffentliche IP-Bereiche werden standardmäßig nicht importiert.

Lösung

Wenn Sie privat verwendete öffentliche IP-Bereiche verwenden möchten, müssen Sie den Import von privat verwendeten öffentlichen IP-Bereichen aktivieren.

com.google.api.tenant.error.TenantManagerException: Reserved range: nnn not found for consumer project

Problem

Beim Ausführen von Arbeitslasten oder Bereitstellen von Endpunkten erhalten Sie Fehler der Form com.google.api.tenant.error.TenantManagerException: Reserved range: nnn not found for consumer project.

Dies geschieht, wenn Sie die Reservierungen für den Zugriff auf private Dienste für Ihre Arbeitslasten ändern. Möglicherweise wurden gelöschte Bereiche nicht bei der Vertex AI API registriert.

Lösung

Führen Sie gcloud services vpc-peerings update für servicenetworking aus, nachdem Sie die Zuweisungen für den Zugriff auf private Dienste aktualisiert haben.

Pipeline oder Job kann nicht auf Endpunkte in Ihrem Peering-VPC-Netzwerk zugreifen

Problem

Bei Ihrer Vertex AI-Pipeline tritt eine Zeitüberschreitung auf, wenn sie versucht, eine Verbindung zu Ressourcen in Ihrem VPC-Netzwerk herzustellen.

Lösung

Versuche, das Problem mit den folgenden Schritten zu beheben:

  • Prüfen Sie, ob Sie alle Schritte unter VPC-Netzwerk-Peering einrichten ausgeführt haben.
  • Prüfen Sie die Konfiguration Ihres Peering-VPC-Netzwerks. Achten Sie darauf, dass Ihr Netzwerk Routen aus dem richtigen Dienstnetzwerkbereich importiert, während Ihr Job ausgeführt wird.

    Zum VPC-Netzwerk-Peering

  • Achten Sie darauf, dass Sie eine Firewallregel haben, die Verbindungen von diesem Bereich zum Ziel in Ihrem Netzwerk zulässt.

  • Wenn über die Peering-Verbindung keine Routen importiert werden, während der Job ausgeführt wird, wird die Netzwerkkonfiguration des Dienstes nicht verwendet. Dies liegt wahrscheinlich daran, dass Sie die Peering-Konfiguration mit einem anderen Netzwerk als dem Standardnetzwerk abgeschlossen haben. Achten Sie in diesem Fall darauf, dass Sie Ihr Netzwerk beim Starten eines Jobs angeben. Verwenden Sie den vollständig qualifizierten Netzwerknamen im folgenden Format: projects/$PROJECT_ID/global/networks/$NETWORK_NAME.

    Weitere Informationen finden Sie in der Routenübersicht.

Pipeline oder Job kann nicht auf Endpunkte in anderen Netzwerken außerhalb Ihres Netzwerks zugreifen

Problem

Ihre Pipeline oder Ihr Job kann nicht auf Endpunkte in Netzwerken außerhalb Ihres Netzwerks zugreifen.

Lösung

Standardmäßig exportiert Ihre Peering-Konfiguration nur Routen zu den lokalen Subnetzen in Ihrer VPC.

Darüber hinaus wird transitives Peering nicht unterstützt und nur direkt verbundene Peering-Netzwerke können miteinander kommunizieren.

  • Damit Vertex AI eine Verbindung über Ihr Netzwerk herstellen und Endpunkte in anderen Netzwerken erreichen kann, müssen Sie die Netzwerkrouten an die Peering-Verbindung exportieren. Bearbeiten Sie die Konfiguration Ihres Peering-VPC-Netzwerks und aktivieren Sie Export custom routes.

Zum VPC-Netzwerk-Peering

Da transitives Peering nicht unterstützt wird, lernt die Vertex AI keine Routen zu anderen Peering-Netzwerken und -Diensten, selbst wenn Export Custom Routes aktiviert ist. Informationen zu Problemumgehungen finden Sie unter Netzwerkerreichbarkeit von Vertex AI Pipelines erweitern.

No route to host ohne in der Google Cloud Console angezeigte Routenkonflikte

Problem

In der Google Cloud Console werden nur die Routen angezeigt, die Ihrer eigenen VPC bekannt sind sowie die Bereiche, die reserviert werden, wenn Sie die VPC-Netzwerk-Peerings Konfiguration beenden.

In seltenen Fällen kann ein Vertex AI-Job eine no route to host-Beschwerde auslösen, wenn versucht wird, eine IP-Adresse zu erreichen, die Ihre VPC in das Vertex AI-Netzwerk exportiert.

Dies kann daran liegen, dass Vertex AI-Jobs in einem Netzwerk-Namespace in einem verwalteten GKE-Cluster ausgeführt werden, dessen IP-Bereich mit der Ziel-IP in Konflikt steht. Weitere Informationen finden Sie unter GKE-Netzwerkgrundlagen.

Unter diesen Bedingungen versucht die Arbeitslast, eine Verbindung zur IP-Adresse innerhalb ihres eigenen Netzwerk-Namespace herzustellen, und gibt einen Fehler aus, wenn sie diese nicht erreichen kann.

Lösung

Gestalten Sie Ihre Arbeitslast so, dass sie ihre lokalen Namespace-IP-Adressen zurückgeben, und prüfen Sie, ob dies mit Routen in Konflikt steht, die Sie über die Peering-Verbindung exportieren. Übergeben Sie im Fall eines Konflikts eine Liste der reservedIpRanges[] in den Jobparametern, die sich nicht mit Bereichen im VPC-Netzwerk überschneiden. Der Job verwendet diese Bereiche für die internen IP-Adressen des Arbeitslast.

RANGES_EXHAUSTED, RANGES_NOT_RESERVED

Problem

Fehler der Form RANGES_EXHAUSTED, RANGES_NOT_RESERVED und RANGES_DELETED_LATER weisen auf ein Problem mit der zugrunde liegenden VPC-Netzwerk-Peering-Konfiguration hin. Dies sind Netzwerkfehler, keine Fehler vom Vertex AI-Dienst selbst.

Lösung

Wenn ein RANGES_EXHAUSTED-Fehler auftritt, sollten Sie zuerst prüfen, ob die Beschwerde gültig ist.

  • Rufen Sie in der Cloud Console Network Analyzer auf und suchen Sie im VPC-Netzwerk nach Statistiken vom Typ „Zusammenfassung der IP-Adressenzuweisung“. Wenn diese Werte darauf hindeuten, dass die Zuweisung bei oder nahe 100 % liegt, können Sie der Reservierung einen neuen Bereich hinzufügen.
  • Berücksichtigen Sie auch die maximale Anzahl paralleler Jobs, die mit einer Reservierung einer bestimmten Größe ausgeführt werden können.

Weitere Informationen finden Sie unter Validierungsfehler in der Dienst Infrastructure.

Wenn der Fehler weiterhin auftritt, wenden Sie sich bitte an den Support.

Router status is temporarily unavailable

Problem

Wenn Sie Vertex AI Pipelines starten, erhalten Sie eine Fehlermeldung ähnlich der folgenden:

Router status is temporarily unavailable. Please try again later

Lösung

Die Fehlermeldung weist darauf hin, dass es sich um einen vorübergehenden Zustand handelt. Versuchen Sie, Vertex AI Pipelines noch einmal zu starten.

Wenn der Fehler weiterhin auftritt, wenden Sie sich bitte an den Support.

Arbeitslasten können die Hostnamen für DNS-Domains in Ihrer VPC nicht auflösen

Problem

Vertex AI-Arbeitslasten können keine Verbindung zu Hostnamen herstellen, die in Ihrer VPC konfiguriert sind. Sie haben bereits bestätigt, dass diese Hostnamen von Clients in Ihrer VPC aus erreichbar sind.

Das liegt daran, dass die Arbeitslasten in einem von Google verwalteten Projekt ausgeführt werden. Die VPC in dieser verwalteten Umgebung muss mit Ihrer VPC per Peering verbunden sein, damit Ihre Netzwerkressourcen genutzt werden können. Außerdem müssen alle DNS-Zonen, auf die diese Arbeitslasten zugreifen müssen, explizit für die von Google verwaltete VPC freigegeben werden.

Lösung

  • Prüfen Sie, ob Sie VPC-Netzwerk-Peering für Vertex AI in Ihrem VPC-Netzwerk eingerichtet haben.
  • Führen Sie die Schritte zum Freigeben Ihrer privaten DNS-Zonen für das Vertex AI-Erstellernetzwerk aus.
  • Achten Sie darauf, dass Ihre Vertex AI-Arbeitslasten mit dem Flag --network gestartet werden, das Ihr VPC-Netzwerk angibt. So können sie im von Google verwalteten Netzwerk ausgeführt werden und auf die von Ihnen freigegebenen DNS-Zonen zugreifen.

Verbindungsprobleme aufgrund von clientseitigem Verhalten

Wenn Sie Verbindungsprobleme haben, wenn Sie versuchen, Google Cloud-APIs zu verwenden, kann die Ursache auf der Clientseite liegen. In diesem Abschnitt werden clientseitige Lösungen vorgeschlagen, mit denen Sie die Nutzerfreundlichkeit verbessern können.

Verbindungsrücksetzungen und gelöschte Pakete

Problem

Wenn Sie versuchen, Google Cloud APIs zu verwenden, kommt es zu Verbindungsabbrüchen und Paketverlusten.

Lösung

Beachten Sie Folgendes, um dieses Problem zu beheben:

  • Bei Transaktionen mit hohem Traffic und geringen Latenzanforderungen sollten Sie prüfen, ob bekannte Probleme mit den Linecards der lokalen Clients zurückgesetzte TCP-Verbindungen oder verworfene Pakete verursachen könnten.
  • Prüfen Sie, ob clientseitige Dienste im Anfragepfad iptables verwenden. Dazu können Kubernetes-Cluster oder einige Stateful Firewalls und NAT-Geräte gehören. Standardmäßig folgt das Linux-Subsystem für Verbindungs-Tracking (conntrack) strikt den TCP-Protokollspezifikationen und verwirft beispielsweise TCP-Pakete, die nicht in der richtigen Reihenfolge eingehen. Wenn Sie dieses Verhalten deaktivieren möchten, aktivieren Sie den Linux-Kernel-Parameter net.netfilter.nf_conntrack_tcp_be_liberal oder das Äquivalent.

Unvollständige Verbindungen

Problem

Wenn Sie versuchen, Google Cloud -APIs zu verwenden, werden Verbindungen nicht vollständig hergestellt.

Lösung

Beachten Sie Folgendes, um dieses Problem zu beheben:

  • Wenn der Weiterleitungspfad mehrere Routen zurück zum Client hat, sollten Sie das Konzept der Reverse Path Forwarding (RPF) verstehen. Deaktivieren Sie dieses Verhalten, wenn Sie vermuten, dass es Verbindungen blockiert.
  • Prüfen Sie bei Verbindungen mit Lastenausgleich, ob Ihre Firewallregeln für eingehenden Traffic Antwortpakete an beide Load-Balancer zulassen.

Andere Verbindungsprobleme, die nicht mit der API zusammenhängen

Beachten Sie bei der Behebung von Verbindungsproblemen, die nicht mit der API zusammenhängen, Folgendes:

  • Wenn Proxys im Anfragepfad vorhanden sind, prüfen Sie, ob sie die Ursache für die Probleme sein könnten. Sehen Sie sich die Dokumentation an und beheben Sie Probleme mit dem Proxy, wenn es zu unerklärlicher Latenz, Verbindungsabbrüchen, DNS-Überschreibungen, Cross-Origin-Blockierungen und ähnlichen Problemen kommt.
  • Insbesondere beim Verarbeiten von 429-Antworten von Google Cloud APIs kann clientseitige Logik, die die Verbindung sofort wiederholt, das Problem verschlimmern. Achten Sie darauf, dass Sie den exponentiellen Backoff verstehen und implementieren, wenn Sie Wiederholungsversuche implementieren.

Vertex AI Prediction

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit Vertex AI-Vorhersagen hilfreich sein können.

Fehler bei überschrittener Wiederholung

Problem

Wenn Sie Batchvorhersagejobs ausführen, erhalten Sie einen Fehler wie den folgenden. Die Maschine, auf der das benutzerdefinierte Modell ausgeführt wird, kann die Vorhersagen möglicherweise nicht innerhalb des Zeitlimits abschließen.

('Post request fails. Cannot get predictions. Error: Exceeded retries: Non-OK
result 504 (upstream request timeout) from server, retry=3, elapsed=600.04s.', 16)

Dies kann passieren, wenn sich der Vertex AI-Vorhersagedienst beim Google Front End-Dienst registriert, der Verbindungen vom Client zur Vertex AI Prediction API weiterleitet.

Der Google Front End-Dienst beendet die Verbindung nach Zeitüberschreitung und gibt den HTTP-Antwortcode 500 an den Client zurück, wenn er innerhalb von 10 Minuten keine Antwort von der API erhält.

Lösung

Sie haben zwei Möglichkeiten, dieses Problem zu beheben:

  • Erhöhen Sie die Anzahl der Rechenknoten oder ändern Sie den Maschinentyp.
  • Gestalten Sie Ihren Vorhersagecontainer so, dass er regelmäßige 102-HTTP-Antwortcodes sendet. Dadurch wird der 10‑Minuten-Timer im Google Front End-Dienst zurückgesetzt.

Projekt bereits mit VPC verknüpft

Problem

Beim Bereitstellen eines Endpunkts wird möglicherweise eine Fehlermeldung wie die folgende angezeigt, die darauf hinweist, dass Ihre Vertex AI-Endpunkte zuvor ein Virtual Private Cloud-Netzwerk verwendet haben und die Ressourcen nicht entsprechend bereinigt wurden.

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.

Lösung

Führen Sie den Befehl in Cloud Shell aus, um dieses Problem zu beheben.

gcloud services vpc-peerings delete \
    --service=servicenetworking.googleapis.com \
    --network=YOUR_SHARED_VPC_NETWORK \
    --project=YOUR_SHARED_VPC_HOST_PROJECT

Dadurch wird die Verbindung Ihres alten VPC-Netzwerk zur Service Networking-VPC manuell getrennt.

Unerwarteter Bereitstellungsfehler oder unerwartetes Löschen des Endpunkts

Problem

Die Bereitstellung eines Modells schlägt unerwartet fehl, ein Endpunkt wird gelöscht oder ein zuvor bereitgestelltes Modell wird nicht mehr bereitgestellt.

Ihr Rechnungskonto ist möglicherweise ungültig. Wenn es längere Zeit ungültig bleibt, werden möglicherweise Ressourcen aus den Projekten entfernt, die mit Ihrem Konto verknüpft sind. Ihre Endpunkte und Modelle werden beispielsweise gelöscht. Entfernte Ressourcen können nicht wiederhergestellt werden.

Lösung

So können Sie dieses Problem beheben:

Weitere Informationen finden Sie unter Fragen zur Abrechnung.

Probleme mit benutzerdefiniertem Vertex AI-Dienstkonto

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit Dienstkonten hilfreich sein können.

Modellbereitstellung schlägt mit einem Dienstkonto-serviceAccountAdmin-Fehler fehl

Problem

Ihre Modellbereitstellung schlägt mit einem Fehler wie dem folgenden fehl:

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

Lösung

Dieser Fehler bedeutet, dass Ihr benutzerdefiniertes Dienstkonto möglicherweise nicht richtig konfiguriert wurde. Informationen zum Erstellen eines benutzerdefinierten Dienstkontos mit den richtigen IAM-Berechtigungen finden Sie unter Benutzerdefiniertes Dienstkonto verwenden.

Bei Verwendung eines benutzerdefinierten Dienstkontos kann kein Identitätstoken abgerufen werden

Problem

Wenn Sie ein benutzerdefiniertes Dienstkonto verwenden, können Trainingsjobs, die auf einem einzelnen Replikat ausgeführt werden, den Compute Engine-Metadatendienst nicht erreichen, der zum Abrufen eines Tokens erforderlich ist.

Es kann ein Fehler wie der folgende angezeigt werden:

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>)

Lösung

Zum Abrufen des Identitätstokens mit einem benutzerdefinierten Dienstkonto müssen Sie iamcredentials.googleapis.com verwenden.

Benutzerdefinierte Modelle

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit benutzerdefiniert trainierten Modellen hilfreich sein können.

Probleme bei benutzerdefinierten Trainings

Die folgenden Probleme können während des benutzerdefinierten Trainings auftreten. Die Probleme gelten für CustomJob- und HyperparameterTuningJob-Ressourcen, einschließlich der von TrainingPipeline-Ressourcen erstellten Ressourcen.

Fehlercode 400

Problem

Der folgende Fehler tritt auf:

400 Machine type MACHINE_TYPE is not supported.

Diese Fehlermeldung kann angezeigt werden, wenn der ausgewählte Maschinentyp für das Vertex AI-Training nicht unterstützt wird oder eine bestimmte Ressource in der ausgewählten Region nicht verfügbar ist.

Lösung

Verwenden Sie nur verfügbare Maschinentypen in den entsprechenden Regionen.

Replikat wurde mit einem Statuscode ungleich Null beendet

Problem

Während des verteilten Trainings tritt ein Fehler eines Workers auf, durch den das Training fehlschlägt.

Lösung

Sehen Sie sich die benutzerdefinierten Trainingslogs in derGoogle Cloud -Konsole an, um den Stacktrace für den Worker zu prüfen.

Rufen Sie die anderen Themen zur Fehlerbehebung auf, um häufige Fehler zu beheben, und erstellen Sie dann eine neue Ressource CustomJob, HyperparameterTuningJob oder TrainingPipeline. In vielen Fällen werden die Fehlercodes durch Probleme in Ihrem Trainingscode verursacht und nicht durch den Vertex AI-Dienst. Um festzustellen, ob dies der Fall ist, können Sie Ihren Trainingscode auf Ihrem lokalen Computer oder in Compute Engine ausführen.

Replikat hat zu wenig Arbeitsspeicher

Problem

Wenn eine Trainings-VM-Instanz während des Trainings nicht genügend Arbeitsspeicher hat, kann ein Fehler auftreten.

Lösung

Sie können sich die Arbeitsspeichernutzung Ihrer Trainings-VMs in der Google Cloud Console ansehen.

Selbst wenn dieser Fehler auftritt, sehen Sie möglicherweise keine 100 %-Speichernutzung auf der VM, da andere Dienste außer der auf der VM ausgeführten Trainingsanwendung auch Ressourcen verbrauchen. Bei Maschinentypen mit weniger Arbeitsspeicher nutzen andere Dienste möglicherweise einen relativ hohen Anteil am Arbeitsspeicher. Auf einer n1-standard-4-VM können Dienste beispielsweise bis zu 40 % des Arbeitsspeichers verbrauchen.

Sie können den Speicherverbrauch der Trainingsanwendung optimieren oder einen größeren Maschinentyp mit mehr Arbeitsspeicher auswählen.

Unzureichende Ressourcen in einer Region

Problem

Sie stoßen in einer Region auf ein Lagerbestandsproblem.

Lösung

Vertex AI trainiert Ihre Modelle mithilfe von Compute Engine-Ressourcen. Vertex AI kann Ihre Arbeitslast nicht planen, wenn Compute Engine für eine bestimmte CPU oder GPU in einer Region ausgelastet ist. Dieses Problem hängt nicht mit Ihrem Projektkontingent zusammen.

Wenn die Compute Engine-Kapazität erschöpft ist, wiederholt Vertex AI automatisch Ihren CustomJob oder HyperparameterTuningJob bis zu dreimal. Der Job schlägt fehl, wenn alle Wiederholungen fehlschlagen.

Eine Bestandslücke tritt normalerweise auf, wenn Sie GPUs verwenden. Sollte dieser Fehler bei der Verwendung von GPUs auftreten, versuchen Sie, zu einem anderen GPU-Typ zu wechseln. Wenn Sie eine andere Region verwenden können, versuchen Sie, das Modell in einer anderen Region zu trainieren.

Berechtigungsfehler beim Zugriff auf einen anderen Google Cloud -Dienst

Wenn beim Zugriff auf einen anderen Google Cloud-Dienst über Ihren Trainingscode (z. B. google.api_core.exceptions.PermissionDenied: 403) ein Berechtigungsfehler auftritt, kann dies folgende Gründe haben:

Leistungsprobleme bei der Verwendung von Cloud Storage FUSE

Problem

Cloud Storage FUSE-Jobs werden langsam ausgeführt.

Lösung

Weitere Informationen finden Sie unter Cloud Storage als bereitgestelltes Dateisystem verwenden im Abschnitt „Richtlinien zur Leistungsoptimierung“.

pip install schlägt fehl, wenn KFP mit VPC Service Controls verwendet wird

Problem

Der folgende Fehler wird angezeigt:

ModuleNotFoundError: No module named MODULE_NAME. WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(&lt;pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f70250bac10&gt;, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/nltk/

Lösung

Der VPC Service Controls-Dienstperimeter blockiert den Zugriff von Vertex AI auf APIs und Dienste von Drittanbietern im Internet. Verwenden Sie packageUris, um die Pakete zu installieren und die Abhängigkeiten aus Cloud Storage-Buckets zu installieren. Eine allgemeine Erläuterung zur Verwendung dieser Technik finden Sie unter VPC Service Controls mit Vertex AI im Abschnitt „Benutzerdefinierte Container verwenden“.

Interner Fehler

Problem

Das Training ist aufgrund eines Systemfehlers fehlgeschlagen.

Lösung

Das Problem kann vorübergehend sein. Versuchen Sie, den CustomJob, den HyperparameterTuningJob oder die TrainingPipeline noch einmal zu senden. Wenn der Fehler weiterhin auftritt, wenden Sie sich bitte an den Support.

Fehlercode 500 bei Verwendung eines benutzerdefinierten Container-Images

Problem

In Ihren Logs wird der Fehler 500 angezeigt.

Lösung

Dieser Fehlertyp ist wahrscheinlich ein Problem mit Ihrem benutzerdefinierten Container-Image und kein Vertex AI-Fehler.

Dienstkonto kann bei der Bereitstellung auf einem Endpunkt nicht auf den Cloud Storage-Bucket zugreifen

Problem

Wenn Sie versuchen, ein Modell auf einem Endpunkt bereitzustellen und Ihr Dienstkonto keinen storage.objects.list-Zugriff auf den zugehörigen Cloud Storage-Bucket hat, kann folgende Fehlermeldung enthalten:

custom-online-prediction@TENANT_PROJECT_ID.iam.gserviceaccount.com
does not have storage.objects.list access to the Cloud Storage bucket.

Standardmäßig verwendet der benutzerdefinierte Container, der Ihr Modell bereitstellt, ein Dienstkonto, das keinen Zugriff auf Ihren Cloud Storage-Bucket hat.

Lösung

Führen Sie einen der folgenden Schritte aus, um dieses Problem zu beheben:

  • Kopieren Sie die Datei, auf die Sie vom Container zugreifen möchten, beim Hochladen des Modells in Modellartefakte. Vertex AI kopiert sie an einen Speicherort, auf den das Standarddienstkonto Zugriff hat, ähnlich wie bei allen anderen Modellartefakten.

  • Kopieren Sie die Datei im Rahmen des Container-Build-Prozesses in den Container.

  • Geben Sie ein benutzerdefiniertes Dienstkonto an.

Suchfunktion auf Basis einer neuronalen Architektur

Bekannte Probleme

  • Nach dem Abbrechen des NAS-Jobs wird der Hauptjob (der übergeordnete Job) beendet. Bei einigen untergeordneten Tests wird jedoch weiterhin der Status Wird ausgeführt angezeigt. Ignorieren Sie den untergeordneten Testlaufstatus Wird ausgeführt in diesem Fall. Die Testläufe wurden beendet, aber in der Benutzeroberfläche wird weiterhin der Status Wird ausgeführt angezeigt. Solange der Hauptjob angehalten wird, werden Ihnen keine zusätzlichen Kosten in Rechnung gestellt.
  • Nachdem Sie Prämien im Trainer gemeldet haben, müssen Sie zehn Minuten warten, bevor die Testjobs beendet werden.
  • Wenn Sie Cloud Shell zum Ausführen von TensorBoard verwenden, funktioniert der generierte Ausgabelink möglicherweise nicht. Notieren Sie sich in diesem Fall die Portnummer. Verwenden Sie dazu das Webvorschau-Tool und wählen Sie die erforderliche Portnummer, um die Diagramme anzeigen zu lassen.

    So greifen Sie auf das Tool Web Preview zu:

    Diagramm mit Attributionen von Attributen für eine vorhergesagte Fahrtzeit.

  • Wenn in den Trainerlogs Fehlermeldungen wie diese angezeigt werden:

    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]
    

    Verwenden Sie eine Maschine mit mehr RAM, da dieser Fehler durch eine OOM-Bedingung verursacht wird.

  • Wenn Ihr benutzerdefinierter Trainer das Jobverzeichnis job-dir FLAG nicht finden kann, importieren Sie job_dir mit einem Unterstrich anstelle eines Bindestrichs. Das wird in einer Anmerkung in Tutorial 1 erklärt.

  • NaN-Fehler während des Trainings Es kann NaN-Fehler im Trainingsjob geben, z. B. NaN : Tensor had NaN values. Die Lernrate ist möglicherweise zu hoch für die vorgeschlagene Architektur. Weitere Informationen finden Sie unter Fehler aufgrund fehlenden Speichers (OOM, Out-of-memory) und Fehler in Relation zur Lernrate.

  • OOM-Fehler während des Trainings Es kann OOM-Fehler (Out-of-Memory) im Trainingsjob geben. Die Batchgröße ist möglicherweise zu groß für den Beschleunigerspeicher. Weitere Informationen finden Sie unter Fehler aufgrund fehlenden Speichers (OOM, Out-of-memory) und Fehler in Relation zur Lernrate.

  • Controller-Job zur Proxy-Aufgaben-Modellauswahl bricht ab In dem seltenen Fall, dass der Controller-Job zur Proxy-Aufgaben-Modellauswahl abstürzt, können Sie den Job über diese Schritte fortsetzen.

  • Controller-Job zur Suche nach Proxy-Aufgaben bricht ab In dem seltenen Fall, dass der Controller-Job zur Suche nach Proxy-Aufgaben abstürzt, können Sie den Job über diese Schritte fortsetzen.

  • Das Dienstkonto hat keine Berechtigung für den Zugriff auf Artifact Registry oder den Bucket. Wenn ein Fehler wie 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 oder ein ähnlicher Fehler für den Bucket-Zugriff angezeigt wird, weisen Sie diesem Dienstkonto in Ihrem Projekt eine Speicherbearbeiter-Rolle zu.

Vertex AI Feature Store

In diesem Abschnitt werden Schritte zur Fehlerbehebung beschrieben, die bei Problemen mit Vertex AI Feature Store hilfreich sein können.

Resource not found-Fehler beim Senden einer Anfrage zur Streamingaufnahme oder Onlinebereitstellung

Problem

Nachdem Sie einen Featurestore, einen Entitätstyp oder Featureressourcen eingerichtet haben, kommt es zu einer Verzögerung, bevor diese Ressourcen an den Dienst FeaturestoreOnlineServingService weitergegeben werden. Manchmal kann diese verzögerte Weitergabe zu einem resource not found-Fehler führen, wenn Sie eine Anfrage zur Streamingaufnahme oder Onlinebereitstellung sofort nach der Ressourcenerstellung senden.

Lösung

Wenn Sie diese Fehlermeldung erhalten, warten Sie ein paar Minuten und wiederholen Sie dann die Anfrage.

Die Batchaufnahme für neu erstellte Features war erfolgreich, bei einer Anfrage zur Onlinebereitstellung werden jedoch leere Werte zurückgegeben

Problem

Nur bei neu erstellten Features gibt es eine Verzögerung, bis diese Features an den FeaturestoreOnlineServingService weitergegeben werden. Die Features und Werte sind vorhanden, aber es dauert einige Zeit, bis sie wirksam werden. Dies kann dazu führen, dass Ihre Anfrage für die Onlinebereitstellung leere Werte zurückgibt.

Lösung

Wenn Sie diese Inkonsistenz feststellen, warten Sie einige Minuten und wiederholen Sie dann die Anfrage zur Onlinebereitstellung.

Die CPU-Auslastung ist für einen Online-Bereitstellungsknoten hoch

Problem

Die CPU-Auslastung eines Online-Bereitstellungsknotens ist hoch.

Lösung

Zur Behebung dieses Problems können Sie die Anzahl der Onlinebereitstellungsknoten entweder manuell erhöhen oder Autoscaling aktivieren. Beachten Sie, dass Vertex AI Feature Store Zeit benötigt, um Daten neu auszubalancieren, wenn Knoten hinzugefügt oder entfernt werden – auch wenn das Autoscaling aktiviert ist. Informationen zur Anzeige der Verteilungsmesswerte von Featurewerten im Zeitablauf finden Sie unter Featuremesswerte aufrufen.

Die CPU-Auslastung ist für den am stärksten genutzten Onlinebereitstellungsknoten hoch

Problem

Wenn die CPU-Auslastung für den am stärksten genutzten Knoten hoch ist, können Sie entweder die Anzahl der Bereitstellungsknoten erhöhen oder das Zugriffsmuster der Entität auf „Pseudozufall“ ändern.

Lösung

Das Festlegen des Zugriffsmusters der Entität auf „Pseudozufall“ verringert die hohe CPU-Auslastung, die sich aus dem häufigem Zugriff auf im Feature Store nahe beieinander lokalisierten Entitäten ergibt. Ist keine der beiden Lösungen wirksam, implementieren Sie einen clientseitigen Cache, damit nicht wiederholt auf dieselben Entitäten zugegriffen wird.

Die Latenz für die Onlinebereitstellung ist hoch, obwohl die Abfragen pro Sekunde niedrig sind

Problem

Der Zeitraum der Inaktivität oder der geringen Aktivität bei einer geringen Anzahl an Abfragen pro Sekunde kann dazu führen, dass einige serverseitige Caches ablaufen. Dies kann zu einer hohen Latenz führen, wenn der Traffic zu Onlinebereitstellungsknoten bei regulären oder höheren Abfragen pro Sekunde fortgesetzt wird.

Lösung

Um dieses Problem zu beheben, müssen Sie die Verbindung aktiv halten. Dazu senden Sie künstlichen Traffic von mindestens 5 Abfragen pro Sekunde an den Feature Store.

Batchaufnahmejob schlägt nach sechs Stunden fehl

Problem

Der Batchaufnahmejob kann fehlschlagen, wenn die Lesesitzung nach sechs Stunden abläuft.

Lösung

Erhöhen Sie die Anzahl der Worker, um den Aufnahmejob innerhalb des Zeitlimits von sechs Stunden abzuschließen, um so im Zeitlimit zu bleiben.

Resource exceeded-Fehler beim Exportieren von Featurewerten

Problem

Der Export eines großen Datenvolumens kann fehlschlagen, wenn die Ressource das interne Kontingent durch den Exportjob überschreitet.

Lösung

Zur Vermeidung dieses Fehlers können Sie die Zeitraumparameter start_time und end_time so konfigurieren, dass kleinere Datenmengen gleichzeitig verarbeitet werden. Informationen zum vollständigen Export finden Sie unter Vollständiger Export.

Vertex AI Vizier

Wenn Sie Vertex Vizier verwenden, können folgende Probleme auftreten.

Interner Fehler

Problem

Der interne Fehler tritt auf, wenn ein Systemfehler vorliegt.

Lösung

Er ist möglicherweise nur temporär. Versuchen Sie, die Anfrage noch einmal zu senden. Wenn der Fehler weiterhin besteht, wenden Sie sich an den Support.

Berechtigungsfehler bei der Verwendung von Dienstkontorollen mit Vertex AI

Problem

Sie erhalten allgemeine Berechtigungsfehler, wenn Sie Dienstkontorollen mit Vertex AI verwenden.

Diese Fehler können in Cloud Logging entweder in den Logs der Produktkomponente oder in den Audit-Logs angezeigt werden. Sie können auch in einer beliebigen Kombination der betroffenen Projekte angezeigt werden.

Diese Probleme können eine oder beide der folgenden Ursachen haben:

  • Die Rolle Service Account Token Creator wurde verwendet, obwohl die Rolle Service Account User hätte verwendet werden sollen, oder umgekehrt. Diese Rollen gewähren unterschiedliche Berechtigungen für ein Dienstkonto und sind nicht austauschbar. Informationen zu den Unterschieden zwischen den Rollen Service Account Token Creator und Service Account User finden Sie unter Dienstkontenrollen.

  • Sie haben einem Dienstkonto Berechtigungen für mehrere Projekte gewährt, was standardmäßig nicht zulässig ist.

Lösung

Versuchen Sie Folgendes, um das Problem zu beheben:

  • Entscheiden Sie, ob die Rolle Service Account Token Creator oder Service Account User erforderlich ist. Weitere Informationen finden Sie in der IAM-Dokumentation für die von Ihnen verwendeten Vertex AI-Dienste sowie für alle anderen Produktintegrationen, die Sie verwenden.

  • Wenn Sie einem Dienstkonto Berechtigungen für mehrere Projekte gewährt haben, müssen Sie dafür sorgen, dass iam.disableCrossProjectServiceAccountUsage, damit Dienstkonten projektübergreifend angehängt werden können. wird nicht erzwungen. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass iam.disableCrossProjectServiceAccountUsage nicht erzwungen wird:

    gcloud resource-manager org-policies disable-enforce \
      iam.disableCrossProjectServiceAccountUsage \
      --project=PROJECT_ID