Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Esta documentação aborda o Registro de Modelo do Workspace. Se o workspace estiver habilitado para o Unity Catalog, não use os procedimentos nesta página. Em vez disso, consulte 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 workspace 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 ou usando o MLflow 3, os modelos serão criados e carregados automaticamente no catálogo padrão do workspace, sem a 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, nos quais o catálogo padrão foi configurado para um catálogo no Unity Catalog antes de janeiro de 2024 e o Workspace Model Registry foi usado antes de janeiro de 2024, está isento desse comportamento e continua a usar o Workspace Model Registry 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 continua a ter suporte no MLflow 3, bem como no MLflow 2.x. Com o MLflow 3, o URI do Registro padrão é databricks-uc, o que significa que o Registro de Modelo do MLflow no Catálogo do Unity será usado. Para usar o Registro de Modelo da Área de Trabalho, você deve chamar mlflow.set_registry_uri("databricks"). Para obter mais detalhes, consulte Registro de modelo.
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 Modelos do Workspace, consulte MLflow para o ciclo de vida de modelos 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
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 bloco de anotações.
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. Esta página mostra detalhes da execução, incluindo parâmetros, métricas, marcas 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 Novo Modelo no menu de opções. 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 Novo Modelo no menu de opções. 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 criado 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 na 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á umModelVersionobjeto 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á umModelVersionobjeto 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 que você ajuste sua estratégia de registro e retenção 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 nesta página, os administradores do 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 do 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 Model Serving.
- Gere automaticamente um notebook para usar o modelo para inferência.
- Configurar notificações por email.
- Comparar versões de modelo.
- Defina 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 Versão Mais Recente na página de modelos registrados.
- Clique em um nome de versão na coluna Versão na página do modelo registrado.
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 abrangente do registro podem definir níveis de permissão em todos os modelos do 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 do estágio de um modelo.
Para exibir a lista de estágios do modelo disponíveis e suas opções, em uma página de versão do modelo, clique na lista suspensa ao lado Estágio: e solicite ou selecione uma transição para outro estágio.
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 um estágio de versão do modelo para um novo estágio, use o método de API transition_model_version_stage() do Cliente MLflow:
client = MlflowClient()
client.transition_model_version_stage(
name="<model-name>",
version=<model-version>,
stage="<stage>",
description="<description>"
)
Os valores aceitos são <stage> : "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 gerar automaticamente um notebook para usar o modelo para inferência em lote ou em 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á exigir uma licença comercial se depender do empacotamento e distribuição da 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 modelo conda.yaml com dependência de canal defaults pode ter esta aparência:
channels:
- defaults
dependencies:
- python=3.8.8
- pip
- pip:
- mlflow
- scikit-learn==0.23.2
- cloudpickle==1.6.0
name: mlflow-env
Como o Databricks não pode determinar se o uso do repositório 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 Anaconda.com por meio do uso do Databricks for permitido nos termos da Anaconda, você não precisará executar nenhuma ação.
Se você quiser alterar o canal usado no ambiente de um modelo, poderá registrar novamente o modelo no registro de modelo do 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ê segue estas etapas para criar um notebook de inferência em lote, o notebook é salvo na pasta do usuário sob a 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.
No menu suspenso 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 Produção ou Preparo a partir do momento em que é executado. Você não precisa atualizar o notebook enquanto continua desenvolvendo o modelo.
Clique no botão Procurar ao lado de tabela de entrada. A caixa de diálogo Selecionar dados de entrada é exibida. Se necessário, você pode alterar o cluster na lista suspensa Computação.
Observação
Para workspaces com o Catálogo do Unity habilitado, a janela de 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 os dados de entrada do 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 em que 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 bloco de anotações. Para obter 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 o tutorial de machine learning.
Configurar a inferência de streaming usando o Lakeflow Spark Declarative Pipelines
Quando você segue estas etapas para criar um notebook de inferência de streaming, o notebook é salvo na sua pasta de usuário dentro da pasta DLT-Inference, em uma subpasta com o nome do modelo. Você pode editar o notebook como necessário.
Clique na guia Streaming (Pipelines Declarativos do Lakeflow Spark).
No menu suspenso 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 Produção ou Preparo a partir do momento em que é executado. Você não precisa atualizar o notebook enquanto continua desenvolvendo o modelo.
Clique no botão Procurar ao lado de tabela de entrada. A caixa de diálogo Selecionar dados de entrada é exibida. Se necessário, você pode alterar o cluster na lista suspensa Computação.
Observação
Para workspaces com o Catálogo do Unity habilitado, a janela de 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 os dados de entrada do modelo e clique em Selecionar. O notebook gerado cria uma transformação de dados que usa a tabela de entrada como fonte e integra o UDF de inferência do PySpark do MLflow para realizar 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 de saída das Pipelines Declarativas Lakeflow Spark. O notebook cria uma tabela em tempo real com o nome fornecido e utiliza a tabela 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 ao vivo de streaming como saída, adicionar informações de esquema ou restrições de qualidade de dados.
Em seguida, você pode criar um novo pipeline com este notebook ou adicioná-lo a um pipeline existente como uma biblioteca de notebook 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 receber 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 gráfico (dispersão, contorno ou coordenadas paralelas) e os parâmetros ou métricas a serem plotado.
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
- Alterar o estágio da versão de um 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 Seguir Status na página de versão do modelo ou na tabela de versões do 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:
- Clique no seu nome de usuário no canto superior direito 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 observando 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, entre em contato com sua equipe de conta do Azure Databricks.
Ganchos da Web
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 de um modelo ou versão de 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 uma descrição de uma versão do modelo, a descrição será exibida na coluna Descrição na 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 de edição 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 tags aparece.
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 para um modelo ou versão de modelo registrado, use a API do Cliente MLflow (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
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 modelos registrados no Registro de Modelo de Workspace com o método MLflow search_registered_models().
Se você tiver definido tags em seus modelos, também poderá pesquisar por essas tags com search_registered_models().
import mlflow
from pprint import pprint
print(f"Find registered models with a specific tag value")
for m in mlflow.search_registered_models(f"tags.`<key-value>`='<tag-value>'"):
pprint(dict(m), indent=4)
Você também pode pesquisar um nome de modelo específico e listar seus detalhes de versão usando o método MLflow search_model_versions( ):
import mlflow
from pprint import pprint
[pprint(mv) for mv in mlflow.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 no ícone do
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 no ícone do
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. Unity Catalog fornece suporte pronto para uso para acesso a modelos entre diferentes workspaces, além de governança e registro 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.