Modell trainieren und bereitstellen

In den vorherigen Schritten dieser Anleitung haben Sie Ihre Daten für das Training vorbereitet und ein Skript erstellt, das Vertex AI zum Trainieren Ihres Modells verwendet. Sie können jetzt das Vertex AI SDK für Python verwenden, um einen CustomTrainingJob zu erstellen.

Wenn Sie einen CustomTrainingJob erstellen, definieren Sie im Hintergrund eine Trainingspipeline. Vertex AI verwendet die Trainingspipeline und den Code in Ihrem Python-Trainingsskript, um Ihr Modell zu trainieren und zu erstellen. Weitere Informationen finden Sie unter Trainingspipelines erstellen.

Trainingspipeline definieren

Zum Erstellen einer Trainingspipeline erstellen Sie ein CustomTrainingJob-Objekt. Im nächsten Schritt erstellen und trainieren Sie das Modell mit dem Befehl run des CustomTrainingJob. Um einen CustomTrainingJob zu erstellen, übergeben Sie die folgenden Parameter an seinen Konstruktor:

  • display_name: Die Variable JOB_NAME, die Sie beim Definieren der Befehlsargumente für das Python-Trainingsskript erstellt haben.

  • script_path: Der Pfad zum Python-Trainingsskript, das Sie zuvor in dieser Anleitung erstellt haben.

  • container_url: Der URI eines Docker-Container-Images, das zum Trainieren Ihres Modells verwendet wird.

  • requirements: Die Liste der Python-Paketabhängigkeiten des Scripts.

  • model_serving_container_image_uri – Der URI eines Docker-Container-Images, das Vorhersagen für Ihr Modell bereitstellt. Dieser Container kann vorgefertigte oder Ihr eigenes benutzerdefiniertes Image sein. In dieser Anleitung wird ein vordefinierter Container verwendet.

Führen Sie den folgenden Code aus, um die Trainingspipeline zu erstellen. Die Methode CustomTrainingJob verwendet das Python-Trainingsskript in der Datei task.py, um ein CustomTrainingJob zu erstellen.

job = aiplatform.CustomTrainingJob(
    display_name=JOB_NAME,
    script_path="task.py",
    container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
    requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
    model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)

Modell erstellen und trainieren

Im vorherigen Schritt haben Sie einen CustomTrainingJob mit dem Namen job erstellt. Rufen Sie zum Erstellen und Trainieren Ihres Modells die Methode run für Ihr CustomTrainingJob-Objekt auf und übergeben Sie ihm die folgenden Parameter:

  • dataset: Das zuvor in dieser Anleitung erstellte Tabellen-Dataset. Dieser Parameter kann ein tabellarisches, Bild-, Video- oder Text-Dataset sein.

  • model_display_name: Ein Name für Ihr Modell.

  • bigquery_destination: Ein String, der den Speicherort Ihres BigQuery-Datasets angibt.

  • args: Die Befehlszeilenargumente, die an das Python-Trainingsscript übergeben werden.

Führen Sie den folgenden Code in Ihrem Notebook aus, um mit dem Training Ihrer Daten zu beginnen und das Modell zu erstellen:

MODEL_DISPLAY_NAME = "penguins_model_unique"

# Start the training and create your model
model = job.run(
    dataset=dataset,
    model_display_name=MODEL_DISPLAY_NAME,
    bigquery_destination=f"bq://{project_id}",
    args=CMDARGS,
)

Bevor Sie mit dem nächsten Schritt fortfahren, vergewissern Sie sich, dass in der Ausgabe des job.run-Befehls Folgendes erscheint, um zu überprüfen, ob der Befehl ausgeführt wurde:

CustomTrainingJob run completed

Nach Abschluss des Trainingsjobs können Sie Ihr Modell bereitstellen.

Modell bereitstellen

Wenn Sie das Modell bereitstellen, erstellen Sie auch eine Endpoint-Ressource, die für Vorhersagen verwendet wird. Führen Sie den folgenden Code in Ihrem Notebook aus, um das Modell bereitzustellen und einen Endpunkt zu erstellen:

DEPLOYED_NAME = "penguins_deployed_unique"

endpoint = model.deploy(deployed_model_display_name=DEPLOYED_NAME)

Warten Sie, bis das Modell bereitgestellt ist, bevor Sie mit dem nächsten Schritt fortfahren. Wenn das Modell bereitgestellt ist, enthält die Ausgabe den Text Endpoint model deployed. Sie können auch im linken Navigationsbereich der Vertex AI-Konsole auf Endpunkte klicken und ihren Wert unter Modelle überwachen. Der Wert lautet 0, nachdem der Endpunkt erstellt wurde und bevor das Modell bereitgestellt wird. Nach der Bereitstellung des Modells wird der Wert auf 1 aktualisiert.

Im Folgenden wird ein Endpunkt nach seiner Erstellung und vor der Bereitstellung eines Modells angezeigt.

Einen Endpunkt ohne bereitgestelltes Modell.

Im Folgenden wird ein Endpunkt nach seiner Erstellung und nach der Bereitstellung eines Modells angezeigt.

Einen Endpunkt ohne bereitgestelltes Modell.