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, puoi organizzare i modelli in modo da navigare e capire quali modifiche hanno avuto quale effetto sui modelli. Con registro dei modelli puoi vedere i tuoi modelli e tutte le relative versioni in un'unica visualizzazione. Puoi visualizzare in dettaglio versioni specifiche dei modelli e vedere esattamente come in esecuzione.

Importa una nuova versione del modello

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

Console

  1. Nella console Google Cloud, vai alla pagina Registry 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 è una nuova versione. Aggiungi una descrizione facoltativa della versione.
  5. Se vuoi, 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 contenitore predefinito o in un contenitore personalizzato esistente. Per scoprire di più sui contenitori, consulta Importare modelli in Vertex AI.
  9. Seleziona Continua.
  10. (Facoltativo) Aggiungi il supporto dell'esplicabilità al modello.
  11. Seleziona Importa.

REST

Prima di utilizzare i dati della richiesta, apporta 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 pubblicazione delle 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 di queste 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

Addestrare una nuova versione del modello

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

Console

Da Model Registry, puoi creare una versione 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 vuoi aggiungere una nuova versione. Aggiungi una descrizione della versione. Fai clic su Continua.
  5. Nella sezione Compute e prezzi, inserisci il budget e seleziona Inizia l'addestramento quando è tutto pronto. Al termine dell'addestramento, 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 trainingPipeline
  • 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 di queste 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 del modello, impostare la previsione batch e valutare in base al tipo di modello. Puoi visualizzare anche il set di dati utilizzato per addestrare la versione del modello direttamente dalla versione pagina dei dettagli.

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 organizzare il modello.

  1. Nella console Google Cloud, vai alla pagina Registry dei modelli.
    Vai al registro dei modelli
  2. Nella colonna Nome, seleziona il nome di un modello con più versioni. Le versioni si apre una pagina.
  3. Viene visualizzato un elenco di tutte le versioni con i 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 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 vedere i tuoi modelli e delle versioni del tuo modello. Quando si seleziona un modello Model Registry, la pagina dei dettagli mostra i dettagli del modello e 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 al registro dei modelli
  2. Nel registry dei modelli di Vertex AI, 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 versione. Le versioni dei modelli sono separate da riga di comando. 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