Controllo delle versioni del modello con Model Registry

Il controllo delle versioni consente di creare più versioni dello stesso modello. Con il controllo delle versioni, puoi organizzare i modelli in modo per capire quali modifiche hanno avuto un effetto sui modelli. Con Model Registry puoi visualizzare i tuoi modelli e tutte le relative versioni in un'unica visualizzazione. Puoi visualizzare in dettaglio versioni specifiche di un modello e vedere esattamente il loro rendimento.

Importa una nuova versione del modello

Dal registro dei modelli, puoi importare un modello come nuova versione di un modello esistente.

Console

  1. Nella console Google Cloud, vai alla pagina Model Registry.
    Vai a Model Registry
  2. Nella parte superiore della pagina, seleziona Importa.
  3. Seleziona Importa come nuova versione.
  4. Dal menu a discesa, seleziona il modello di cui è una nuova versione. Aggiungi una descrizione facoltativa della versione.
  5. (Facoltativo) Imposta questo modello come versione predefinita. La versione predefinita è preselezionata ogni volta che il modello viene utilizzato per la previsione (anche se puoi comunque selezionarne altre versioni).
  6. Seleziona la tua regione.
  7. Seleziona Continua.
  8. Nelle impostazioni del modello, definisci il container che vuoi utilizzare. Puoi scegliere di importare gli artefatti del modello in un nuovo container predefinito o in un container personalizzato esistente. Per scoprire di più sui container, consulta Importare modelli in Vertex AI.
  9. Seleziona Continua.
  10. (Facoltativo) Aggiungi il supporto della spiegabilità al modello.
  11. Seleziona Importa.

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto.
  • LOCATION: la località.
  • MODEL_DISPLAY_NAME: il nome del modello.
  • ARTIFACT_URI: il percorso della directory contenente l'artefatto del modello e i relativi file di supporto.
  • IMAGE_URI: immagine Docker da utilizzare come container personalizzato per la gestione delle previsioni.
  • PARENT_MODEL: il nome della risorsa del modello in cui caricare la versione.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.

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

Addestra una nuova versione del modello

Dal registro dei modelli, puoi addestrare una nuova versione di un modello.

Console

In Model Registry puoi creare una versione di un modello esistente. Per scoprire di più su come aggiungere o creare una versione del modello nella pipeline di addestramento, consulta CustomJob e caricamento del modello.

  1. Nella console Google Cloud, vai alla pagina Model Registry.
    Vai a Model Registry
  2. Nella parte superiore della pagina, seleziona Crea. Inserisci i dettagli del metodo di addestramento e seleziona il metodo di addestramento del modello.
  3. Fai clic su Continua.
  4. In Dettagli modello, seleziona l'opzione Addestra nuova versione. Dal menu a discesa, seleziona il modello a cui stai aggiungendo una nuova versione. Aggiungi una descrizione della versione. Fai clic su Continua.
  5. Nella sezione Calcolo e prezzi, inserisci il budget e seleziona Inizia addestramento quando è tutto pronto. Al termine dell'addestramento del modello, la nuova versione è visibile nel registro dei modelli.

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • TRAINING_PIPELINE_NAME: un nome visualizzato per trainingPipeline
  • TRAINING_TASK_INPUT: i parametri dell'attività di addestramento.
  • PARENT_MODEL: il nome della risorsa del modello in cui caricare la versione.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "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",

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.

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

Come visualizzare un elenco di tutte le versioni di un modello

Dalla pagina dei dettagli della versione di un modello, puoi scegliere di eseguire il deployment e testare il modello, configurare la previsione batch e valutare in base al tipo di modello. Puoi anche visualizzare il set di dati utilizzato per addestrare la versione del modello direttamente dalla pagina dei dettagli della versione.

Console

In Model Registry puoi visualizzare un elenco di tutte le versioni di un modello. In questo modo, puoi ottenere informazioni a colpo d'occhio e ottimizzare l'organizzazione dei modelli.

  1. Nella console Google Cloud, vai alla pagina Model Registry.
    Vai a Model Registry
  2. Nella colonna Nome, seleziona il nome di un modello che ha più versioni. Si apre la pagina delle versioni.
  3. Viene visualizzato un elenco di tutte le versioni con i relativi ID versione.

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID progetto associato a questo modello
  • LOCATION: la regione in cui utilizzi Vertex AI.
  • MODEL_ID: l'ID associato a un modello specifico.

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.

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

Come visualizzare i dettagli della versione del modello

In Model Registry puoi vedere i tuoi modelli e tutte le tue versioni. Quando si seleziona un modello dal registro dei modelli, la pagina dei dettagli mostra i dettagli del modello e i dettagli specifici della versione del modello. Dalla schermata dei dettagli, puoi valutare e testare la versione del modello, eseguire una previsione batch o eseguire il deployment del modello in un endpoint per la previsione online.

Console

Segui queste istruzioni per visualizzare la pagina dei dettagli del modello. Per visualizzare i dettagli della versione, fai clic sul nome della versione.

  1. Nella console Google Cloud, vai alla pagina Model Registry.
    Vai a Model Registry
  2. In Vertex AI Model Registry, fai clic sul nome di un modello per aprire la pagina dei dettagli del modello.
  3. Viene visualizzato un elenco di tutte le versioni con i relativi ID di versione. Le versioni del modello sono separate da una riga. I dettagli della versione del modello includono l'ID versione, l'alias del modello, lo stato, la descrizione e le etichette.
  4. Per visualizzare i dettagli di una delle versioni del modello, seleziona un ID versione. Si apre la pagina dei dettagli del modello
  5. Dalla pagina dei dettagli, puoi valutare, eseguire il deployment e testare, utilizzare la previsione batch e dare un'occhiata più da vicino ai dettagli della versione. Inoltre, da questa pagina puoi utilizzare Vertex AI Model Evaluation per confrontare le versioni del tuo modello.

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