Wenn Sie eigenen Trainingscode schreiben, statt AutoML zu verwenden, gibt es mehrere Möglichkeiten, um ein benutzerdefiniertes Training auszuführen. Dieses Thema bietet eine kurze Übersicht sowie einen Vergleich der verschiedenen Möglichkeiten, wie Sie ein benutzerdefiniertes Training ausführen können.
Benutzerdefinierte Schulungsressourcen zu Vertex AI
Es gibt drei Arten von Vertex AI-Ressourcen, die Sie zum Trainieren benutzerdefinierter Modelle in Vertex AI erstellen können:
Beim Erstellen eines benutzerdefinierten Jobs legen Sie Einstellungen fest, die Vertex AI zum Ausführen des Trainingscodes ausführen muss. Dazu gehören:
- Ein Worker-Pool für das Training mit einem einzelnen Knoten (
WorkerPoolSpec
) oder mehrere Worker-Pools für verteiltes Training - Optionale Einstellungen für die Konfiguration der Jobplanung (
Scheduling
), das Festlegen bestimmter Umgebungsvariablen für Ihren Trainingscode, die Verwendung eines benutzerdefinierten Dienstkontos unddie Verwendung von VPC-Netzwerk-Peering
Innerhalb der Worker-Pools können Sie die folgenden Einstellungen festlegen:
- Maschinentypen und Beschleuniger
- Konfiguration, welchen Trainingscode der Worker-Pool ausführt: entweder eine Python-Trainingsanwendung (
PythonPackageSpec
) oder einen benutzerdefinierten Container (ContainerSpec
).
Für Hyperparameter-Abstimmungsjobs sind zusätzliche Einstellungen erforderlich, z. B. der Messwert. Weitere Informationen zur Hyperparameter-Abstimmung finden Sie in diesem Artikel.
Eine Trainingspipeline orchestriert benutzerdefinierte Trainingsjobs oder Hyperparameter-Abstimmungsjobs mit zusätzlichen Schritten. Dazu gehören z. B. das Laden eines Datasets oder das Hochladen des Modells in AI Platform, nachdem der Trainingsjob erfolgreich abgeschlossen wurde.
Benutzerdefinierte Trainingsressourcen
Um vorhandene Trainingspipelines in Ihrem Projekt anzusehen, rufen Sie in der Google Cloud Console im Abschnitt Vertex AI die Seite Trainingspipelines auf.
Um vorhandene benutzerdefinierte Jobs in Ihrem Projekt anzusehen, rufen Sie die Seite Benutzerdefinierte Jobs auf.
Zur Seite "Benutzerdefinierte Jobs"
Wenn Sie vorhandene Hyperparameter-Abstimmungsjobs in Ihrem Projekt ansehen möchten, rufen Sie die Seite Hyperparameter-Abstimmung auf.
Zur Seite "Hyperparameter-Abstimmung"
Vordefinierte und benutzerdefinierte Container
Bevor Sie einen benutzerdefinierten Trainingsjob, einen Hyperparameter-Abstimmungsjob oder eine Trainingspipeline an Vertex AI senden, müssen Sie eine Python-Trainingsanwendung oder einen benutzerdefinierten Container erstellen, um den Trainingscode und die Abhängigkeiten zu definieren, die Sie in Vertex AI ausführen möchten. Wenn Sie eine Python-Trainingsanwendung mit TensorFlow, scikit-learn oder XGBoost erstellen, können Sie den Code mit unseren vordefinierten Containern ausführen. Weitere Informationen zur Auswahl dieser Optionen finden Sie in den Anforderungen an den Trainingscode.
Verteiltes Training
Sie können einen benutzerdefinierten Trainingsjob, einen Hyperparameter-Abstimmungsjob oder eine Trainingspipeline für verteiltes Training konfigurieren. Dazu müssen Sie mehrere Worker-Pools angeben:
- Verwenden Sie Ihren ersten Worker-Pool für die Konfiguration des primären Replikats und setzen Sie die Anzahl der Replikate auf 1.
- Fügen Sie weitere Worker-Pools hinzu, um Worker-Replikate, Parameterserver-Replikate oder Evaluator-Replikate zu konfigurieren, wenn Ihr Framework für maschinelles Lernen diese zusätzlichen Clusteraufgaben für verteiltes Training unterstützt.
Nächste Schritte
- Weitere Informationen zum Ausführen benutzerdefinierter Trainingsjobs finden Sie unter Erstellen einer nichtflüchtigen Ressource.
- Unter Benutzerdefinierte Trainingsjobs erstellen erfahren Sie, wie Sie benutzerdefinierte Trainingsjobs zum Ausführen benutzerdefinierter Trainingsanwendungen in Vertex AI erstellen.
- Unter Trainingspipelines erstellen erfahren Sie, wie Sie Trainingspipelines zum Ausführen benutzerdefinierter Trainingsanwendungen in Vertex AI erstellen.
- Weitere Informationen zur Suche nach Hyperparameter-Abstimmung finden Sie unter Hyperparameter-Abstimmung verwenden.