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
No workspace, identifique a execução do MLflow que contém o modelo que você deseja registrar.
Clique no ícone Experimento na barra lateral direita do notebook.
Na barra lateral Execuções do Experimento, clique no ícone 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.
Na seção Artefatos, clique no diretório chamado modelo xxx.
Clique no botão Registrar Modelo, na extrema direita.
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.
- Selecione Criar Modelo no menu suspenso. O campo Nome do Modelo é exibido. Insira um nome de modelo, por exemplo
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.
- Se você tiver selecionado Criar Novo Modelo, isso registrará um modelo chamado
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 Modelos 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:
Na página Modelos Registrados, clique em Criar Modelo. Insira um Nome para o modelo e clique em Criar.
Siga as etapas 1 a 3 em Registrar um modelo registrado existente de um notebook.
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 objetoModelVersion
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 argumentomlruns: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 objetoModelVersion
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á umMLflowException
.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
Exibir modelos na interface do usuário
Página de modelos registrados
A página de modelos registrados é exibida quando você clica em Modelos 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.
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:
- Configurar o Serviço de Modelo.
- Gerar automaticamente um notebook para usar o modelo para inferência.
- Configurar notificações por email.
- Comparar versões de modelo.
- Definir permissões para o modelo.
- Excluir um modelo.
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:
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.
Na barra lateral, clique em Modelos.
Selecione um nome de modelo.
Clique em Permissões. A caixa de diálogo Configurações de Permissão é aberta
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.
Selecione uma permissão na lista suspensa de permissões.
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.
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.
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:
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 . 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.
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.
Clique na guia Inferência de lote.
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.
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>
.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.
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 ver um notebook de exemplo que mostra como treinar um modelo de machine learning que usa dados no Catálogo do Unity e gravar os resultados de volta no Catálogo do Unity, consulte Tutorial de Machine Learning.
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.
Clique na guia Streaming (Delta Live Tables).
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.
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>
.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.
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.
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.
- 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.
- Clique em Comparar.
- 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:
- 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:
- Clique no nome de usuário no canto superior do workspace do Azure Databricks e selecione Configurações no menu suspenso.
- Na barra lateral Configurações, selecione Notificações.
- 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
Na página modelo registrado ou versão do modelo, clique em Editar ao lado de Descrição. Uma janela de edição é exibida.
Insira ou edite a descrição na janela de edição.
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
- Role a tela para baixo na página versão do modelo e clique na seta para baixo ao lado de Atividades.
- Digite seu comentário na janela Editar e clique em Adicionar Comentário.
Adicionar marcas para uma versão de modelo ou modelo
Na página do modelo registrado ou da versão do modelo, clique em se ele ainda não estiver aberto. A tabela de marcas será exibida.
Clique nos campos Nome e Valor e digite a chave e o valor da sua marca.
Clique em Adicionar.
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.
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 os modelos registrados, clique em Modelos 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:
Você também pode pesquisar nas marcas. Insira marcas neste formato: tags.<key>=<value>
. Para pesquisar várias marcas, use o operador AND
.
Você pode pesquisar o nome do modelo e as marcas usando a sintaxe de pesquisa do MLflow. Por exemplo:
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:
- Clique em Modelos na barra lateral.
- Clique no nome de um modelo.
- Clique em uma versão do modelo.
- Clique em no canto superior direito da tela e selecione Excluir no menu suspenso.
Para excluir um modelo:
- Clique em Modelos na barra lateral.
- Clique no nome de um modelo.
- Clique em 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.