Private IP-Adresse für serverloses Training auf der Gemini Enterprise Agent Platform verwenden

Die Verwendung einer privaten IP-Adresse für die Verbindung zu Ihren Trainingsjobs bietet mehr Netzwerksicherheit und geringere Netzwerklatenz als öffentliche IP-Adressen. Wenn Sie eine private IP-Adresse verwenden möchten, nutzen Sie Virtual Private Cloud (VPC), um Ihr Netzwerk mit einem beliebigen serverlosen Trainingsjob der Gemini Enterprise Agent Platform zu verbinden. Dadurch kann Ihr Trainingscode auf private IP-Adressen innerhalb Ihrer Google Cloud oder lokalen Netzwerke zugreifen.

In dieser Anleitung wird gezeigt, wie Sie serverlose Trainingsjobs in Ihrem Netzwerk ausführen, nachdem Sie bereits VPC-Netzwerk-Peering eingerichtet haben, um Ihr Netzwerk mit einer Agent Platform CustomJob, HyperparameterTuningJob oder benutzerdefinierten TrainingPipeline-Ressource zu verbinden.

Übersicht

Bevor Sie einen serverlosen Trainingsjob mit privater IP-Adresse senden, müssen Sie den Zugriff auf private Dienste konfigurieren, um Peering-Verbindungen zwischen Ihrem Netzwerk und der Agent Platform zu erstellen. Wenn Sie diesen Zugriff bereits eingerichtet haben, können Sie Ihre vorhandenen Peering-Verbindungen verwenden.

In diesem Leitfaden werden folgende Aufgaben behandelt:

  • Verstehen, welche IP-Bereiche für serverloses Training reserviert werden sollen.
  • Status vorhandener Peering-Verbindungen prüfen.
  • Serverloses Training mit der Gemini Enterprise Agent Platform in Ihrem Netzwerk ausführen.
  • Prüfen, ob aktives Training in einem Netzwerk erfolgt, bevor Sie Trainings in einem anderen Netzwerk ausführen.
  • Testen, ob Ihr Trainingscode auf private IP-Adressen in Ihrem Netzwerk zugreifen kann.

IP-Bereiche für serverloses Training reservieren

Wenn Sie einen IP-Bereich für Dienstersteller reservieren, kann der Bereich von der Agent Platform und anderen Diensten verwendet werden. Diese Tabelle zeigt die maximale Anzahl paralleler Trainingsjobs, die Sie mit reservierten Bereichen von /16 bis /18 ausführen können, vorausgesetzt, der Bereich wird fast ausschließlich von der Agent Platform verwendet. Wenn Sie eine Verbindung zu anderen Diensterstellern herstellen, die denselben Bereich verwenden, weisen Sie diesen einen größeren Bereich zu, um die IP-Auslastung zu vermeiden.

Maschinenkonfiguration für Trainingsjob Reservierter Bereich Maximale Anzahl paralleler Jobs
Bis zu 8 Knoten.
Beispiel: 1 Primärreplikat im ersten Worker-Pool, 6 Replikate im zweiten Worker-Pool und 1 Worker im dritten Worker-Pool (als Parameterserver)
/16 63
/17 31
/18 15
Bis zu 16 Knoten.
Beispiel: 1 Primärreplikat im ersten Worker-Pool, 14 Replikate im zweiten Worker-Pool und 1 Worker im dritten Worker-Pool (als Parameterserver)
/16 31
/17 15
/18 7
Bis zu 32 Knoten.
Beispiel: 1 Primärreplikat im ersten Worker-Pool, 30 Replikate im zweiten Worker-Pool und 1 Worker im dritten Worker-Pool (als Parameterserver)
/16 15
/17 7
/18 3

Erfahren Sie mehr über das Konfigurieren von Worker-Pools für verteiltes Training.

Status vorhandener Peering-Verbindungen prüfen

Wenn Sie bereits Peering-Verbindungen haben, die Sie mit der Agent Platform verwenden, können Sie diese auflisten, um den Status zu prüfen:

gcloud compute networks peerings list --network NETWORK_NAME

Der Status Ihrer Peering-Verbindungen sollte nun ACTIVE lauten. Weitere Informationen zu aktiven Peering-Verbindungen.

Serverloses Training ausführen

Wenn Sie serverloses Training ausführen, müssen Sie den Namen des Netzwerks angeben, auf das die Agent Platform Zugriff haben soll.

Je nachdem, wie Sie das serverlose Training ausführen, geben Sie das Netzwerk in einem der folgenden API-Felder an:

Wenn Sie keinen Netzwerknamen angeben, führt die Agent Platform Ihr serverloses Training ohne Peering-Verbindung und ohne Zugriff auf private IP-Adressen in Ihrem Projekt aus.

Beispiel: CustomJob mit der gcloud CLI erstellen

Das folgende Beispiel zeigt, wie Sie ein Netzwerk angeben, wenn Sie mit der gcloud CLI einen CustomJob ausführen, der einen vordefinierten Container verwendet. Wenn Sie das serverlose Training auf andere Weise durchführen, fügen Sie das network Feld wie für den verwendeten serverlosen Trainingsjob beschrieben hinzu.

  1. Erstellen Sie eine config.yaml-Datei, um das Netzwerk anzugeben. Wenn Sie eine freigegebene VPC verwenden, geben Sie die Nummer Ihres VPC-Hostprojekts an.

    Prüfen Sie, ob der Netzwerkname richtig formatiert ist:

    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
    
    cat <<EOF > config.yaml
    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    EOF
    
  2. Erstellen Sie eine Trainingsanwendung für die Ausführung in der Agent Platform.

  3. Erstellen Sie den CustomJob und übergeben Sie die Datei config.yaml:

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --python-package-uris=PYTHON_PACKAGE_URIS \
      --worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE \
      --config=config.yaml
    

Informationen zum Ersetzen der Platzhalter in diesem Befehl finden Sie unter Benutzerdefinierte Trainingsjobs erstellen.

Jobs in verschiedenen Netzwerken ausführen

Sie können kein serverloses Training in einem neuen Netzwerk ausführen, während Sie noch serverloses Training in einem anderen Netzwerk ausführen. Bevor Sie zu einem anderen Netzwerk wechseln, müssen Sie warten, bis alle gesendeten Ressourcen CustomJob, HyperparameterTuningJob und TrainingPipeline abgeschlossen sind. Andernfalls müssen Sie sie abbrechen.

Zugriff auf Trainingsjobs testen

In diesem Abschnitt wird erläutert, wie Sie testen, ob eine serverlose Trainingsressource auf private IP-Adressen in Ihrem Netzwerk zugreifen kann.

  1. Erstellen Sie eine Compute Engine-Instanz in Ihrem VPC-Netzwerk.
  2. Prüfen Sie Ihre Firewallregeln, um sicherzustellen, dass sie den eingehenden Traffic aus dem Agent Platform-Netzwerk nicht einschränken. Falls ja, fügen Sie eine Regel hinzu, um sicherzustellen, dass das Agent Platform-Netzwerk auf den IP-Bereich zugreifen kann, den Sie für die Agent Platform (und andere Dienstersteller) reserviert haben.
  3. Richten Sie einen lokalen Server auf der VM-Instanz ein, um einen Endpunkt für den Zugriff auf einen CustomJob der Agent Platform zu erstellen.
  4. Erstellen Sie eine Python-Trainingsanwendung für die Ausführung in der Agent Platform. Senden Sie anstelle des Modelltrainingscodes Code, der auf den Endpunkt zugreift, den Sie im vorherigen Schritt eingerichtet haben.
  5. Folgen Sie dem vorherigen Beispiel, um einen CustomJob zu erstellen.

Häufige Probleme

In diesem Abschnitt werden einige häufige Probleme bei der Konfiguration von VPC-Netzwerk-Peering mit der Agent Platform aufgeführt.

  • Geben Sie den vollständigen Netzwerknamen an, wenn Sie die Agent Platform für die Verwendung Ihres Netzwerks konfigurieren:

    "projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"

  • Achten Sie darauf, dass Sie kein serverloses Training in einem Netzwerk ausführen, bevor Sie serverloses Training in einem anderen Netzwerk ausführen.

  • Achten Sie darauf, dass Sie allen Diensterstellern, mit denen Ihr Netzwerk verbunden ist, einen ausreichenden IP-Bereich zugewiesen haben, einschließlich der Agent Platform.

Weitere Informationen zur Fehlerbehebung finden Sie in der Anleitung zur Fehlerbehebung für VPC-Netzwerk-Peering.

Nächste Schritte