Gerenciar o ciclo de vida do modelo usando o Workspace Model Registry

Importante

Esta documentação cobre o Workspace Model Registry. Se o seu workspace estiver habilitado para o Unity Catalog, não use os procedimentos nesta página. Em vez disso, consulte Modelos no Unity Catalog.

o Workspace Model Registry será preterido no futuro. Para obter orientação sobre como atualizar do Workspace Model Registry para o Unity Catalog, consulte Migrar fluxo de trabalho e modelos para Unity Catalog.

Se workspace o catálogo padrão do seu estiver no Unity Catalog (em vez de hive_metastore) e você estiver executando clusters usando o Databricks Runtime 13.3 LTS ou acima, os modelos serão automaticamente criados e carregados no workspace catálogo padrão , sem necessidade de configuração. Para usar o Workspace Model Registry neste caso, você deve direcioná-lo explicitamente executando import mlflow; mlflow.set_registry_uri("databricks") no início de sua carga de trabalho. Um pequeno número de workspaces em que o catálogo default foi configurado para um catálogo no Unity Catalog antes de janeiro de 2024 e o workspace registro de modelo foi usado antes de janeiro de 2024 estão isentos desse comportamento e continuam a usar o Workspace Model Registry por default.

A partir de abril de 2024, Databricks o desativou o Workspace Model Registry para o workspace default espaço de trabalho em uma nova conta em que o catálogo do está em Unity Catalog.

Este artigo descreve como usar o Workspace Model Registry como parte de seu fluxo de trabalho machine learning para gerenciar o ciclo de vida completo dos modelos de ML. O Workspace Model Registry é uma versão hospedada fornecida pelo Databricks do MLflow Model Registry.

O Workspace Model Registry fornece:

  • Linhagem cronológica do modelo (qual experimento e execução do MLflow produziu o modelo em um determinado momento).

  • Model Serving.

  • Versionamento de modelo.

  • transição de estágio (por exemplo, da encenação para produção ou arquivo).

  • Webhooks para que você possa acionar ações automaticamente com base em eventos de registro.

  • notificações email de eventos de modelo.

Você também pode criar e view descrições de modelo e deixar comentários.

Este artigo inclui instruções para o Workspace Model Registry UI e o Workspace Model Registry API.

Para obter uma visão geral dos conceitos do Workspace Model Registry, consulte Gerenciamento do ciclo de vida de ML usando MLflow.

Criar ou registrar um modelo

Você pode criar ou registrar um modelo usando a interface do usuário ou registrar um modelo usando a API.

Crie ou registre um modelo usando a IU

Há duas maneiras de registrar um modelo no Workspace Model Registry. Você pode registrar um modelo existente que foi logs no MLflow ou pode criar e registrar um novo modelo vazio e, em seguida, atribuir logs modelos anteriores a ele.

registrar logs de modelos existentes de um Notebook

  1. No workspace, identifique a execução do MLflow que contém o modelo que deseja registrar.

    1. Clique no ícone Experimento Ícone de experiência na barra lateral direita do Notebook .

      barra de ferramentas Notebook
    2. Na barra lateral Experiment Runs, clique no botão link externo ícone ao lado da data da execução. A página de execução do MLflow é exibida. Esta página mostra detalhes da execução, incluindo parâmetros, métricas, tags e lista de artefatos.

  2. Na seção Artefatos, clique no diretório chamado xxx-model.

    modelo de registro
  3. Clique no botão Modelo de registro na extrema direita.

  4. Na caixa de diálogo, clique na caixa Modelo e siga um destes procedimentos:

    • Selecione Criar novo modelo no menu suspenso. O campo Nome do modelo é exibido. Insira um nome de modelo, por exemplo scikit-learn-power-forecasting.

    • Selecione um modelo existente no menu suspenso.

    Criar novo modelo
  5. Clique em registro.

    • Se você selecionou Create New Model, este registro de um modelo chamado scikit-learn-power-forecasting, copia o modelo em um local seguro gerenciado pelo Workspace Model Registry e cria uma nova versão do modelo.

    • Se você selecionou um modelo existente, isso registra uma nova versão do modelo selecionado.

    Após alguns instantes, o botão de registro do modelo muda para um link para a nova versão do modelo registrado.

    Selecione o modelo recém-criado
  6. Clique no link para abrir a nova versão do modelo no Workspace Model Registry UI. Você também pode encontrar o modelo na Workspace Model Registry clicando em ícone de modelos Modelos na barra lateral.

Crie um novo modelo registrado e atribua um modelo logs a ele

Você pode usar o botão Criar modelo na página de modelos registrados para criar um novo modelo vazio e, em seguida, atribuir logs de modelo a ele. Siga esses passos:

  1. Na página de modelos registrados, clique em Criar modelo. Insira um nome para o modelo e clique em Criar.

  2. Siga os passos 1 a 3 no logs de modelos existentes em um Notebook.

  3. Na caixa de diálogo Modelo de Registro, selecione o nome do modelo que você criou na passo 1 e clique em registro. Este registro um modelo com o nome que você criou, copia o modelo em um local seguro gerenciado pelo Workspace Model Registry e cria uma versão do modelo: Version 1.

    Após alguns instantes, a IU de execução do MLflow substitui o botão de registro do modelo por um link para a nova versão do modelo registrado. Agora você pode selecionar o modelo na lista suspensa Modelo na caixa de diálogo Modelo de registro na página Execução do experimento . Você também pode registrar novas versões do modelo especificando seu nome em comandos de API como Create ModelVersion.

registrar um modelo usando a API

Existem três maneiras programáticas de registrar um modelo no Workspace Model Registry. Todos os métodos copiam o modelo para um local seguro gerenciado pelo Workspace Model Registry.

  • Para logs um modelo e registrá-lo com o nome especificado durante um experimento MLflow, use o método mlflow.<model-flavor>.log_model(...). Se um modelo registrado com o nome não existir, o método registra um novo modelo, cria a Versão 1 e retorna um objeto MLflow ModelVersion . Se já existir um modelo registrado com o nome, o método cria uma nova versão do modelo e retorna o objeto de versão.

    with mlflow.start_run(run_name=<run-name>) as run:
      ...
      mlflow.<model-flavor>.log_model(<model-flavor>=<model>,
        artifact_path="<model-path>",
        registered_model_name="<model-name>"
      )
    
  • Para registrar um modelo com o nome especificado após a conclusão de toda a execução do seu experimento e você tiver decidido qual modelo é mais adequado para adicionar ao registro, use o método mlflow.register_model() . Para este método, você precisa do ID de execução para o argumento mlruns:URI . Se um modelo registrado com o nome não existir, o método registra um novo modelo, cria a Versão 1 e retorna um objeto MLflow ModelVersion . Se já existir um modelo registrado com o nome, o método cria uma nova versão do modelo e retorna o objeto de versão.

    result=mlflow.register_model("runs:<model-path>", "<model-name>")
    
  • Para criar um novo modelo registrado com o nome especificado, use o método MLflow Client API create_registered_model() . Se o nome do modelo existir, esse método lançará um MLflowException.

    client = MlflowClient()
    result = client.create_registered_model("<model-name>")
    

Você também pode registrar um modelo com o provedor Databricks Terraform e databricks_mlflow_model.

Exibir modelos na IU

página de modelos registrados

A página de modelos registrados é exibida quando você clica em ícone de modelos Modelos na barra lateral. Esta página mostra todos os modelos no registro.

Você pode criar um novo modelo nesta página.

Também nesta página, os administradores do espaço de trabalho podem definir permissões para todos os modelos no Workspace Model Registry.

modelos registrados

Página modelo registrado

Para exibir a página de modelo registrado para um modelo, clique no nome de um modelo na página de modelos registrados. A página do modelo cadastrado mostra informações sobre o modelo selecionado e uma tabela com informações sobre cada versão do modelo. Nesta página, você também pode:

modelo registrado

Página da versão do modelo

Para view a página da versão do modelo, siga um destes procedimentos:

  • Clique no nome de uma versão na coluna Versão mais recente na página de modelos registrados.

  • Clique em um nome de versão na coluna Versão na página do modelo registrado.

Esta página exibe informações sobre uma versão específica de um modelo registrado e também fornece um link para a execução de origem (a versão do Notebook que foi executada para criar o modelo). Nesta página, você também pode:

versão do modelo

Controle o acesso aos modelos

O senhor deve ter pelo menos a permissão CAN MANAGE para configurar as permissões em um modelo. Para obter informações sobre os níveis de permissão do modelo, consulte ACLs do modelo MLFlow. Uma versão de modelo herda as permissões de seu modelo pai. O senhor não pode definir permissões para versões de modelos.

  1. Na barra lateral, clique em ícone de modelos Models.

  2. Selecione um nome de modelo.

  3. Clique em Permissions (Permissões). A caixa de diálogo Permission Settings (Configurações de permissão) é aberta

    Botão de permissões de modelo
  4. Na caixa de diálogo, selecione o menu suspenso Select User, Group or entidade de serviço e selecione um usuário, grupo ou entidade de serviço.

    Alterar as permissões do modelo MLflow
  5. Selecione uma permissão no menu suspenso de permissões.

  6. Clique em Add e em Save.

workspace Os administradores e usuários com permissão CAN MANAGE no nível de todo o registro podem definir níveis de permissão em todos os modelos no workspace clicando em Permissions (Permissões ) na página Models (Modelos).

Transição de um estágio de modelo

Uma versão de modelo tem um dos seguintes estágios: None, Staging, Production ou Archived. A passo de Staging é destinada ao teste e validação do modelo, enquanto a passo de Produção é para as versões do modelo que concluíram os processos de teste ou revisão e foram aprimoradas para aplicativos de pontuação ao vivo. Uma versão de modelo arquivado é considerada inativa, e nesse ponto você pode considerar excluí-la. Diferentes versões de um modelo podem estar em diferentes estágios.

Um usuário com a devida permissão pode fazer a transição de uma versão do modelo entre os estágios. Se o senhor tiver permissão para fazer a transição de uma versão de modelo para um determinado estágio, poderá fazer a transição diretamente. Se o senhor não tiver permissão, poderá solicitar uma transição de estágio e um usuário que tenha permissão para fazer a transição de versões do modelo poderá aprovar, rejeitar ou cancelar a solicitação.

Você pode fazer a transição de um estágio de modelo usando a interface do usuário ou usando a API.

Fazer a transição de um estágio de modelo usando a interface do usuário

Siga estas instruções para fazer a transição do estágio de um modelo.

  1. Para exibir a lista de estágios de modelo disponíveis e suas opções disponíveis, em uma página de versão de modelo, clique no menu suspenso ao lado de Estágio: e solicite ou selecione uma transição para outro estágio.

    opções de transição de estágio
  2. Insira um comentário opcional e clique em OK.

Fazer a transição de uma versão de modelo para o estágio de Produção

Após o teste e a validação, você pode fazer a transição ou solicitar a transição para o estágio de Produção.

Workspace Model Registry permite mais de uma versão do modelo registrado em cada estágio. Se quiser ter apenas uma versão em Produção, você pode fazer a transição de todas as versões do modelo atualmente em Produção para Arquivado marcando Transição das versões existentes do modelo de Produção para Arquivado.

Aprovar, rejeitar ou cancelar uma solicitação de transição de estágio de versão de modelo

Um usuário sem permissão de transição de estágio pode solicitar uma transição de estágio. A solicitação aparece na seção Solicitações pendentes na página da versão do modelo:

Transição para produção

Para aprovar, rejeitar ou cancelar uma solicitação de transição de estágio, clique no link Aprovar, Rejeitar ou Cancelar .

O criador de uma solicitação de transição também pode cancelá-la.

Ver atividades da versão do modelo

Para view todas as transições solicitadas, aprovadas, pendentes e aplicadas a uma versão do modelo, acesse a seção Atividades. Esse registro de atividades fornece uma linhagem do ciclo de vida do modelo para auditoria ou inspeção.

Fazer a transição de um estágio de modelo usando a API

Os usuários com as devidas permissões podem fazer a transição de uma versão de modelo para um novo estágio.

Para atualizar um estágio de versão de modelo para um novo estágio, use o método MLflow Client API transition_model_version_stage() :

  client = MlflowClient()
  client.transition_model_version_stage(
    name="<model-name>",
    version=<model-version>,
    stage="<stage>",
    description="<description>"
  )

Os valores aceitos para <stage> são: "Staging"|"staging", "Archived"|"archived", "Production"|"production", "None"|"none".

Usar modelo para inferência

Visualização

Este recurso está em visualização pública.

Depois que um modelo é registrado no Workspace Model Registry, você pode gerar automaticamente um Notebook para usar o modelo para lotes ou inferência transmitida. Como alternativa, você pode criar um endpoint para usar o modelo para exibição em tempo real com o Model Serving.

No canto superior direito da página do modelo registrado ou da página da versão do modelo, clique em usar o botão modelo. É exibida a caixa de diálogo Configurar inferência de modelo, que permite configurar lotes, transmissão ou inferência em tempo real.

Importante

Anaconda Inc. atualizou seus termos de serviço para o canal anaconda.org. Com base nos novos termos de serviço, você pode exigir uma licença comercial se confiar no empacotamento e distribuição do Anaconda. Consulte as Perguntas Frequentes do Anaconda Commercial Edition para obter mais informações. Seu uso de qualquer canal Anaconda é regido por seus termos de serviço.

logs de modelos MLflow anteriores à v1.18 (Databricks Runtime 8.3 ML ou anterior) eram, por default logs com o canal conda defaults (https://repo.anaconda.com/pkgs/) como uma dependência. Devido a essa alteração de licença, o Databricks interrompeu o uso do canal defaults para logs de modelos usando MLflow v1.18e acima. O logs default do canal agora é conda-forge, que aponta para a comunidade gerenciada https://conda-forge.org/.

Se você logs um modelo antes do MLflow v1.18 sem excluir o canal defaults do ambiente conda para o modelo, esse modelo pode ter uma dependência no canal defaults que você pode não ter pretendido. Para confirmar manualmente se um modelo tem essa dependência, você pode examinar o valor channel no arquivo conda.yaml que acompanha os logs de modelos . Por exemplo, conda.yaml de um modelo com uma dependência de canal defaults pode ter esta aparência:

channels:
- defaults
dependencies:
- python=3.8.8
- pip
- pip:
    - mlflow
    - scikit-learn==0.23.2
    - cloudpickle==1.6.0
      name: mlflow-env

Como o Databricks não pode determinar se o uso do repositório Anaconda para interagir com seus modelos é permitido em seu relacionamento com o Anaconda, o Databricks não está forçando seus clientes a fazer alterações. Se o seu uso do repositório Anaconda.com por meio do Databricks for permitido pelos termos do Anaconda, você não precisará realizar nenhuma ação.

Se desejar alterar o canal usado no ambiente de um modelo, você pode registrar novamente o modelo no Workspace Model Registry com um novo conda.yaml. Você pode fazer isso especificando o canal no parâmetro conda_env de log_model().

Para obter mais informações sobre a API log_model(), consulte a documentação do MLflow para o tipo de modelo com o qual você está trabalhando, por exemplo, logs para Scikit-Learn.

Para obter mais informações sobre arquivos conda.yaml , consulte a documentação do MLflow.

Configurar caixa de diálogo de inferência de modelo

Configurar inferência de lotes

Ao seguir estes passos para criar um Notebook de inferência de lotes, o Notebook é salvo em sua pasta de usuário na pasta Batch-Inference em uma pasta com o nome do modelo. Você pode editar o Notebook conforme necessário.

  1. Clique na tab de inferência de lotes .

  2. Na lista suspensa Versão do modelo , selecione a versão do modelo a ser usada. Os dois primeiros itens no menu suspenso são a versão atual de Produção e Preparação do modelo (se existirem). Ao selecionar uma dessas opções, o Notebook passa a utilizar automaticamente a versão Produção ou Staging a partir do momento de sua execução. Você não precisa atualizar o Notebook enquanto continua a desenvolver o modelo.

  3. Clique no botão Procurar ao lado de Tabela de entrada. A caixa de diálogo Selecionar dados de entrada é exibida. Se necessário, você pode alterar os clusters no menu suspenso compute .

    Observação

    Para workspace habilitado Unity Catalog, a caixa de diálogo Selecionar dados de entrada permite que você selecione entre três níveis, <catalog-name>.<database-name>.<table-name>.

  4. Selecione a tabela que contém os dados de entrada para o modelo e clique em Selecionar. O Notebook gerado importa automaticamente esses dados e os envia para o modelo. Você pode editar o Notebook gerado se os dados exigirem qualquer transformação antes de serem inseridos no modelo.

  5. As previsões são salvas em uma pasta no diretório dbfs:/FileStore/batch-inference. Por default, as previsões são salvas em uma pasta com o mesmo nome do modelo. Cada execução do Notebook gerado grava um novo arquivo neste diretório com o registro de data e hora anexado ao nome. Você também pode optar por não incluir o timestamp e sobrescrever o arquivo com posterior execução do Notebook; as instruções são fornecidas no Notebook gerado.

    Você pode alterar a pasta onde as previsões são salvas digitando um novo nome de pasta no campo Local da tabela de saída ou clicando no ícone da pasta para navegar no diretório e selecionar uma pasta diferente.

    Para salvar previsões em um local no Unity Catalog, você deve editar o Notebook. Para obter um exemplo Notebook que mostra como ensinar a versão do machine learning que usa dados no Unity Catalog e gravar os resultados de volta no Unity Catalog, consulte ensinar e registrar modelo do machine learning with Unity Catalog.

Configure a inferência transmitida usando Delta Live Tables

Quando você segue estes passos para criar um Notebook inferência transmitida, o Notebook é salvo na sua pasta de usuário na pasta DLT-Inference em uma pasta com o nome do modelo. Você pode editar o Notebook conforme necessário.

  1. Clique na tab Transmissão (Delta Live Tables) .

  2. Na lista suspensa Versão do modelo , selecione a versão do modelo a ser usada. Os dois primeiros itens no menu suspenso são a versão atual de Produção e Preparação do modelo (se existirem). Ao selecionar uma dessas opções, o Notebook passa a utilizar automaticamente a versão Produção ou Staging a partir do momento de sua execução. Você não precisa atualizar o Notebook enquanto continua a desenvolver o modelo.

  3. Clique no botão Procurar ao lado de Tabela de entrada. A caixa de diálogo Selecionar dados de entrada é exibida. Se necessário, você pode alterar os clusters no menu suspenso compute .

    Observação

    Para workspace habilitado Unity Catalog, a caixa de diálogo Selecionar dados de entrada permite que você selecione entre três níveis, <catalog-name>.<database-name>.<table-name>.

  4. Selecione a tabela que contém os dados de entrada para o modelo e clique em Selecionar. O Notebook gerado cria uma transformação de dados que usa a tabela de entrada como fonte e integra a UDF de inferência MLflow PySpark para realizar previsões de modelo. Você pode editar o Notebook gerado se os dados exigirem qualquer transformação adicional antes ou depois da aplicação do modelo.

  5. Forneça o nome da Tabela Dinâmica Delta de saída. O Notebook cria uma tabela dinâmica com o nome fornecido e a utiliza para armazenar as previsões do modelo. Você pode modificar o Notebook gerado para personalizar o dataset de destino conforme necessário - por exemplo: definir uma tabela ao vivo de transmissão como saída, adicionar informações de esquema ou restrições de qualidade de dados.

  6. Você pode então criar um novo pipeline Delta Live Tables com este Notebook ou adicioná-lo a um pipeline existente como uma biblioteca Notebook adicional.

Configurar inferência em tempo real

servindo modelo expõe seu modelo MLflow de aprendizado de máquina como um endpoint de API REST escalável. Para criar um modelo de serviço endpoint, consulte Criar endpoints de modelo de serviço personalizados.

Dar uma resposta

Este recurso está em pré-visualização e gostaríamos de receber seus comentários. Para fornecer feedback, clique em Provide Feedback na caixa de diálogo Configurar inferência de modelo.

Comparar versões de modelos

Você pode comparar as versões do modelo no Workspace Model Registry.

  1. Na página do modelo registrado, selecione duas ou mais versões do modelo clicando na caixa de seleção à esquerda da versão do modelo.

  2. Clique em Comparar.

  3. A tela Comparando <N> Versões é exibida, mostrando uma tabela que compara os parâmetros, esquema e métricas das versões de modelo selecionadas. Na parte inferior da tela, você pode selecionar o tipo de gráfico (dispersão, contorno ou coordenadas paralelas) e os parâmetros ou métricas para o gráfico.

Controlar preferências de notificação

Você pode configurar o Workspace Model Registry para notificá-lo por e email sobre a atividade em modelos registrados e versões de modelo que você especificar.

Na página do modelo registrado, o menu Notifique-me sobre mostra três opções:

menu de notificações email
  • Todas as novas atividades: envie notificações email sobre todas as atividades em todas as versões deste modelo. Se você criou o modelo registrado, esta configuração é o default.

  • Atividade nas versões que sigo: envie notificações email apenas sobre as versões do modelo que você segue. Com esta seleção, você recebe notificações de todas as versões de modelo que segue; você não pode desativar as notificações para uma versão de modelo específica.

  • Silenciar notificações: não envie notificações email sobre atividades neste modelo registrado.

Os seguintes eventos acionam uma notificação email :

  • Criação de uma nova versão do modelo

  • Pedido de transição de estágio

  • transição de estágio

  • Novos comentários

Você se inscreve automaticamente para receber notificações de modelo quando faz o seguinte:

  • Comente sobre essa versão do modelo

  • Transição do estágio de uma versão do modelo

  • Faça uma solicitação de transição para o estágio do modelo

Para ver se o senhor está seguindo uma versão do modelo, observe o campo Follow Status (Seguir status) na página da versão do modelo ou na tabela de versões do modelo na página do modelo registrado.

Desligue todas as notificações por e-mail

Você pode desativar as notificações email na tab Configurações de Workspace Model Registry do menu Configurações do usuário:

  1. Clique no seu nome de usuário no canto superior direito do site Databricks workspace e selecione Settings (Configurações ) no menu suspenso.

  2. Na barra lateral Configurações , selecione Notificações.

  3. Desative as notificações email do Model Registry.

Um administrador account pode desativar as notificações email para toda a organização na página de configurações do administrador.

Número máximo de e-mails enviados

O Workspace Model Registry limita o número de emails enviados para cada usuário por dia por atividade. Por exemplo, se você receber 20 email em um dia sobre novas versões de modelo criadas para um modelo registrado, Workspace Model Registry enviará um email informando que o limite diário foi atingido e nenhum email adicional sobre esse evento será enviado até o dia seguinte .

Para aumentar o limite do número de email permitidos, entre em contato com a equipe da sua account do Databricks.

Webhooks

Visualização

Este recurso está em visualização pública.

Os webhooks permitem que você escute os eventos de Workspace Model Registry para que suas integrações possam acionar ações automaticamente. Você pode usar webhooks para automatizar e integrar seu pipeline machine learning com ferramentas CI/CD existentes e fluxo de trabalho. Por exemplo, você pode acionar builds de CI quando uma nova versão de modelo é criada ou notificar os membros de sua equipe por meio do Slack sempre que uma transição de modelo para produção é solicitada.

anotar um modelo ou versão do modelo

Você pode fornecer informações sobre um modelo ou versão do modelo anotando-o. Por exemplo, você pode querer incluir uma visão geral do problema ou informações sobre a metodologia e o algoritmo usados.

anotar um modelo ou versão do modelo usando a IU

A interface do usuário do Databricks fornece várias maneiras de anotar modelos e versões de modelo. Você pode adicionar informações de texto usando uma descrição ou comentários e pode adicionar tags de valor- keypesquisáveis. Descrições e tags estão disponíveis para modelos e versões de modelos; os comentários estão disponíveis apenas para as versões do modelo.

  • Descrições destinam-se a fornecer informações sobre o modelo.

  • Os comentários fornecem uma maneira de manter uma discussão contínua sobre as atividades em uma versão do modelo.

  • As tags permitem personalizar os metadados do modelo para facilitar a localização de modelos específicos.

Adicionar ou atualizar a descrição de um modelo ou versão do modelo

  1. Na página do modelo registrado ou da versão do modelo, clique em Edit (Editar ) ao lado de Description (Descrição). É exibida uma janela de edição.

  2. Insira ou edite a descrição na janela de edição.

  3. Clique em Salvar para salvar suas alterações ou em Cancelar para fechar a janela.

    Se o senhor tiver inserido uma descrição de uma versão do modelo, a descrição aparecerá na coluna Description (Descrição ) na tabela da página do modelo registrado. A coluna exibe um máximo de 32 caracteres ou uma linha de texto, o que for menor.

Adicionar comentários para uma versão de modelo

  1. Role para baixo na página da versão do modelo e clique na seta para baixo ao lado de Activities (Atividades).

  2. Digite seu comentário na janela de edição e clique em Adicionar comentário.

Adicionar tags para um modelo ou versão de modelo

  1. Na página do modelo registrado ou da versão do modelo, clique em ícone tags se ela ainda não estiver aberta. A tabela de tags é exibida.

    tabela de tags
  2. Clique nos campos Nome e Valor e digite a key e o valor de suas tags.

  3. Clique em Adicionar.

    adicionar tags

Editar ou excluir tags para um modelo ou versão de modelo

Para editar ou excluir tags existentes, use os ícones na coluna Ações .

ações tags

anotar uma versão de modelo usando a API

Para atualizar a descrição de uma versão do modelo, use o método MLflow Client API update_model_version() :

client = MlflowClient()
client.update_model_version(
  name="<model-name>",
  version=<model-version>,
  description="<description>"
)

Para definir ou atualizar tags para um modelo registrado ou versão de modelo, use o método `set_registered_model_tags()`) ou `set_model_version_tags()` da API do cliente MLflow:

client = MlflowClient()
client.set_registered_model_tag()(
  name="<model-name>",
  key="<key-value>",
  tag="<tag-value>"
)
client = MlflowClient()
client.set_model_version_tag()(
  name="<model-name>",
  version=<model-version>,
  key="<key-value>",
  tag="<tag-value>"
)

Renomear um modelo (somente API)

Para renomear um modelo registrado, use o método MLflow Client API rename_registered_model() :

client=MlflowClient()
client.rename_registered_model("<model-name>", "<new-model-name>")

Observação

Você pode renomear um modelo registrado apenas se ele não tiver versões ou se todas as versões estiverem no estágio Nenhum ou Arquivado.

Procurar um modelo

Você pode pesquisar modelos no Workspace Model Registry usando a interface do usuário ou a API.

Observação

Quando o senhor procura um modelo, são retornados apenas os modelos para os quais o senhor tem pelo menos permissões de CAN READ.

Pesquise um modelo usando a IU

Para exibir os modelos cadastrados, clique em ícone de modelos Modelos na barra lateral.

Para procurar um modelo específico, digite o texto na caixa de pesquisa. Você pode inserir o nome de um modelo ou qualquer parte do nome:

Pesquisa de modelos cadastrados

Você também pode pesquisar em tags. Insira tags neste formato: tags.<key>=<value>. Para pesquisar várias tags, use o operador AND .

Pesquisa baseada em tags

Você pode pesquisar o nome do modelo e as tags usando a sintaxe de pesquisa do MLflow. Por exemplo:

Pesquisa baseada em nomes e tags

Pesquise um modelo usando a API

Você pode pesquisar modelos registrados no Workspace Model Registry com o método de API do cliente MLflow search_registered_models()

Se você definiu tags em seus modelos, também pode pesquisar por essas tags com search_registered_models().

print(f"Find registered models with a specific tag value")
for m in client.search_registered_models(f"tags.`<key-value>`='<tag-value>'"):
  pprint(dict(m), indent=4)

Você também pode pesquisar um nome de modelo específico e listar os detalhes de sua versão usando o método MLflow Client API search_model_versions() :

from pprint import pprint

client=MlflowClient()
[pprint(mv) for mv in client.search_model_versions("name='<model-name>'")]

Isso gera:

{   'creation_timestamp': 1582671933246,
    'current_stage': 'Production',
    'description': 'A random forest model containing 100 decision trees '
                   'trained in scikit-learn',
    'last_updated_timestamp': 1582671960712,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'ae2cc01346de45f79a44a320aab1797b',
    'source': './mlruns/0/ae2cc01346de45f79a44a320aab1797b/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 1 }

{   'creation_timestamp': 1582671960628,
    'current_stage': 'None',
    'description': None,
    'last_updated_timestamp': 1582671960628,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'd994f18d09c64c148e62a785052e6723',
    'source': './mlruns/0/d994f18d09c64c148e62a785052e6723/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 2 }

Excluir um modelo ou versão de modelo

Você pode excluir um modelo usando a interface do usuário ou a API.

Excluir uma versão ou modelo de modelo usando a IU

Aviso

Você não pode desfazer esta ação. Você pode fazer a transição de uma versão de modelo para o estágio Arquivado em vez de excluí-la do registro. Quando você exclui um modelo, todos os artefatos de modelo armazenados pelo Workspace Model Registry e todos os metadados associados ao modelo registrado são excluídos.

Observação

Você só pode excluir modelos e versões de modelo no estágio Nenhum ou Arquivado. Se um modelo registrado tiver versões no estágio Staging ou Production, você deverá fazer a transição para o estágio None ou Archived antes de excluir o modelo.

Para excluir uma versão de modelo:

  1. Clique ícone de modelos Modelos na barra lateral.

  2. Clique no nome de um modelo.

  3. Clique em uma versão de modelo.

  4. Clique Excluir versão do modelo no canto superior direito da tela e selecione Excluir no menu suspenso.

Para excluir um modelo:

  1. Clique ícone de modelos Modelos na barra lateral.

  2. Clique no nome de um modelo.

  3. Clique Excluir modelo no canto superior direito da tela e selecione Excluir no menu suspenso.

Excluir uma versão ou modelo de modelo usando a API

Aviso

Você não pode desfazer esta ação. Você pode fazer a transição de uma versão de modelo para o estágio Arquivado em vez de excluí-la do registro. Quando você exclui um modelo, todos os artefatos de modelo armazenados pelo Workspace Model Registry e todos os metadados associados ao modelo registrado são excluídos.

Observação

Você só pode excluir modelos e versões de modelo no estágio Nenhum ou Arquivado. Se um modelo registrado tiver versões no estágio Staging ou Production, você deverá fazer a transição para o estágio None ou Archived antes de excluir o modelo.

Excluir uma versão de modelo

Para excluir uma versão de modelo, use o método MLflow Client API delete_model_version() :

# Delete versions 1,2, and 3 of the model
client = MlflowClient()
versions=[1, 2, 3]
for version in versions:
  client.delete_model_version(name="<model-name>", version=version)

Excluir um modelo

Para excluir um modelo, use o método MLflow Client API delete_registered_model() :

client = MlflowClient()
client.delete_registered_model(name="<model-name>")

Compartilhe modelos entre áreas de trabalho

A Databricks recomenda o uso de modelos no Unity Catalog para compartilhar modelos no workspace. Unity Catalog fornece suporte pronto para uso para acesso a modelo deworkspace cruzado, governança e registro de auditoria.

No entanto, se estiver usando o Workspace Model Registry, você também pode compartilhar modelos em vários espaços de trabalho com alguma configuração. Por exemplo, você pode desenvolver e logs um modelo em seu próprio workspace e acessá-lo de outro workspace usando um Workspace Model Registry remoto. Isso é útil quando várias equipes compartilham o acesso aos modelos. Você pode criar vários workspace e usar e gerenciar modelos nesses ambientes.

Copiar objetos MLflow entre áreas de trabalho

Para importar ou exportar objetos MLflow de ou para o seu workspace do Databricks, você pode usar o projeto de código aberto orientado pela comunidade MLflow Export-Import para migrar experimentos, modelos e execução do MLflow entre workspace.

Com essas ferramentas, você pode:

  • Compartilhe e colabore com outro cientista de dados no mesmo ou em outro servidor de acompanhamento. Por exemplo, você pode clonar um experimento de outro usuário em seu workspace.

  • Copie um modelo de um workspace para outro, como de um desenvolvimento para um workspace de produção.

  • Copie os experimentos e a execução do MLflow do servidor de acompanhamento local para o workspace do Databricks.

  • Faça backup de experimentos e modelos de missão crítica em outro workspace do Databricks.

Exemplo

Este exemplo ilustra como usar o Workspace Model Registry para criar um aplicativo machine learning.

Exemplo de Workspace Model Registry