Como usar aliases de versões de modelos

Um alias de modelo é uma referência mutável e com nome a uma versão do modelo exclusiva num recurso de modelo. Um alias é "mutável" porque os aliases podem ser movidos de uma versão do modelo para outra e "denominado" porque são strings arbitrárias definidas pelo utilizador. Os alias de modelos são úteis para obter ou implementar uma versão específica de um modelo por referência sem precisar de saber o ID da versão específica. Desta forma, funcionam de forma semelhante às etiquetas do Docker ou às referências de ramificações no Git.

Quando cria um novo modelo no Model Registry, a primeira versão recebe automaticamente o alias predefinição. O alias predefinido faz referência à versão do modelo que é usada se um utilizador executar um comando num modelo sem especificar uma versão específica. É necessária uma versão de um modelo para ter sempre o alias predefinido. Caso contrário, o alias predefinido comporta-se como qualquer outro alias definido pelo utilizador.

A partir da Google Cloud consola, o marcador de alias pode ajudar os intervenientes a compreender rapidamente qual é o modelo estável pronto para implementação. Além do alias predefinido, pode criar e atribuir os seus próprios aliases personalizados a modelos no Model Registry.

No Model Registry, pode ver rapidamente que versão do modelo tem o alias predefinido consultando a coluna de alias.

A coluna Alias e a etiqueta de alias predefinida.

Se decidir que quer reatribuir o alias a uma versão do modelo diferente, pode mover aliases para uma versão diferente.

Algumas considerações para usar aliases:

  • Os seus alias de versão devem ser exclusivos e só é possível atribuir um alias a uma única versão, por modelo, de cada vez.
  • Os alias de versão têm de ser não numéricos.
  • Se não especificar uma versão do modelo para produção, é usado o modelo predefinido.
  • Um alias é diferente de uma etiqueta. Saiba mais sobre as etiquetas de modelos aqui.
  • Se aplicar um alias existente que seja usado noutra versão do modelo, o alias é removido dessa versão.

Defina uma versão do modelo como predefinida

  1. Na Google Cloud consola, aceda à página do Registo de modelos do Vertex AI.

    Aceda à página Registo de modelos

  2. No registo de modelos, selecione o nome do modelo que quer editar. É apresentada a janela de detalhes do modelo. São apresentadas todas as versões do modelo. Uma das versões do modelo tem o alias predefinido.

  3. Selecione o botão Ações para a versão do modelo à qual quer atribuir a versão predefinida.

  4. Clique em Predefinir.

Adicione um alias a uma versão do modelo

  1. Na Google Cloud consola, aceda à página do Registo de modelos do Vertex AI.

    Aceda à página Registo de modelos

  2. No registo de modelos, selecione o nome do modelo que quer editar. É apresentada a janela de detalhes do modelo.

  3. Na página de detalhes, selecione a versão do modelo pretendida e clique em Mais.

  4. Clique em Editar alias. Selecione Adicionar novo.

  5. Editar alias: clique em Adicionar alias e introduza o nome do alias que quer adicionar à versão do modelo.

  6. Clique em Guardar.

Carregue uma nova versão do modelo com alias

API

Python


from typing import List

from google.cloud import aiplatform


def upload_new_aliased_model_version_sample(
    parent_name: str,
    artifact_uri: str,
    serving_container_image: str,
    is_default_version: bool,
    version_aliases: List[str],
    version_description: str,
    project: str,
    location: str,
):
    """
    Uploads a new aliased version of a model with ID 'model_id'.
    Args:
        parent_name: The parent resource name of an existing model.
        artifact_uri: The URI of the model artifact to upload.
        serving_container_image: The name of the serving container image to use.
        is_default_version: Whether this version is the default version of the model.
        version_aliases: The aliases of the model version.
        version_description: The description of the model 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)

    # Upload a new aliased version of the Model 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 = aiplatform.Model.upload(
        artifact_uri=artifact_uri,
        serving_container_image=serving_container_image,
        parent_name=parent_name,
        is_default_version=is_default_version,
        version_aliases=version_aliases,
        version_description=version_description,
    )

    return model

Elimine um alias de modelo

Quando elimina uma versão do modelo à qual foi atribuído o alias predefinido, o alias é atribuído automaticamente à versão mais recente seguinte.

Consola

  1. Na Google Cloud consola, aceda à página do Registo de modelos do Vertex AI.

    Aceda à página Registo de modelos

  2. No registo de modelos, selecione o nome do modelo que quer editar. É apresentada a janela de detalhes do modelo.

  3. Na página de detalhes, clique no botão Ações na versão do modelo.

  4. Clique em Editar alias.

  5. É apresentada uma lista dos alias anexados à versão do modelo. Passe o cursor do rato à direita do campo Alias para que a etiqueta apresente o ícone de eliminação.

  6. Clique no ícone de eliminação do alias que quer eliminar.

  7. Clique em Guardar.

API

Python


from typing import List

from google.cloud import aiplatform


def delete_aliases_model_version_sample(
    model_id: str,
    version_aliases: List[str],
    version_id: str,
    project: str,
    location: str,
):
    """
    Delete aliases to a model version.
    Args:
        model_id: The ID of the model.
        version_aliases: The version aliases to assign.
        version_id: The version ID of the model to assign the aliases to.
        project: The project ID.
        location: The region name.
    Returns
        None.
    """
    # 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)

    # Remove the version aliases to the model version with the version 'version'.
    model_registry.remove_version_aliases(
        target_aliases=version_aliases, version=version_id
    )