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 espaço de trabalho estiver habilitado para Unity Catalog, não use os procedimentos nesta página. Em vez disso, confira Modelos do Catalog do Unity.

Para obter diretrizes sobre como atualizar do Registro de Modelo do Workspace para o Unity Catalog, consulte Migrar fluxos de trabalho e modelos para o Unity Catalog.

Se o padrão do seu workspace catalog estiver no Catalog 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 do padrão do workspace catalog, 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 workspaces where, onde o catalog padrão foi configurado para um catalog no Unity Catalog antes de janeiro de 2024 e onde o registro de modelo de workspace foi usado antes de janeiro de 2024, estão isentos desse comportamento e continuam a usar o Registro de Modelo de Workspace 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 Registro de Modelo de Workspace, confira MLflow para agente de IA generativa e ciclo de vida do modelo de ML.

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. Esta página mostra detalhes da execução, incluindo parameters, métricas, rótulos e list 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:

    • Select Criar modelo no menu suspenso. O campo Nome do Modelo é exibido. Insira um nome de modelo, por exemplo scikit-learn-power-forecasting.
    • Select 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.

    Select 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. Também é possível encontrar o modelo no Registro de Modelo de Workspace clicando em Í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, select 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 select o modelo no menu suspenso Modelo, na caixa de diálogo Registrar Modelo da página listExecuçõ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 que você ajuste sua estratégia de retenção e registro do modelo para permanecer sob limit. 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

Get 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 nesta página, os administradores da área de trabalho podem set permissões para todos os modelos no Registro de Modelos 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 do modelo registrado mostra informações sobre o modelo selecionado e uma table 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 Última Versãocolumn da página de modelos registrados.
  • Clique em um nome de versão na seção Versãocolumn da 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. Você não pode set permissões para versões do modelo.

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

  2. Select é 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, select o usuário, grupo ou entidade de serviço de Select... a lista suspensa e select um usuário, grupo ou entidade de serviço.

    Alterar permissões de modelo do MLflow

  5. Select uma permissão do menu suspenso de permissões.

  6. Clique em Adicionar e clique em Salvar.

Administradores e usuários do workspace com permissão CAN MANAGE em nível de registro podem set os 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 o list de estágios de modelo disponíveis e as opções existentes, em uma página de versão do modelo, clique no menu suspenso ao lado de Estágio: e solicite ou select uma transição para outro estágio.

    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 update um estágio de versão do modelo para um novo estágio, use o método transition_model_version_stage() da API do Cliente do MLflow:

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

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

Usar modelo para inferência

Importante

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

Depois que um modelo é registrado no Registro de Modelos do Workspace, você pode generate automaticamente um notebook a fim de utilizar 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. No menu suspenso Versão do Model, select 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ê select uma dessas opções, o notebook usa automaticamente a versão de produção ou de homologação no momento em que é executado. Você não precisa update o notebook enquanto continua desenvolvendo o modelo.

  3. Clique no botão Procurar, ao lado da Entrada table. A caixa de diálogo de dados de entrada Select é exibida. Se necessário, você pode alterar o cluster na lista suspensa Computação.

    Observação

    Para workspaces habilitados para o Catalog do Unity, o diálogo Select dados de entrada permite que você select dentre três níveis, <catalog-name>.<database-name>.<table-name>.

  4. Select o table que contém os dados de entrada do modelo e clique em Select. 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 where as previsões forem salvas digitando um novo nome de pasta no table local campo ou clicando no ícone de pasta para procurar o diretório e select outra pasta.

    Para salvar previsões em um local no Unity Catalog, você deve editar o bloco de anotações. Para obter um notebook de exemplo que mostra como treinar um modelo de aprendizado de máquina que utiliza dados no Unity Catalog e grava os resultados no Unity Catalog, consulte o Tutorial de aprendizado de máquina.

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 (Tables Dinâmicas do Delta).

  2. No menu suspenso Versão do Model, select 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ê select uma dessas opções, o notebook usa automaticamente a versão de produção ou de homologação no momento em que é executado. Você não precisa update o notebook enquanto continua desenvolvendo o modelo.

  3. Clique no botão Procurar, ao lado da Entrada table. A caixa de diálogo de dados de entrada Select é exibida. Se necessário, você pode alterar o cluster na lista suspensa Computação.

    Observação

    Para workspaces habilitados para o Catalog do Unity, o diálogo Select dados de entrada permite que você select dentre três níveis, <catalog-name>.<database-name>.<table-name>.

  4. Select o table que contém os dados de entrada do modelo e clique em Select. O notebook gerado cria uma transformação de dados que utiliza table como fonte de entrada e integra a UDF de inferência do PySpark do MLflow para realizar previsões com o 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 de saída das Table Dinâmicas do Delta. O notebook cria uma table dinâmica com o nome fornecido e o 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 transmissão ao vivo table como saída, adicionar informações schema ou restrições de qualidade de dados.

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

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 get 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, select 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 de comparação das versões <N> é exibida, mostrando um table que compara os componentes parameters, schema e as métricas das versões do modelo selecionado. Na parte inferior da tela, você pode select o tipo de gráfico (de dispersão, de contorno ou de coordenadas paralelas) e o parameters 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 do modelo, examine o campo Status de Seguimento na página da versão do modelo, ou na table de versões de modelo na página do 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 seu nome de usuário no canto superior direito do workspace do Azure Databricks e selecione selectConfigurações no menu suspenso.
  2. Na barra lateral de Configurações, selectNotificaçõ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 Modelos do Workspace enviará um email informando que o limite diário de limit foi atingido e que nenhum email adicional sobre esse evento será enviado até o dia seguinte.

Para aumentar a limit do número de emails permitidos, entre em contato com sua equipe de 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 update a descrição de um modelo ou versão de modelo

  1. Na página modelo registrado ou versão do modelo, clique em Editar ao lado de Descrição. Aparece uma edição window.

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

  3. Clique em Salvar para salvar as alterações ou Cancelar para fechar o window.

    Se você inseriu a descrição de uma versão do modelo, ela aparecerá no campo Descrição column em table, na Página do modelo registrado. O column 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 edição window 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. Os rótulos table aparecem.

    rótulo table

  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 etiqueta existente, use os ícones no Actionscolumn.

ações de marca

Anotar uma versão do modelo usando a API

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

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

Para set ou update um rótulo para um modelo registrado ou uma versão do modelo, use a API do Cliente do MLflow método set_registered_model_tag() ou o método set_model_version_tag():

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 os modelos registrados, clique em Í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 você tiver set rótulos em seus modelos, também poderá pesquisar por esses rótulos 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 list seus detalhes de versão usando o método search_model_versions() da API do Cliente do 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 no menu kebab Menu Kebab no canto superior direito da tela e selectExclua do menu suspenso.

Para excluir um modelo:

  1. Clique em Ícone de ModelosModelos na barra lateral.
  2. Clique no nome de um modelo.
  3. Clique no menu kebab Menu Kebab no canto superior direito da tela e selectExclua do 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

O Databricks recomenda usar modelos no Unity Catalog para compartilhar modelos entre workspaces. O Catalog do Unity fornece suporte imediato para acesso de modelos entre diferentes workspaces, governança e log de auditoria.

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