Controle de versões de modelo com o Model Registry

O controle de versões do modelo permite criar várias versões dele. Com o controle de versões de modelos, é possível organizar seus modelos de uma maneira que ajude você a navegar e entender quais alterações tiveram efeito nos modelos. Com o Model Registry, é possível ver os modelos e todas as versões deles em uma única visualização. Detalhamento por versões de modelo específicas e veja exatamente como foi o desempenho.

Importar uma nova versão do modelo

No Model Registry, é possível importar um modelo como uma nova versão de um modelo atual.

Console

  1. No console Google Cloud , acesse a página Registro de modelo.
    Acesse Model Registry
  2. Na parte superior da página, selecione Importar.
  3. Selecione Importar como nova versão.
  4. No menu suspenso, selecione o modelo da nova versão. Adicione uma descrição opcional à versão.
  5. Opcionalmente, defina esse modelo como a versão padrão. A versão padrão é pré-selecionada sempre que o modelo é usado para previsão, mas ainda é possível selecionar outras versões.
  6. Selecione sua região
  7. Selecione Continuar.
  8. Em "Configurações do modelo", defina o contêiner que você quer usar. É possível importar artefatos de modelo para um novo contêiner pré-criado ou importar para um contêiner personalizado atual. Para saber mais sobre contêineres, consulte Importar modelos para a Vertex AI.
  9. Selecione Continuar.
  10. Opcional: adicione suporte de explicabilidade ao modelo.
  11. Selecione Importar.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • LOCATION: o local.
  • MODEL_DISPLAY_NAME: o nome do modelo.
  • ARTIFACT_URI: o caminho para o diretório que contém o artefato do modelo e qualquer um dos arquivos de suporte dele.
  • IMAGE_URI: imagem do Docker a ser usada como o contêiner personalizado para exibir previsões.
  • PARENT_MODEL: o nome do recurso do modelo em que será feito o upload da versão.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.

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  

Como treinar uma nova versão do modelo.

No Model Registry, é possível treinar uma nova versão de um modelo.

Console

No Model Registry, é possível criar uma versão de um modelo. Para saber mais sobre como adicionar ou criar uma versão de modelo no pipeline de treinamento, consulte Upload de modelo e job personalizado

  1. No console Google Cloud , acesse a página Registro de modelo.
    Acesse Model Registry
  2. Na parte superior da página, selecione Criar. Insira os detalhes do método de treinamento e selecione o modelo de treinamento do modelo.
  3. Clique em Continuar.
  4. Em "Detalhes do modelo", selecione a opção Treinar nova versão. No menu suspenso, selecione o modelo ao qual você está adicionando uma nova versão. Adicione uma descrição da versão. Clique em Continuar.
  5. Na seção Computação e preços, insira o orçamento e selecione Iniciar treinamento quando estiver pronto. Quando o treinamento do modelo for concluído, a nova versão ficará visível no registro de modelos.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • TRAINING_PIPELINE_NAME: um nome de exibição do trainingPipeline.
  • TRAINING_TASK_INPUT: os parâmetros da tarefa de treinamento.
  • PARENT_MODEL: o nome do recurso do modelo em que será feito o upload da versão.

Método HTTP e URL:

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

Corpo JSON da solicitação:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.

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  

Como visualizar uma lista de todas as versões de um modelo

Na página de detalhes de uma versão do modelo, é possível implantar e testar o modelo, configurar a inferência em lote e avaliar de acordo com o tipo do modelo. Também é possível ver o conjunto de dados usado para treinar a versão de modelo diretamente na página de detalhes da versão.

Console

No Registro de modelos, é possível ver uma lista de todas as versões de um modelo. Isso pode ajudar você a ter uma visão geral e ajuda na organização do modelo.

  1. No console Google Cloud , acesse a página Registro de modelo.
    Acesse Model Registry
  2. Na coluna "Nome", selecione o nome de um modelo com várias versões. A página de versões será aberta.
  3. Uma lista de todas as versões e os IDs de versão associados é mostrada.

REST

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto associado a este modelo.
  • LOCATION: a região em que você está usando a Vertex AI.
  • MODEL_ID: o ID associado a um modelo específico.

Método HTTP e URL:

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

Para enviar a solicitação, expanda uma destas opções:

Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.

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  

Como visualizar os detalhes da versão do modelo

No Model Registry, é possível ver os modelos e todas as versões deles. Ao selecionar um modelo do Registro de modelos, a página de detalhes exibe detalhes do modelo e detalhes específicos da versão. Na tela de detalhes, é possível avaliar e testar a versão do seu modelo, executar uma inferência em lote ou implantar o modelo em um endpoint para inferência on-line.

Console

Use as instruções a seguir para ver a página de detalhes do seu modelo. Para ver os detalhes da versão, clique no nome dela.

  1. No console Google Cloud , acesse a página Registro de modelo.
    Acesse Model Registry
  2. No Vertex AI Model Registry, clique em um nome de modelo para abrir a página de detalhes do modelo.
  3. Uma lista de todas as versões e os IDs de versão associados é mostrada. As versões do modelo serão separadas por linha. Os detalhes da versão do modelo incluem o ID da versão, o alias do modelo, o status, a descrição e os rótulos.
  4. Para ver os detalhes de uma das versões do modelo, selecione um ID de versão. A página de detalhes do modelo é aberta
  5. Na página de detalhes, é possível avaliar, implantar e testar, usar a previsão em lote e analisar mais detalhadamente os detalhes da versão. Além disso, é possível usar a Avaliação de modelos da Vertex AI para comparar as versões do modelo.

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