Controllo delle versioni del modello con Model Registry

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

Importare 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 Registro dei modelli.
    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 questa è 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 selezionare altre versioni).
  6. Seleziona la tua regione.
  7. Seleziona Continua.
  8. Nelle impostazioni del modello, definisci il contenitore che vuoi utilizzare. Puoi scegliere di importare gli artefatti del modello in un nuovo container predefinito o in un container personalizzato esistente. Per saperne di più sui container, consulta Importare modelli in Vertex AI.
  9. Seleziona Continua.
  10. (Facoltativo) Aggiungi il supporto dell'interpretabilità al tuo modello.
  11. Seleziona Importa.

REST

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

  • PROJECT_ID: l'ID progetto.
  • LOCATION: la posizione.
  • MODEL_DISPLAY_NAME: il nome del modello.
  • ARTIFACT_URI: il percorso della directory contenente l'artefatto del modello e tutti i relativi file di supporto.
  • IMAGE_URI: immagine Docker da utilizzare come container personalizzato per la pubblicazione 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

Dal registro dei modelli, 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 Registro dei modelli.
    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 dal registro dei modelli.

REST

Prima di utilizzare i dati della richiesta, apporta 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 di una versione del modello, puoi scegliere di eseguire il deployment e testare il modello, configurare l'inferenza 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

Dal registro dei modelli, puoi visualizzare un elenco di tutte le versioni di un modello. In questo modo puoi ottenere informazioni a colpo d'occhio e organizzare meglio il modello.

  1. Nella console Google Cloud , vai alla pagina Registro dei modelli.
    Vai a Model Registry
  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 e dei relativi ID versione.

REST

Prima di utilizzare i dati della richiesta, apporta 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 visualizzare i tuoi modelli e tutte le versioni dei modelli. Quando selezioni 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 un'inferenza batch o eseguire il deployment del modello in un endpoint per l'inferenza 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 Registro dei modelli.
    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 e dei relativi ID versione. Le versioni del modello sono separate per 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 ed esaminare più da vicino i dettagli della versione. Inoltre, da questa pagina puoi utilizzare Vertex AI Model Evaluation per confrontare le versioni del 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