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