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 mit dem Vertex AI SDK für Python einen CustomTrainingJob erstellen.

Wenn Sie einen CustomTrainingJob erstellen, definieren Sie im Hintergrund eine Trainingspipeline. Vertex AI verwendet die Trainingspipeline und den Code in Ihrem Python-Trainingsskript zum Trainieren und Erstellen Ihres Modells. 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. Wenn Sie eine CustomTrainingJob erstellen möchten, übergeben Sie dem Konstruktor die folgenden Parameter:

  • 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. Bei der Methode CustomTrainingJob wird das Python-Trainingsskript in der Datei task.py verwendet, um eine 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 eine CustomTrainingJob mit dem Namen job erstellt. Wenn Sie ein Modell erstellen und trainieren möchten, rufen Sie die Methode run für das CustomTrainingJob-Objekt auf und übergeben Sie die folgenden Parameter:

  • dataset: Das zuvor in dieser Anleitung erstellte Tabellen-Dataset. Dieser Parameter kann ein tabellarischer Datensatz, ein Bild, ein Video oder ein Textdatensatz 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 Trainieren Ihrer Daten zu beginnen und ein 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 Ihr 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 Ihr 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 wurde, bevor Sie mit dem nächsten Schritt fortfahren. Nach der Bereitstellung des Modells enthält die Ausgabe den Text Endpoint model deployed. Sie können auch im linken Navigationsbereich der Vertex AI Console auf Endpunkte klicken und den Wert unter Modelle beobachten. Der Wert ist 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.

Ein Endpunkt, auf dem kein Modell bereitgestellt ist.

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

Ein Endpunkt, auf dem kein Modell bereitgestellt ist.