NFS-Freigabe für benutzerdefiniertes Training bereitstellen

Sie können Ihre benutzerdefinierten Trainingsjobs so konfigurieren, dass NFS-Dateifreigaben (Network File System) für den Container bereitgestellt werden, in dem Ihr Code ausgeführt wird. Dadurch können Ihre Jobs auf Remotedateien zugreifen, als ob sie lokal wären, was einen hohen Durchsatz und eine niedrige Latenz ermöglicht.

In dieser Anleitung wird beschrieben, wie Sie beim Ausführen eines benutzerdefinierten Trainingsjobs eine NFS-Freigabe bereitstellen.

Hinweis

  1. Erstellen Sie eine NFS-Freigabe in einer Virtual Private Cloud (VPC). Ihre Freigabe muss ohne Authentifizierung zugänglich sein.

    Sie können eine Filestore-Instanz als NFS-Freigabe verwenden. Wenn Sie Filestore verwenden, wählen Sie beim Erstellen einer Instanz den privaten Dienstzugriff als Verbindungsmodus aus. Ein Beispiel finden Sie in der Filestore-Dokumentation unter Instanzen erstellen.

  2. Folgen Sie der Anleitung unter VPC-Netzwerk-Peering einrichten, um Vertex AI mit der VPC zu verbinden, die Ihre NFS-Freigabe hostet.

NFS-Informationen für benutzerdefiniertes Training

Wenn Sie einen benutzerdefinierten Trainingsjob erstellen, der eine NFS-Freigabe bereitstellt, müssen Sie Folgendes angeben:

  • Den Namen des Netzwerks, auf das Vertex AI zugreifen soll. Die Art und Weise, wie Sie den Netzwerknamen angeben, hängt vom Typ des benutzerdefinierten Trainingsjobs ab. Weitere Informationen finden Sie unter Benutzerdefiniertes Training durchführen.

  • Ihre NFS-Konfiguration im WorkerPoolSpec-Feld. Füllen Sie die folgenden Felder aus:

    Feld Beschreibung
    nfsMounts.server Die IP-Adresse Ihres NFS-Servers. Dies muss eine private Adresse in Ihrer VPC sein.
    nfsMounts.path Der NFS-Freigabepfad. Dies muss ein absoluter Pfad sein, der mit / beginnt.
    nfsMounts.mountPoint Der lokale Bereitstellungspunkt. Dies muss ein gültiger UNIX-Verzeichnisname sein. Wenn der lokale Bereitstellungspunkt beispielsweise sourceData lautet, geben Sie den Pfad /mnt/nfs/sourceData aus Ihrer Trainings-VM-Instanz an.

    Weitere Informationen finden Sie unter Hier geben Sie Rechenressourcen an.

Beispiel: Benutzerdefinierten Job mithilfe der gcloud CLI erstellen

  1. Führen Sie die Schritte unter Python-Trainingsanwendung für einen vordefinierten Container erstellen aus, um eine Trainingsanwendung zur Ausführung mit Vertex AI zu erstellen.

  2. Erstellen Sie eine Datei mit dem Namen config.yaml, die die Netzwerk- und NFS-Bereitstellungseinstellungen für Ihren Trainingsjob beschreibt. Verwenden Sie das folgende Format:

    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
          replicaCount: 1
          pythonPackageSpec:
            executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI
            packageUris:
              -  PYTHON_PACKAGE_URIS
            pythonModule: PYTHON_MODULE
          nfsMounts:
            - server: NFS_SERVER_IP
              path: NFS_SHARE_NAME
              mountPoint: LOCAL_FOLDER
    

    Dabei gilt:

    • PROJECT_NUMBER: Die Projekt-ID Ihres Google Cloud-Projekts.

    • NETWORK_NAME: Der Name Ihrer privaten oder freigegebenen VPC.

    • MACHINE_TYPE: Die Kennung des VM-Typs.

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI: Der URI eines Container-Images in Artifact Registry, in dem das bereitgestellte Python-Paket ausgeführt wird. Vertex AI bietet eine breite Palette von Executor-Images mit vorinstallierten Paketen, um die Anforderungen der verschiedenen Anwendungsfälle der Nutzer zu erfüllen.

    • PYTHON_PACKAGE_URIS: Eine durch Kommas getrennte Liste von Cloud Storage-URIs, die die Python-Paketdateien angeben, aus denen das Trainingsprogramm und seine abhängigen Pakete bestehen. Die maximale Anzahl der Paket-URIs beträgt 100.

    • PYTHON_MODULE: Der Name des Python-Moduls, das nach der Installation der Pakete ausgeführt werden soll.

    • NFS_SERVER_IP: Die IP-Adresse Ihres NFS-Servers.

    • NFS_SHARE_NAME: Der NFS-Freigabepfad. Dabei handelt es sich um einen absoluten Pfad, der mit / beginnt.

    • LOCAL_FOLDER: Der lokale Bereitstellungspunkt (UNIX-Verzeichnisname).

    Prüfen Sie, ob der Netzwerkname richtig formatiert ist und die NFS-Freigabe im angegebenen Netzwerk vorhanden ist.

  3. Erstellen Sie Ihren benutzerdefinierten Job und übergeben Sie die Datei config.yaml an den Parameter --config.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

    Dabei gilt:

    • LOCATION: Geben Sie die Region an, in der der Job erstellt werden soll.

    • JOB_NAME: Ein Name für den benutzerdefinierten Job.

Beschränkungen

  • Sie müssen Ihre NFS-Freigabe mit einer internen IP-Adresse Ihrer VPC bereitstellen. Die Verwendung öffentlicher URLs ist nicht zulässig.

  • Trainingsjobs stellen NFS-Freigaben ohne Authentifizierung bereit und schlagen fehl, wenn ein Nutzername und ein Passwort erforderlich sind.

    Legen Sie zum Schutz Ihrer Daten Berechtigungen für Ihre NFS-Freigabe fest. Wenn Sie Filestore verwenden, finden Sie weitere Informationen unter Zugriffssteuerung in der Filestore-Dokumentation.

  • Sie können nicht zwei Trainingsjobs, die NFS-Freigaben aus verschiedenen VPC-Netzwerken bereitstellen, gleichzeitig ausführen. Dies liegt an der Beschränkung für Netzwerk-Peering.