Controllo delle versioni dei modelli con Model Registry

Il controllo delle versioni del modello consente di creare più versioni dello stesso modello. Con il controllo delle versioni, puoi organizzare i tuoi modelli in modo da facilitare la navigazione e la comprensione delle modifiche che hanno influito sui modelli. Con Model Registry puoi visualizzare i tuoi modelli e tutte le loro versioni in un'unica visualizzazione. Puoi visualizzare in dettaglio versioni specifiche del modello e verificarne il rendimento.

Importa una nuova versione del modello

Da Model Registry, puoi importare un modello come nuova versione di un modello esistente.

Console

  1. Nella console Google Cloud, vai alla pagina Model Registry.
    Vai al registro dei modelli
  2. Nella parte superiore della pagina, seleziona Importa.
  3. Seleziona Importa come nuova versione.
  4. Dal menu a discesa, seleziona il modello di cui si tratta una nuova versione. Aggiungi una descrizione facoltativa della versione.
  5. Facoltativamente, 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. Dalle impostazioni del modello, definisci il contenitore da utilizzare. Puoi scegliere di importare gli artefatti del modello in un nuovo container predefinito o di importarli in un container personalizzato esistente. Per scoprire di più sui container, vedi Importare modelli in Vertex AI.
  9. Seleziona Continua.
  10. (Facoltativo) Aggiungi il supporto per la spiegabilità al modello.
  11. Seleziona Importa.

REST

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

  • PROJECT_ID: l'ID del 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 fornire le previsioni.
  • PARENT_MODEL: il nome 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 delle seguenti opzioni:

Dovresti ricevere un codice di stato di operazione riuscita (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

In Model Registry, puoi addestrare una nuova versione di un modello.

Console

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

  1. Nella console Google Cloud, vai alla pagina Model Registry.
    Vai al registro dei modelli
  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 del 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 Compute e prezzi, inserisci il budget e seleziona Inizia addestramento quando è tutto pronto. Al termine dell'addestramento del modello, la nuova versione è visibile in Model Registry.

REST

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

  • TRAINING_PIPELINE_NAME: un nome visualizzato per la pipeline di addestramento
  • TRAINING_TASK_INPUT: i parametri dell'attività di addestramento.
  • PARENT_MODEL: il nome 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 delle seguenti opzioni:

Dovresti ricevere un codice di stato di operazione riuscita (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

Nella pagina dei dettagli di una versione del 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. Questo può aiutarti a ottenere insight a colpo d'occhio e a organizzare il modello.

  1. Nella console Google Cloud, vai alla pagina Model Registry.
    Vai al registro dei modelli
  2. Nella colonna Nome, seleziona il nome di un modello con 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 stai utilizzando 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 delle seguenti opzioni:

Dovresti ricevere un codice di stato di operazione riuscita (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 visualizzare i tuoi modelli e tutte le relative 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 tuo modello, eseguire una previsione batch o eseguire il deployment del modello su 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 al registro dei modelli
  2. In Vertex AI Model Registry, fai clic sul nome di un modello per aprire la relativa pagina dei dettagli.
  3. Viene visualizzato un elenco di tutte le versioni con i relativi ID versione. Le versioni del modello sono separate da 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. Viene visualizzata 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