Modellersionsverwaltung mit Model Registry

Mit der Modellversionsverwaltung können Sie mehrere Versionen desselben Modells erstellen. Bei der Modellversionierung können Sie Ihre Modelle so organisieren, dass Sie feststellen können, welche Änderungen sich auf die Modelle ausgewirkt haben. Mit Model Registry können Sie Ihre Modelle und alle Versionen in einer einzigen Ansicht ansehen. Sie können die verschiedenen Modellversionen aufschlüsseln und genau sehen, wie sie funktionieren.

Neue Modellversion importieren

Von der Model Registry können Sie ein Modell als neue Version eines vorhandenen Modells importieren.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Model Registry auf.
    Zu Model Registry
  2. Wählen Sie oben auf der Seite Importieren aus.
  3. Wählen Sie Als neue Version importieren aus.
  4. Wählen Sie im Drop-down-Menü das Modell aus, für das es eine neue Version gibt. Fügen Sie eine optionale Versionsbeschreibung hinzu.
  5. Legen Sie optional dieses Modell als Standardversion fest. Die Standardversion wird bei der Verwendung des Modells für die Vorhersage vorab ausgewählt. Sie können jedoch auch andere Versionen auswählen.
  6. Wählen Sie Ihre Region aus.
  7. Wählen Sie Weiter aus.
  8. Legen Sie in den Modelleinstellungen fest, welchen Container Sie verwenden möchten. Sie können Modellartefakte in einen neuen vordefinierten Container oder in einen vorhandenen benutzerdefinierten Container importieren. Weitere Informationen zu Containern finden Sie unter Modelle in Vertex AI importieren.
  9. Wählen Sie Weiter aus.
  10. Optional: Modell um Unterstützung für Erklärbarkeit erweitern.
  11. Wählen Sie Importieren aus.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die Projekt-ID
  • LOCATION: der Standort.
  • MODEL_DISPLAY_NAME ist der Modellname.
  • ARTIFACT_URI: Der Pfad zum Verzeichnis mit dem Modellartefakt und allen zugehörigen Dateien.
  • IMAGE_URI: Docker-Image, das als benutzerdefinierter Container für die Bereitstellung von Vorhersagen verwendet werden soll.
  • PARENT_MODEL: Der Ressourcenname des Modells, in das die Version hochgeladen werden soll.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload

JSON-Text anfordern:

{

  "model": {
    "displayName": "MODEL_DISPLAY_NAME",
    "artifactUri": "ARTIFACT_URI",
    "containerSpec": {
       "imageUri": "IMAGE_URI"
    }
   },
 "parentModel": "PARENT_MODEL"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Python

Python


from typing import List

from google.cloud import aiplatform


def upload_new_model_version_using_custom_training_pipeline(
    display_name: str,
    script_path: str,
    container_uri,
    model_serving_container_image_uri: str,
    dataset_id: str,
    replica_count: int,
    machine_type: str,
    accelerator_type: str,
    accelerator_count: int,
    parent_model: str,
    args: List[str],
    model_version_aliases: List[str],
    model_version_description: str,
    is_default_version: bool,
    project: str,
    location: str,
):
    """
    Uploads a new model version using a custom training pipeline.
    Args:
        display_name: The display name of the model version.
        script_path: The path to the Python script that trains the model.
        container_uri: The URI of the container to use for training.
        model_serving_container_image_uri: The URI of the serving container image to use.
        dataset_id: The ID of the dataset to use for training.
        replica_count: The number of replicas to use for training.
        machine_type: The machine type to use for training.
        accelerator_type: The accelerator type to use for training.
        accelerator_count: The number of accelerators to use for training.
        parent_model: The parent resource name of an existing model.
        args: A list of arguments to pass to the training script.
        model_version_aliases: The aliases of the model version to create.
        model_version_description: The description of the model version.
        is_default_version: Whether the model version is the default version.
        project: The project ID.
        location: The region name.
    Returns:
        The new version of the model.
    """
    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Create the training job.
    # This job will upload a new, non-default version of the my-training-job model
    job = aiplatform.CustomTrainingJob(
        display_name=display_name,
        script_path=script_path,
        container_uri=container_uri,
        model_serving_container_image_uri=model_serving_container_image_uri,
    )

    # Create dataset
    # This examples uses a TabularDataset, but you can use any dataset type.
    dataset = aiplatform.TabularDataset(dataset_id) if dataset_id else None

    # Run the training job.
    model = job.run(
        dataset=dataset,
        args=args,
        replica_count=replica_count,
        machine_type=machine_type,
        accelerator_type=accelerator_type,
        accelerator_count=accelerator_count,
        parent_model=parent_model,
        model_version_aliases=model_version_aliases,
        model_version_description=model_version_description,
        is_default_version=is_default_version,
    )

    return model

Neue Modellversion trainieren

In Model Registry können Sie eine neue Version eines Modells trainieren.

Console

In Model Registry können Sie eine Version eines vorhandenen Modells erstellen. Weitere Informationen zum Hinzufügen oder Erstellen einer Modellversion in der Trainingspipeline finden Sie unter Upload von CustomJob und des Modells.

  1. Rufen Sie in der Google Cloud Console die Seite Model Registry auf.
    Zu Model Registry
  2. Wählen Sie oben auf der Seite Erstellen aus. Geben Sie die Details der Trainingsmethode ein und wählen Sie die Trainingsmethode für das Modell aus.
  3. Klicken Sie auf Weiter.
  4. Wählen Sie unter "Modelldetails" die Option Neue Version trainieren aus. Wählen Sie im Drop-down-Menü das Modell aus, dem Sie eine neue Version hinzufügen möchten. Fügen Sie eine Beschreibung der Version hinzu. Klicken Sie auf Weiter.
  5. Geben Sie im Abschnitt Computing und Preise Ihr Budget ein und wählen Sie Training starten aus, wenn Sie bereit sind. Nach Abschluss des Modelltrainings ist die neue Version in Model Registry sichtbar.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • TRAINING_PIPELINE_NAME: Ein Anzeigename für die trainingPipeline.
  • TRAINING_TASK_INPUT: Die Parameter der Trainingsaufgabe.
  • PARENT_MODEL: Der Ressourcenname des Modells, in das die Version hochgeladen werden soll.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/trainingPipelines

JSON-Text anfordern:

{
  "displayName": "TRAINING_PIPELINE_NAME",
  "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/custom_task_1.0.0.yaml",
  "trainingTaskInputs":"TRAINING_TASK_INPUT"
  },
  "modelToUpload": {
    "displayName": "MODEL_DISPLAY_NAME",
    "containerSpec": {
       "imageUri": "IMAGE_URI"
    },
  },
  "parentModel": "PARENT_MODEL",

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Python

Python


from google.cloud import aiplatform


def create_default_model_sample(model_id: str, project: str, location: str):
    """
    Initialize a Model resource to represent an existing model version with alias 'default'.
    Args:
        model_id: The ID of the model to initialize. Parent resource name of the model is also accepted.
        project: The project ID.
        location: The region name.
    Returns:
        Model resource.
    """
    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Initialize the Model resource with the ID 'model_id'. The parent_name of the Model resource can be also
    # 'projects/<your-project-id>/locations/<your-region>/models/<your-model-id>'
    default_model = aiplatform.Model(model_name=model_id)

    return default_model

Liste aller Versionen eines Modells aufrufen

Auf der Detailseite einer Modellversion können Sie ein Modell bereitstellen und testen, eine Batchvorhersage einrichten und es je nach Modelltyp bewerten. Sie können das Dataset, das zum Trainieren der Modellversion verwendet wird, auch direkt auf der Seite mit den Versionsdetails ansehen.

Console

In Model Registry können Sie eine Liste aller Versionen eines Modells aufrufen. So erhalten Sie einen schnellen Einblick und können die Modellorganisation besser organisieren.

  1. Rufen Sie in der Google Cloud Console die Seite Model Registry auf.
    Zu Model Registry
  2. Wählen Sie in der Spalte „Name“ den Namen eines Modells aus, das mehrere Versionen hat. Die Seite „Versionen“ wird geöffnet.
  3. Eine Liste aller Versionen und der zugehörigen Versions-IDs wird angezeigt.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die mit diesem Modell verknüpfte Projekt-ID.
  • LOCATION: Die Region, in der Sie Vertex AI verwenden.
  • MODEL_ID: die ID, die einem bestimmten Modell zugeordnet ist.

HTTP-Methode und URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Python

Python


from google.cloud import aiplatform


def list_model_versions_sample(model_id: str, project: str, location: str):
    """
    List all model versions of a model.
    Args:
        model_id: The ID of the model to list. Parent resource name of the model is also accepted.
        project: The project ID.
        location: The region name.
    Returns:
        versions: List of model versions.
    """
    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Initialize the Model Registry resource with the ID 'model_id'.The parent_name of Model resource can be also
    # 'projects/<your-project-id>/locations/<your-region>/models/<your-model-id>'
    model_registry = aiplatform.models.ModelRegistry(model=model_id)

    # List all model versions of the model.
    versions = model_registry.list_versions()

    return versions

Details zu Modellversionen aufrufen

In Model Registry sehen Sie Ihre Modelle und alle Modellversionen. Wenn Sie ein Modell aus Model Registry auswählen, werden auf der Detailseite Modelldetails und bestimmte Versionsdetails des Modells angezeigt. Auf dem Detailbildschirm können Sie Ihre Modellversion bewerten und testen, eine Batchvorhersage ausführen oder das Modell auf einem Endpunkt für die Onlinevorhersage bereitstellen.

Console

Führen Sie die folgenden Schritte aus, um die Seite mit den Modelldetails aufzurufen. Klicken Sie auf den Versionsnamen, um die Versionsdetails aufzurufen.

  1. Rufen Sie in der Google Cloud Console die Seite Model Registry auf.
    Zu Model Registry
  2. Klicken Sie in der Vertex AI Model Registry auf einen Modellnamen, um die Seite mit den Modelldetails zu öffnen.
  3. Eine Liste aller Versionen und der zugehörigen Versions-IDs wird angezeigt. Die Modellversionen werden nach Zeilen getrennt angezeigt. Zu den Details der Modellversion gehören Versions-ID, Modellalias, Status, Beschreibung und Labels.
  4. Wählen Sie eine Versions-ID aus, um die Details einer der Modellversionen aufzurufen. Die Seite mit den Modelldetails wird geöffnet.
  5. Auf der Detailseite können Sie die Modelle bewerten, bereitstellen und testen, Batchvorhersagen nutzen und Versionsdetails genauer untersuchen. Außerdem können Sie auf dieser Seite die Vertex AI-Modellbewertung verwenden, um Modellversionen zu vergleichen.

Python

Python


from google.cloud import aiplatform


def get_model_version_info_sample(
    model_id: str, version_id: str, project: str, location: str
):
    """
    Get model version info.
    Args:
        model_id: The ID of the model.
        version_id: The version ID of the model version.
        project: The project ID.
        location: The region name.
    Returns:
        VersionInfo resource.
    """

    # Initialize the client.
    aiplatform.init(project=project, location=location)

    # Initialize the Model Registry resource with the ID 'model_id'.The parent_name of Model resource can be also
    # 'projects/<your-project-id>/locations/<your-region>/models/<your-model-id>'
    model_registry = aiplatform.models.ModelRegistry(model=model_id)

    # Get model version info with the version 'version_id'.
    model_version_info = model_registry.get_version_info(version=version_id)

    return model_version_info