Gerenciar o ciclo de vida do modelo usando o Registro de Modelos do Espaço de Trabalho (herdado)

Importante

Esta documentação aborda o Registro de Modelo do Workspace. Se o workspace estiver habilitado para o Catálogo do Unity, não use os procedimentos nesta página. Em vez disso, confira Modelos no Catálogo do Unity.

Para obter as diretrizes sobre como atualizar do Registro de Modelos do Espaço de Trabalho para o Catálogo do Unity, consulte Migrar fluxos de trabalho e modelos para o Catálogo do Unity.

Se o catálogo padrão do seu espaço de trabalho estiver no Catálogo do Unity (em vez de hive_metastore) e você estiver executando um cluster usando o Databricks Runtime 13.3 LTS ou superior, os modelos serão automaticamente criados e carregados no catálogo padrão do espaço de trabalho, sem necessidade de configuração. Para usar o Registro de Modelo de Workspace nesse caso, você deve direcioná-lo explicitamente executando import mlflow; mlflow.set_registry_uri("databricks") no início da sua carga de trabalho. Um pequeno número de espaços de trabalho em que o catálogo padrão foi configurado para um catálogo no Catálogo do Unity antes de janeiro de 2024 e o registro de modelos do espaço de trabalho foi usado antes de janeiro de 2024 estão isentos desse comportamento e continuam a usar o Registro de Modelos do Espaço de Trabalho por padrão.

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

O Registro de Modelo de Workspace fornece:

  • A linhagem do modelo cronológico (que o MLflow experimentou e executou produziu o modelo em um determinado momento).
  • Serviço de Modelo.
  • Controle de versão de modelo.
  • Transições de estágio (por exemplo, processo de preparo para produção ou arquivado).
  • Webhooks para que você possa disparar ações automaticamente com base em eventos do registro.
  • Notificações por email de eventos de modelo.

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

Esse artigo inclui instruções para a interface do usuário do Registro de Modelo do Workspace e para a API de Registro de Modelo do Workspace.

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

Criar ou registrar um modelo

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

Criar ou registrar um modelo usando a interface do usuário

Há duas maneiras de registrar um modelo no Registro de Modelo de Workspace. Você pode registrar um modelo existente que tenha sido registrado no MLflow ou pode criar e registrar um modelo novo e vazio e, em seguida, atribuir a ele um modelo previamente registrado.

Registrar um modelo registrado existente por meio de um notebook

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

    1. Clique no ícone ExperimentoÍcone Experimento na barra lateral direita do notebook.

      Barra de ferramentas do notebook

    2. Na barra lateral Execuções do Experimento, clique no ícone Link Externo ao lado da data da execução. A página Execução do MLflow é exibida. Essa página exibe todos os detalhes da execução, incluindo parâmetros, métricas, marcações e lista de artefatos.

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

    Registrar modelo

  3. Clique no botão Registrar Modelo, na extrema direita.

  4. No diálogo, clique na caixa Modelo e faça o seguinte:

    • Selecione Criar 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 modelo

  5. Clique em Registrar.

    • Se você tiver selecionado Criar Novo Modelo, isso registrará um modelo chamado scikit-learn-power-forecasting, copiará o modelo para um local seguro gerenciado pelo Registro de Modelo de Workspace e criará uma versão do modelo.
    • Se você tiver selecionado um modelo existente, isso registrará uma nova versão do modelo selecionado.

    Após alguns instantes, o botão Registrar Modelo será alterado para um link para a nova versão do modelo registrado.

    Selecionar o modelo recém-criado

  6. Clique no link para abrir a nova versão do modelo na interface do usuário do Registro de Modelo de Workspace. Você também pode encontrar o modelo no Registro de Modelo de Workspace clicando no Ícone de ModelosModelos, na barra lateral.

Criar um modelo registrado e atribuir a ele um modelo registrado

Você pode usar o botão Criar Modelo da página Modelos Registrados a fim de criar um modelo vazio e atribuir a ele um modelo registrado. Siga estas etapas:

  1. Na página Modelos Registrados, clique em Criar Modelo. Insira um Nome para o modelo e clique em Criar.

  2. Siga as etapas 1 a 3 em Registrar um modelo registrado existente de um notebook.

  3. Na caixa de diálogo Registrar Modelo, selecione o nome do modelo que você criou na Etapa 1 e clique em Registrar. Isso registra um modelo com o nome que você criou, copia o modelo para um local seguro gerenciado pelo Registro de Modelo de Workspace e cria uma versão do modelo: Version 1.

    Após alguns instantes, a interface do usuário de Execução do MLflow substitui o botão Registrar Modelo por um link para a nova versão do modelo registrada. Agora você pode selecionar o modelo na lista suspensa Modelo, na caixa de diálogo Registrar Modelo da página Execuções de Experimento. Você também pode registrar novas versões do modelo especificando o nome em comandos da API como Criar Versão do Modelo.

Registrar um modelo usando a API

Há três maneiras programáticas de registrar um modelo no Registro de Modelo de Workspace. Todos os métodos copiam o modelo para um local seguro, gerenciado pelo Registro de Modelo de Workspace.

  • Para registrar em log um modelo com o nome especificado durante um experimento do MLflow, use o método mlflow.<model-flavor>.log_model(...). Se um modelo registrado com o nome não existir, o método registrará um novo modelo, criará a Versão 1 e retornará um objeto ModelVersion do MLflow. Se um modelo registrado com o nome já existir, o método criará uma versão do modelo e retornará 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 depois que todas as suas execuções de experimento forem concluídas e você tiver decidido qual modelo é mais adequado para adicionar ao registro, use o método mlflow.register_model(). Nesse método, você precisará da ID de execução para o argumento mlruns:URI. Se um modelo registrado com o nome não existir, o método registrará um novo modelo, criará a Versão 1 e retornará um objeto ModelVersion do MLflow. Se um modelo registrado com o nome já existir, o método criará uma versão do modelo e retornará o objeto de versão.

    result=mlflow.register_model("runs:<model-path>", "<model-name>")
    
  • Para criar um modelo registrado com o nome especificado, use o método create_registered_model() da API do Cliente MLflow. 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 o databricks_mlflow_model.

Limites de cota

A partir de maio de 2024 para todos os workspaces do Databricks, o Registro de Modelos do Espaço de Trabalho impõe limites de cota ao número total de modelos registrados e versões de modelo por espaço de trabalho. Confira Limites de recursos. Caso exceda as cotas do Registro, o Databricks recomenda excluir modelos registrados e versões de modelo que você não precisa mais. O Databricks também recomenda ajustar sua estratégia de retenção e Registro de modelos para permanecer abaixo do limite. Caso precise de um aumento para os limites do espaço de trabalho, entre em contato com sua equipe de conta do Databricks.

O notebook a seguir ilustra como inventariar e excluir suas entidades de Registro de modelos.

Notebook de entidades do Registro de modelos do espaço de trabalho de inventário

Obter notebook

Exibir modelos na interface do usuário

Página de modelos registrados

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

Você pode criar um modelo nessa página.

Também nessa página, os administradores de workspace podem definir permissões para todos os modelos no Registro de Modelo do Workspace.

Modelos registrados

Página de modelo registrado

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

Modelo registrado

Página de versão do modelo

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

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

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

Versão do modelo

Controlar o acesso a modelos

Você deve ter pelo menos a permissão CAN MANAGE para configurar permissões em um modelo. Para obter informações sobre os níveis de permissão do modelo, confira ACLs de modelo do MLFlow. Uma versão de modelo herda permissões de seu modelo pai. Não é possível definir permissões para versões de modelo.

  1. Na barra lateral, clique em Ícone ModelosModelos.

  2. Selecione um nome de modelo.

  3. Clique em Permissões. A caixa de diálogo Configurações de Permissão é aberta

    Botão de permissões do modelo

  4. Na caixa de diálogo, selecione a lista suspensa Selecionar usuário, grupo ou entidade de serviço... e selecione um usuário, grupo ou entidade de serviço.

    Alterar permissões de modelo do MLflow

  5. Selecione uma permissão na lista suspensa de permissões.

  6. Clique em Adicionar e clique em Salvar.

Administradores de workspace e usuários com permissão CAN MANAGE no nível do Registro podem definir níveis de permissão em todos os modelos no workspace clicando em Permissões na página Modelos.

Transição de uma fase do modelo

Uma versão de modelo tem um dos seguintes estágios: Nenhum, Preparo, Produção ou Arquivado. A fase Processo de preparo destina-se a testes e validação dos modelos, enquanto a fase de Produção é para as versões de modelo que concluíram os processos de teste ou análise e foram implantados em aplicativos para pontuação ao vivo. Uma versão do modelo arquivada é considerada inativa e, neste ponto, você pode considerar a possibilidade de excluí-la. As diferentes versões de um modelo podem estar em estágios fases.

Um usuário com as permissões apropriadas pode fazer a transição de uma versão do modelo entre as fases existentes. Se tiver permissão para fazer a transição de uma versão do modelo para uma fase específica, você poderá fazer a transição diretamente. Se não tiver permissão, você poderá solicitar uma transição de fase a um usuário que tenha permissão para fazer a transição de versões de modelo, que 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.

Faça a transição de uma fase do modelo usando a interface do usuário

Siga estas instruções para fazer a transição de uma fase do modelo.

  1. Para exibir a lista de fases de modelo disponíveis e as opções existentes, na página de versão do modelo, clique no menu suspenso ao lado de Fase: e solicite ou selecione uma transição para outra fase.

    Opções de transição de fase

  2. Insira um comentário opcional e clique em OK.

Fazer a transição de uma versão do modelo para a fase de Produção

Após o teste e a validação, você poderá fazer ou solicitar uma transição para a fase de Produção.

O Registro de Modelo de Workspace permite registrar mais de uma versão do modelo em cada fase. Se quiser ter apenas uma versão em Produção, você poderá fazer a transição de todas as versões do modelo atualmente em Produção para Arquivadas, marcando Fazer a transição das versões do modelo existentes em Produção para Arquivadas.

Aprovar, rejeitar ou cancelar uma solicitação de transição de fase da versão do modelo

Usuário sem permissão para transição de fase podem solicitar a transição de fase. A solicitação aparece na seção Solicitações pendentes da página Versão do Modelo:

Transição para Produção

Para aprovar, rejeitar ou cancelar uma solicitação de transição de fase, clique nos links Aprovar, Rejeitar ou Cancelar.

O criador de uma solicitação de transição também poderá cancelar a solicitação.

Exibir atividades da versão do modelo

Para exibir todas as transições solicitadas, aprovadas, pendentes e aplicadas a uma versão do modelo, vá para 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 uma fase de modelo usando a API

Usuário com as permissões apropriadas podem fazer a transição de uma versão do modelo para uma nova fase.

Para atualizar uma fase da versão do modelo para uma nova fase, use o método transition_model_version_stage() da API do Cliente MLflow:

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

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

Usar modelo para inferência

Importante

Esse recurso está em uma versão prévia.

Após um modelo ser registrado no Registro de Modelo de Workspace, você pode gerar automaticamente um notebook para usar o modelo para inferência em lote ou streaming. Como alternativa, você pode criar um ponto de extremidade para usar o modelo para servir em tempo real com o Serviço de Modelo.

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

Importante

O Anaconda Inc. atualizou os termos de serviço dos canais de anaconda.org. Com base nos novos termos de serviço, você poderá precisar de uma licença comercial se depender do empacotamento e da distribuição do Anaconda. Confira Perguntas frequentes sobre a Edição Comercial do Anaconda para obter mais informações. O uso de qualquer canal do Anaconda é regido pelos termos de serviço.

Os modelos de MLflow registrados antes da v1.18 (Databricks Runtime 8.3 ML ou anterior) eram registrados por padrão 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 modelos registrados usando o MLflow v1.18 e superior. O canal padrão registrado agora é conda-forge, o que aponta para a comunidade gerenciada https://conda-forge.org/.

Se você registrou um modelo antes do MLflow v1.18 sem excluir o canal defaults do ambiente conda para o modelo, esse modelo poderá ter uma dependência no canal defaults que talvez você não tenha pretendido. Para confirmar manualmente se um modelo tem essa dependência, você pode examinar o valor channel no arquivo conda.yaml que está empacotado com o modelo registrado. Por exemplo, um conda.yaml de modelo com uma dependência de canal defaults pode ser assim:

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 do 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 uso do repositório do Anaconda.com por meio do Databricks for permitido nos termos do Anaconda, você não precisará tomar nenhuma medida.

Caso você queira alterar o canal usado no ambiente de um modelo, é possível registrar novamente o modelo no Registro de Modelo de Workspace 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 sabor do modelo com o qual você está trabalhando, por exemplo, log_model para scikit-learn.

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

Caixa de diálogo “Configurar a inferência do modelo”

Configurar inferência de lote

Quando você seguir estas etapas para criar um notebook de inferência de lote, o notebook será salvo na pasta Batch-Inference em uma pasta com o nome do modelo. Você pode editar o notebook como necessário.

  1. Clique na guia Inferência de lote.

  2. Na lista suspensa Versão do modelo, selecione a versão do modelo a ser usada. Os primeiros dois itens na lista suspensa são a versão atual de Produção e de Preparo do modelo (se existirem). Quando você seleciona uma dessas opções, o notebook usa automaticamente a versão de Produção ou de Preparo no momento em que é executado. Não é necessário atualizar o notebook enquanto você continua a desenvolver o modelo.

  3. Clique no botão Procurar ao lado de Tabela de entrada. O diálogo Selecionar dados de entrada é exibido. Se necessário, você pode alterar o cluster na lista suspensa Computação.

    Observação

    Para workspaces habilitados para o Catálogo do Unity, o 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 o dado 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 bloco de anotações gerado se os dados exigirem transformações antes de serem inseridos no modelo.

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

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

    Para salvar previsões em um local no Catálogo do Unity, você deve editar o notebook. Para visualizar um notebook de exemplo que mostra como treinar um modelo de machine learning que usa dados no Catálogo do Unity e grava as previsões de volta no Catálogo do Unity, consulte Treinar e registrar modelos de machine learning com o Catálogo do Unity.

Configurar a inferência de streaming usando o Delta Live Tables

Quando você seguir essas etapas para criar um notebook de inferência de streaming, o notebook será salvo na pasta DLT-Inference em uma pasta com o nome do modelo. Você pode editar o notebook como necessário.

  1. Clique na guia Streaming (Delta Live Tables).

  2. Na lista suspensa Versão do modelo, selecione a versão do modelo a ser usada. Os primeiros dois itens na lista suspensa são a versão atual de Produção e de Preparo do modelo (se existirem). Quando você seleciona uma dessas opções, o notebook usa automaticamente a versão de Produção ou de Preparo no momento em que é executado. Não é necessário atualizar o notebook enquanto você continua a desenvolver o modelo.

  3. Clique no botão Procurar ao lado de Tabela de entrada. O diálogo Selecionar dados de entrada é exibido. Se necessário, você pode alterar o cluster na lista suspensa Computação.

    Observação

    Para workspaces habilitados para o Catálogo do Unity, o 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 o dado 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 de PySpark do MLflow para executar previsões de modelo. Você poderá editar o notebook gerado se os dados exigirem transformações adicionais antes ou depois de o modelo ser aplicado.

  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 usa para armazenar as previsões do modelo. Você pode modificar o notebook gerado para personalizar o conjunto de dados de destino conforme necessário, por exemplo: definir uma tabela dinâmica de streaming como saída, adicionar informações de esquema ou restrições de qualidade de dados.

  6. Em seguida, você pode criar um pipeline do Delta Live Tables com esse notebook ou adicioná-lo a um pipeline existente como uma biblioteca de notebooks adicional.

Configurar inferência em tempo real

O Serviço de Modeloexpõe seus modelos de machine learning do MLflow como pontos de extremidade escalonáveis da API REST. Para criar um ponto de extremidade de Model Serving, consulte Criar modelo personalizado que atende pontos de extremidade.

Enviar comentários

Esse recurso está em versão prévia e adoraríamos obter seus comentários. Para fornecer comentários, clique em Provide Feedback na o diálogo Configurar a inferência de modelos.

Comparar versões de modelo

Você pode comparar versões de modelo no Registro de Modelo de workspace.

  1. Na página do modelo registrado, selecione duas ou mais versões de 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, o esquema e as métricas das versões de modelo selecionadas. Na parte inferior da tela, você pode selecionar o tipo de plotagem (dispersão, delimitação ou coordenadas paralelas) e os parâmetros ou as métricas a serem plotadas.

Controlar preferências de notificação

Você pode configurar o Registro de Modelo de Workspace para notificar você por email sobre a atividade em modelos registrados e versões de modelo que você especificar.

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

Menu de notificações por email

  • Todas as novas atividades: Enviar notificações por email sobre todas as atividades em todas as versões de modelo deste modelo. Se você criou o modelo registrado, essa configuração será o padrão.
  • Atividade nas versões que eu seguir: enviar notificações por email apenas sobre as versões de modelo que você seguir. Com essa seleção, você receberá notificações para todas as versões de modelo que você seguir; Você não pode desativar as notificações para uma versão de modelo específica.
  • Desativar notificações: não enviar notificações por email sobre a atividade neste modelo registrado.

Os eventos a seguir disparam uma notificação por email:

  • Criação de uma nova versão de modelo
  • Solicitação de uma transição de estágio
  • Transição de estágio
  • Novos comentários

Você será inscrito automaticamente em notificações de modelo quando fizer um dos seguintes:

  • Comentário sobre essa versão do modelo
  • Faça a transição de estágio de uma versão de modelo
  • Fazer uma solicitação de transição para o estágio do modelo

Para ver se você está seguindo uma versão de modelo, examine o campo Status do Seguimento na página versão do modelo ou na tabela de versões do modelo na página modelo registrado.

Desativar todas as notificações por email

Você pode desativar notificações por e-mail na guia Configurações do Registro de Modelo de Workspace do menu Configurações do usuário:

  1. Clique no nome de usuário no canto superior do workspace do Azure Databricks e selecione Configurações no menu suspenso.
  2. Na barra lateral Configurações, selecione Notificações.
  3. Desative as Notificações por email do registro de modelo.

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

Número máximo de emails enviados

O Registro de Modelo de Workspace limita o número de emails enviados a cada usuário por dia por atividade. Por exemplo, se você receber 20 emails em um dia sobre novas versões de modelo criadas para um modelo registrado, o Registro de Modelo de Workspace enviará um email indicando 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 emails permitidos, contate a equipe da sua conta do Azure Databricks.

Webhooks

Importante

Esse recurso está em uma versão prévia.

Os Webhooks permitem que você escute eventos do Registro de Modelo de Workspace para que suas integrações possam disparar ações automaticamente. Você pode usar webhooks para automatizar e integrar seu pipeline do Machine Learning com ferramentas e fluxos de trabalho existentes de CI/CD. Por exemplo, você pode disparar compilações de CI quando uma nova versão de modelo for criada ou notificar os membros da equipe por meio da margem de atraso sempre que uma transição de modelo para a produção for solicitada.

Anotação de modelo ou versão do modelo

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

Anotar um modelo ou uma versão do modelo usando a interface do usuário

A interface do usuário do Azure 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 marcas de chave-valor pesquisáveis. As descrições estão disponíveis para modelos e versões de modelo. Os comentários estão disponíveis apenas para as versões de modelo.

  • As descrições destinam-se a fornecer informações sobre o modelo.
  • Os comentários fornecem um modo de manter uma discussão contínua sobre as atividades em uma versão do modelo.
  • As marcas permitem personalizar os metadados do modelo para facilitar a encontrar modelos específicos.

Adicionar ou atualizar a descrição do modelo ou da versão do modelo

  1. Na página modelo registrado ou versão do modelo, clique em Editar ao lado de Descrição. Uma janela de edição é exibida.

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

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

    Se você inseriu a descrição de uma versão do modelo, essa descrição será exibida na coluna Descrição da tabela, na Página do Modelo Registrado. A coluna exibe, no máximo, 32 caracteres ou uma linha de texto, o que for menor.

Adicionar comentários para uma versão do modelo

  1. Role a tela para baixo na página versão do modelo e clique na seta para baixo ao lado de Atividades.
  2. Digite seu comentário na janela Editar e clique em Adicionar Comentário.

Adicionar marcas para uma versão de modelo ou modelo

  1. Na página do modelo registrado ou da versão do modelo, clique em ícone de marca se ele ainda não estiver aberto. A tabela de marcas será exibida.

    tabela de marcas

  2. Clique nos campos Nome e Valor e digite a chave e o valor da sua marca.

  3. Clique em Adicionar.

    adicionar marca

Editar ou excluir marcas para uma versão de modelo ou modelo

Para editar ou excluir uma marca existente, use os ícones da coluna Ações.

ações de marca

Anotar uma versão do modelo usando a API

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

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

Para definir ou atualizar uma marca de um modelo registrado ou de uma versão de modelo, use o método set_registered_model_tag() ou set_model_version_tag() 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 rename_registered_model() da API do Cliente MLflow:

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

Observação

Você poderá renomear um modelo registrado somente se ele não tiver versões ou se todas as versões estiverem na fase Nenhuma ou Arquivadas.

Pesquisar por um modelo

É possível procurar modelos no Registro de Modelo de Workspace usando a interface do usuário ou a API.

Observação

Ao pesquisar um modelo, somente os modelos para os quais você tem no mínimo permissões PODE LER são retornados.

Pesquisar por um modelo usando a interface do usuário

Para exibir todos os modelos registrados, clique no Ícone ModelosModelos na barra lateral.

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

Pesquisa de modelos registrados

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

Pesquisa baseada em marca

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

Pesquisa baseada em marca e nome

Pesquisar por um modelo usando a API

Você pode pesquisar por modelos registrados no Registro de Modelo de Workspace com o método search_registered_models() da API de Cliente do MLflow

Se houver marcas definidas nos modelos, você também poderá pesquisar por essas marcas 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 por um nome de modelo específico e listar os detalhes da sua versão usando o método search_model_versions() da API do Cliente MLflow:

from pprint import pprint

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

Isso gera a saída:

{   '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 uma versão do modelo

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

Excluir um modelo ou uma versão do modelo usando a interface do usuário

Aviso

Você não pode desfazer essa ação. Você pode fazer a transição de uma versão do modelo para a fase Arquivada, em vez de excluí-la do registro. Ao excluir um modelo, todos os artefatos do modelo armazenados pelo Registro de Modelo de Workspace e todos os metadados associados ao modelo registrado serão excluídos.

Observação

Você só pode excluir modelos e versões de modelos nas fases Nenhuma ou Arquivada. Se um modelo registrado tiver versões na fase de Processo de preparo ou Produção, você deverá fazer a transição para a fase Nenhuma ou Arquivada antes de excluir o modelo.

Para excluir uma versão do modelo:

  1. Clique em Ícone de ModelosModelos na barra lateral.
  2. Clique no nome de um modelo.
  3. Clique em uma versão do modelo.
  4. Clique em Excluir versão do modelo no canto superior direito da tela e selecione Excluir no menu suspenso.

Para excluir um modelo:

  1. Clique em Ícone de ModelosModelos na barra lateral.
  2. Clique no nome de um modelo.
  3. Clique em Excluir modelo no canto superior direito da tela e selecione Excluir no menu suspenso.

Excluir um modelo ou uma versão do modelo usando a API

Aviso

Você não pode desfazer essa ação. Você pode fazer a transição de uma versão do modelo para a fase Arquivada, em vez de excluí-la do registro. Ao excluir um modelo, todos os artefatos do modelo armazenados pelo Registro de Modelo de Workspace e todos os metadados associados ao modelo registrado serão excluídos.

Observação

Você só pode excluir modelos e versões de modelos nas fases Nenhuma ou Arquivada. Se um modelo registrado tiver versões na fase de Processo de preparo ou Produção, você deverá fazer a transição para a fase Nenhuma ou Arquivada antes de excluir o modelo.

Excluir uma versão do modelo

Para excluir uma versão do modelo, use o método delete_model_version() da API do Cliente MLflow:

# 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 delete_registered_model() da API do Cliente MLflow:

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

Compartilhar modelos entre espaços de trabalho

A Databricks recomenda o uso de Modelos no Catálogo do Unity para compartilhar modelos entre espaços de trabalho. O Catálogo do Unity fornece suporte pronto para uso em log de auditoria, governança e acesso a modelos entre workspaces.

No entanto, se estiver usando o registro de modelo de workspace, você também poderá compartilhar modelos em vários workspaces com alguma configuração. Por exemplo, você poderá desenvolver e registrar um modelo em seu workspace e poderá acessá-lo de outro workspace usando um registro de modelo remoto. Isso é útil quando várias equipes compartilham o acesso aos modelos. Você poderá criar vários workspaces e usar e gerenciar os modelos entre esses ambientes.

Copiar objetos MLflow entre workspaces

Para importar ou exportar objetos MLflow de um workspace do Azure Databricks, é possível usar o projeto de software livre orientado à comunidade MLflow Export-Import que migra experimentos, modelos e execuções do MLflow entre workspaces.

Com essas ferramentas, você pode:

  • Compartilhe e colabore com outros cientistas de dados no mesmo servidor de rastreamento ou em outro. Por exemplo, é possível clonar um experimento de outro usuário em seu workspace.
  • Copie um modelo de um workspace para outro, por exemplo, de um workspace de desenvolvimento para um de produção.
  • Copie os experimentos e execuções do MLflow do servidor de acompanhamento local para o workspace do Databricks.
  • Faça backup de experimentos e modelos críticos para outro workspace do Databricks.

Exemplo

Esse exemplo ilustra como usar o Registro de Modelo de Workspace a fim de criar um aplicativo de machine learning.

Exemplo de Registro de Modelos do Workspace