Gerenciar o ciclo de vida do modelo usando o Registro de Modelo de Espaço de Trabalho (legado)

Importante

Esta documentação abrange o Registro do Modelo de Espaço de Trabalho. Se seu espaço de trabalho estiver habilitado para o Catálogo Unity, não use os procedimentos nesta página. Em vez disso, consulte Modelos no catálogo Unity.

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

Se o catálogo padrão do seu espaço de trabalho estiver no Unity Catalog (em vez de hive_metastore) e você estiver executando um cluster usando o Databricks Runtime 13.3 LTS ou superior, os modelos serão criados e carregados automaticamente a partir do catálogo padrão do espaço de trabalho, sem necessidade de configuração. Para usar o Registro de Modelo de Espaço de Trabalho nesse caso, você deve direcioná-lo explicitamente executando import mlflow; mlflow.set_registry_uri("databricks") no início da 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 Unity Catalog antes de janeiro de 2024 e o registro do modelo de espaço de trabalho foi usado antes de janeiro de 2024 estão isentos desse comportamento e continuam a usar o Registro do Modelo de Espaço de Trabalho por padrão.

Este artigo descreve como usar o Registro de Modelo de Espaço de Trabalho como parte do fluxo de trabalho de aprendizado de máquina para gerenciar o ciclo de vida completo dos modelos de ML. O Registro do Modelo de Espaço de Trabalho é uma versão hospedada fornecida pelo Databricks do Registro do Modelo MLflow.

O Registro de Modelo de Espaço de Trabalho fornece:

  • Linhagem de modelo cronológico (que o experimento MLflow e executa produziu o modelo em um determinado momento).
  • Porção modelo.
  • Controle de versão do modelo.
  • Transições de estágio (por exemplo, do preparo para a produção ou arquivado).
  • Webhooks para que você possa acionar automaticamente ações com base em eventos do registro.
  • Notificações por e-mail de eventos do modelo.

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

Este artigo inclui instruções para a interface do usuário do Registro do Modelo de Espaço de Trabalho e para a API do Registro do Modelo de Espaço de Trabalho.

Para obter uma visão geral dos conceitos do Registro do Modelo de Espaço de Trabalho, consulte Gerenciamento do ciclo de vida do ML usando MLflow.

Criar ou registar um modelo

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

Criar ou registar um modelo com a IU

Há duas maneiras de registrar um modelo no Registro de Modelo de Espaço de Trabalho. Pode registar um modelo existente que tenha sido registado no MLflow ou criar e registar um novo modelo vazio e, em seguida, atribuir-lhe um modelo registado anteriormente.

Registar um modelo registado existente a partir de um bloco de notas

  1. Na Área de Trabalho, identifique a execução do MLflow que contém o modelo que quer registar.

    1. Clique no ícone Ícone de experiência Experiência na barra lateral direita do bloco de notas.

      Barra de ferramentas do bloco de notas

    2. Na barra lateral Experiment Runs, clique no Link externo ícone ao lado da data da execução. É apresentada a página Execução de MLflow. Esta página apresenta todos os detalhes da execução, incluindo parâmetros, métricas, etiquetas e lista de artefactos.

  2. Na secção Artefactos, clique no diretório xxx-model.

    Registar o modelo

  3. Clique no botão Registar Modelo na parte mais à direita.

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

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

    Criar novo modelo

  5. Clique em Registar.

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

    Após alguns momentos, o botão Registrar modelo muda para um link para a nova versão do modelo registrado.

    Selecionar modelo recentemente criado

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

Criar um novo modelo registado e atribuir-lhe um modelo registado

Pode utilizar o botão Criar Modelo na página de modelos registados para criar um novo modelo vazio e, em seguida, atribuir-lhe um modelo registado. Siga estes passos:

  1. Na página de modelos registados, clique em Criar Modelo. Introduza um nome para o modelo e clique em Criar.

  2. Siga os passos 1 a 3 em Registar um modelo registado existente a partir de um bloco de notas.

  3. Na caixa de diálogo Registar Modelo, selecione o nome do modelo que criou no Passo 1 e clique em Registar. Isso registra um modelo com o nome que você criou, copia o modelo em um local seguro gerenciado pelo Registro do Modelo de Espaço de Trabalho e cria uma versão do modelo: Version 1.

    Após alguns instantes, a IU de Execução do MLflow substitui o botão Registar Modelo por uma ligação para a nova versão do modelo registado. Agora, pode selecionar o modelo na lista pendente Modelo na caixa de diálogo Registar Modelo da página Execuções da Experimentação. Também pode registar as novas versões do modelo ao especificar o respetivo nome em comandos da API, como Create ModelVersion.

Registrar um modelo usando a API

Há três maneiras programáticas de registrar um modelo no Registro de Modelo de Espaço de Trabalho. Todos os métodos copiam o modelo em um local seguro gerenciado pelo Registro do Modelo de Espaço de Trabalho.

  • Para registar um modelo com o nome especificado durante uma experimentação do MLflow, utilize o método mlflow.<model-flavor>.log_model(...). Se um modelo registado com o nome não existir, o método irá registar um novo modelo, criar a Versão 1 e devolver um objeto do MLflow ModelVersion. Se um modelo registado com o nome já existir, o método cria uma nova versão do modelo e devolve o objeto da 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 registar um modelo com o nome especificado depois de todas as execuções de experimentação terem sido concluídas e tiver decidido qual o modelo mais adequado para adicionar ao registo, utilize o método mlflow.register_model(). Para este método, precisa do ID de execução para o argumento mlruns:URI. Se um modelo registado com o nome não existir, o método irá registar um novo modelo, criar a Versão 1 e devolver um objeto do MLflow ModelVersion. Se um modelo registado com o nome já existir, o método cria uma nova versão do modelo e devolve o objeto da versão.

    result=mlflow.register_model("runs:<model-path>", "<model-name>")
    
  • Para criar um novo modelo registado com o nome especificado, utilize o método create_registered_model() da API do Cliente do MLflow. Se o nome do modelo existir, este método gera uma MLflowException.

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

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

Limites de quota

A partir de maio de 2024 para todos os espaços de trabalho do Databricks, o Registro do Modelo de 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. Consulte Limites de recursos. Se você exceder as cotas do Registro, o Databricks recomenda que você exclua modelos registrados e versões de modelo que não são mais necessárias. A Databricks também recomenda que você ajuste seu modelo de registro e estratégia de retenção para permanecer abaixo do limite. Se você precisar de um aumento nos limites do seu espaço de trabalho, entre em contato com sua equipe de conta do Databricks.

O bloco de anotações a seguir ilustra como inventariar e excluir suas entidades de registro modelo.

Bloco de anotações de entidades de registro do modelo de espaço de trabalho de inventário

Obter o bloco de notas

Exibir modelos na interface do usuário

Página de modelos registados

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

Você pode criar um novo modelo a partir desta página.

Também nesta página, os administradores de espaço de trabalho podem definir permissões para todos os modelos no Registro de Modelo de Espaço de Trabalho.

Modelos registados

Página do modelo registado

Para exibir 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. Nesta página, você também pode:

Modelo registado

Página da versão do modelo

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

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

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

Versão do modelo

Controlar o acesso aos modelos

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

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

  2. Selecione um nome de modelo.

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

    Botão Permissões de modelo

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

    Alterar permissões do modelo MLflow

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

  6. Clique em Adicionar e clique em Salvar.

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

Transição de um estágio de modelo

Uma versão do modelo tem uma das seguintes etapas: Nenhuma, Preparação, Produção ou Arquivada. A fase Teste destina-se ao teste e validação de modelos, enquanto que a fase Produção destina-se a versões de modelos que concluíram os processos de teste ou análise e foram implementados em aplicações para classificação em direto. Uma versão de modelo Arquivada é considerada inativa, ponto em que pode considerar eliminá-la. Versões diferentes de um modelo podem estar em fases diferentes.

Um utilizador com a permissão adequada pode fazer a transição de uma versão de modelo entre fases. Se tiver permissão para fazer a transição de uma versão de modelo para uma fase específica, pode realizar a transição diretamente. Se não tiver permissão, pode solicitar uma transição de fase e um utilizador com permissão para fazer a transição de versões de modelos pode aprovar, rejeitar ou cancelar o pedido.

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

Fazer a transição de uma fase do modelo com a IU

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

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

    Opções de transição de fase

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

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

Após o teste e a validação, pode fazer a transição ou solicitar uma transição para a fase Produção.

O Registro do Modelo de Espaço de Trabalho permite mais de uma versão do modelo registrado em cada estágio. Se quiser ter apenas uma versão em Produção, pode fazer a transição de todas as versões do modelo atualmente em Produção para Arquivada ao selecionar Fazer a transição das versões de modelos de Produção existentes para Arquivada.

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

Um utilizador sem permissão de transição de fase pode solicitar uma transição de fase. O pedido é apresentado na secção Pedidos Pendentes na página da versão do modelo:

Transição para produção

Para aprovar, rejeitar ou cancelar um pedido de transição de fase, clique na ligação Aprovar, Rejeitar ou Cancelar.

O criador de um pedido de transição também pode cancelar o pedido.

Ver as atividades da versão do modelo

Para ver todas as transições solicitadas, aprovadas, pendentes e aplicadas a uma versão de modelo, vá para a secção Atividades. Este registo de atividades fornece uma linhagem do ciclo de vida do modelo para auditoria ou inspeção.

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

Os utilizadores com as permissões adequadas podem fazer a transição de uma versão de modelo para uma nova fase.

Para atualizar uma fase da versão do modelo para uma nova fase, utilize 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 valores aceites para <stage> são: "Staging"|"staging", "Archived"|"archived", "Production"|"production" e "None"|"none".

Use o modelo para inferência

Importante

Esta funcionalidade está em Pré-visualização Pública.

Depois que um modelo é registrado no Registro de Modelo de Espaço de Trabalho, você pode gerar automaticamente um bloco de anotações 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 serviço em tempo real com o Model Serving.

No canto superior direito da página do modelo registrado ou da página da versão do modelo, clique emusar o botão 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

atualizou seus termos de serviço para anaconda.org canais. Com base nos novos termos de serviço, você pode precisar de uma licença comercial se depender da embalagem e distribuição da Anaconda. Consulte Anaconda Commercial Edition FAQ para obter mais informações. Seu uso de qualquer canal Anaconda é regido por seus termos de serviço.

Os modelos MLflow registrados antes da v1.18 (Databricks Runtime 8.3 ML ou anterior) eram, por padrão, registrados com o canal conda defaults (https://repo.anaconda.com/pkgs/) como dependência. Devido a essa alteração de licença, o Databricks interrompeu o defaults uso do canal para modelos registrados usando 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 defaults canal do ambiente conda para o modelo, esse modelo pode ter uma dependência do defaults canal que você pode não ter pretendido. Para confirmar manualmente se um modelo tem essa dependência, você pode examinar channel o valor no arquivo que é empacotado conda.yaml com o modelo registrado. Por exemplo, um modelo com uma dependência de conda.yaml canal pode ter esta defaults 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 a Databricks não pode determinar se seu uso do repositório Anaconda para interagir com seus modelos é permitido sob seu relacionamento com a Anaconda, a Databricks não está forçando seus clientes a fazer alterações. Se o seu uso do repositório de Anaconda.com através do uso do Databricks for permitido sob os termos da Anaconda, você não precisará tomar nenhuma ação.

Se desejar alterar o canal usado no ambiente de um modelo, você pode registrar novamente o modelo no registro do modelo de espaço de trabalho com um novo conda.yamlarquivo . Você pode fazer isso especificando o conda_env canal no parâmetro de log_model().

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

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

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

Configurar inferência em lote

Quando você segue estas etapas para criar um bloco de anotações de inferência em lote, o bloco de anotações é salvo na pasta do usuário na Batch-Inference pasta em uma pasta com o nome do modelo. Você pode editar o bloco de anotações conforme necessário.

  1. Clique na guia Inferência em lote.

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

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

    Nota

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

  4. Selecione a tabela que contém os dados de entrada para o modelo e clique em Selecionar. O notebook gerado importa automaticamente esses dados e os envia para o modelo. Você pode editar o 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 do modelo. Cada execução do bloco de anotações 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 bloco de anotações; As instruções são fornecidas no caderno gerado.

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

    Para salvar previsões em um local no Catálogo Unity, você deve editar o bloco de anotações. Para obter um bloco de anotações de exemplo que mostra como treinar um modelo de aprendizado de máquina que usa dados no Unity Catalog e gravar os resultados no Unity Catalog, consulte Treinar e registrar modelos de aprendizado de máquina com o Unity Catalog.

Configurar a inferência de streaming usando Delta Live Tables

Quando você segue estas etapas para criar um bloco de anotações de inferência de streaming, o bloco de anotações é salvo na pasta do usuário sob a DLT-Inference pasta em uma pasta com o nome do modelo. Você pode editar o bloco de anotações conforme necessário.

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

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

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

    Nota

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

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

  5. Forneça o nome da tabela dinâmica delta de saída. O bloco de anotações cria uma tabela dinâmica com o nome fornecido e a usa para armazenar as previsões do modelo. Você pode modificar o bloco de anotações 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.

  6. Em seguida, você pode criar um novo pipeline Delta Live Tables com este bloco de anotações ou adicioná-lo a um pipeline existente como uma biblioteca de bloco de anotações adicional.

Configurar inferência em tempo real

O Model Serving expõe seus modelos de aprendizado de máquina MLflow como pontos de extremidade de API REST escaláveis. Para criar um ponto de extremidade de serviço de modelo, consulte Criar ponto de extremidade de serviço de modelo personalizado.

Enviar comentários

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

Comparar versões de modelos

Você pode comparar versões de modelo no Registro de Modelo de Espaço de Trabalho.

  1. Na página do modelo registrado, selecione duas ou mais versões do modelo clicando na caixa de seleção à esquerda da versão do modelo.
  2. Clique em Comparar.
  3. A tela Comparando <N> versões é exibida, mostrando uma tabela que compara os parâmetros, 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 para plotar.

Controlar preferências de notificação

Você pode configurar o Registro de Modelo de Espaço de Trabalho para notificá-lo por e-mail sobre a atividade em modelos registrados e versões de modelo que você especificar.

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

Menu de notificações por e-mail

  • Todas as novas atividades: envie notificações por e-mail sobre todas as atividades em todas as versões do modelo deste modelo. Se você criou o modelo registrado, essa configuração é o padrão.
  • Atividade nas versões que sigo: Envie notificações por e-mail apenas sobre as versões do modelo que você segue. Com essa seleção, você recebe notificações para todas as versões do modelo que segue; Não é possível desativar as notificações para uma versão específica do modelo.
  • Silenciar notificações: não envie notificações por e-mail sobre a atividade neste modelo registrado.

Os seguintes eventos acionam uma notificação por e-mail:

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

Você é automaticamente inscrito para notificações de modelo quando você faz qualquer um dos seguintes:

  • Comente essa versão do modelo
  • Transição do estágio de uma versão do 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, observe o campo Seguir status na página da versão do modelo ou a tabela de versões do modelo na página do modelo registrado.

Desativar todas as notificações por e-mail

Você pode desativar as notificações por e-mail na guia Configurações do Registro do Modelo de Espaço de Trabalho do menu Configurações do Usuário:

  1. Clique no seu nome de utilizador no canto superior direito da área de trabalho do Azure Databricks e selecione Definições no menu pendente.
  2. Na barra lateral Configurações, selecione Notificações.
  3. Desative as notificações por e-mail do Registro Modelo.

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

Número máximo de e-mails enviados

O Registro de Modelo de Espaço de Trabalho limita o número de e-mails enviados a cada usuário por dia por atividade. Por exemplo, se você receber 20 e-mails em um dia sobre novas versões de modelo criadas para um modelo registrado, o Registro de Modelo de Espaço de Trabalho enviará um e-mail observando que o limite diário foi atingido e nenhum e-mail 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.

Webhooks

Importante

Esta funcionalidade está em Pré-visualização Pública.

Os Webhooks permitem que você ouça eventos do Registro do Modelo de Espaço de Trabalho para que suas integrações possam acionar ações automaticamente. Você pode usar webhooks para automatizar e integrar seu pipeline de aprendizado de máquina com ferramentas e fluxos de trabalho de CI/CD existentes. Por exemplo, você pode acionar compilações de CI quando uma nova versão de modelo é criada ou notificar os membros da equipe por meio do Slack sempre que uma transição de modelo para produção for solicitada.

Anotar um modelo ou versão de modelo

Pode fornecer informações sobre um modelo ou versão de modelo ao anotá-la. Por exemplo, talvez queira incluir uma descrição geral do problema ou informações sobre a metodologia e o algoritmo utilizados.

Anotar um modelo ou versão de modelo com a IU

A interface do usuário do Azure Databricks fornece várias maneiras de anotar modelos e versões de modelos. Você pode adicionar informações de texto usando uma descrição ou comentários, e você pode adicionar tags de chave-valor pesquisáveis. Descrições e tags estão disponíveis para modelos e versões de modelos; Os comentários só estão disponíveis para versões de modelos.

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

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

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

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

  3. Clique em Guardar para guardar as alterações ou em Cancelar para fechar a janela.

    Se introduziu uma descrição de uma versão de modelo, a descrição é apresentada na coluna Descrição na tabela da página do modelo registado. A coluna apresenta um máximo de 32 carateres ou uma linha de texto, o que for mais curto.

Adicionar comentários para uma versão do modelo

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

Adicionar tags para um modelo ou versão do modelo

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

    tabela de tags

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

  3. Clique em Adicionar.

    adicionar tag

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

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

ações de tag

Anotar uma versão de modelo com a API

Para atualizar uma descrição da versão do modelo, utilize 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 definir ou atualizar uma tag para um modelo registrado ou uma versão do modelo, use a API set_registered_model_tag()do cliente MLflow ) ou set_model_version_tag() o método:

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>"
)

Mudar o nome de um modelo (apenas API)

Para mudar o nome de um modelo registado, utilize o método rename_registered_model() da API do Cliente do MLflow:

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

Nota

Pode mudar o nome de um modelo registado apenas se não tiver versões ou todas as versões estiverem na fase Nenhuma ou Arquivada.

Procurar um modelo

Você pode pesquisar modelos no Registro de Modelo de Espaço de Trabalho usando a interface do usuário ou a API.

Nota

Quando você pesquisa um modelo, somente os modelos para os quais você tem pelo menos permissões CAN READ são retornados.

Procurar um modelo com a IU

Para exibir modelos registrados, clique em Ícone ModelosModelos na barra lateral.

Para procurar um modelo específico, introduza texto na caixa de pesquisa. Pode introduzir o nome de um modelo ou qualquer parte do nome:

Pesquisa de modelos registados

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

Pesquisa baseada em tags

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

Pesquisa baseada em nome e tags

Procurar um modelo com a API

Você pode pesquisar modelos registrados no Registro de Modelo de Espaço de Trabalho com o método MLflow Client API search_registered_models()

Se tiver definido etiquetas nos seus modelos, também pode pesquisar por essas etiquetas 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)

Também pode procurar um nome de modelo específico e listar os detalhes da versão com 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>'")]

É gerada 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 }

Eliminar um modelo ou versão de modelo

Pode eliminar um modelo com a IU ou a API.

Eliminar um modelo ou versão de modelo com a IU

Aviso

Não é possível desfazer essa ação. Pode fazer a transição de uma versão de modelo para a fase Arquivada em vez de a eliminar do registo. Quando você exclui um modelo, todos os artefatos de modelo armazenados pelo Registro de Modelo de Espaço de Trabalho e todos os metadados associados ao modelo registrado são excluídos.

Nota

Só pode eliminar modelos e versões de modelos na fase Nenhuma ou Arquivada. Se um modelo registado tiver versões na fase Teste ou Produção, tem de fazer a transição para a fase Nenhuma ou Arquivada antes de eliminar o modelo.

Para eliminar uma versão de modelo:

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

Para eliminar um modelo:

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

Eliminar um modelo ou versão de modelo com a API

Aviso

Não é possível desfazer essa ação. Pode fazer a transição de uma versão de modelo para a fase Arquivada em vez de a eliminar do registo. Quando você exclui um modelo, todos os artefatos de modelo armazenados pelo Registro de Modelo de Espaço de Trabalho e todos os metadados associados ao modelo registrado são excluídos.

Nota

Só pode eliminar modelos e versões de modelos na fase Nenhuma ou Arquivada. Se um modelo registado tiver versões na fase Teste ou Produção, tem de fazer a transição para a fase Nenhuma ou Arquivada antes de eliminar o modelo.

Eliminar uma versão de modelo

Para eliminar uma versão de modelo, utilize o método delete_model_version() da API do Cliente do 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)

Eliminar um modelo

Para eliminar um modelo, utilize o método delete_registered_model() da API do Cliente do MLflow:

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

Partilhar modelos entre áreas de trabalho

A Databricks recomenda o uso de Modelos no Unity Catalog para compartilhar modelos entre espaços de trabalho. O Unity Catalog fornece suporte pronto para acesso ao modelo entre espaços de trabalho, governança e registro de auditoria.

No entanto, se estiver usando o registro do modelo de espaço de trabalho, você também poderá compartilhar modelos em vários espaços de trabalho com alguma configuração. Por exemplo, você pode desenvolver e registrar um modelo em seu próprio espaço de trabalho e, em seguida, acessá-lo de outro espaço de trabalho usando um registro de modelo de espaço de trabalho remoto. Isto é útil quando várias equipas partilham o acesso aos modelos. Você pode criar vários espaços de trabalho e usar e gerenciar modelos nesses ambientes.

Copiar objetos MLflow entre espaços de trabalho

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

Com essas ferramentas, você pode:

  • Compartilhe e colabore com outros cientistas de dados no mesmo ou em outro servidor de rastreamento. Por exemplo, você pode clonar um experimento de outro usuário em seu espaço de trabalho.
  • Copie um modelo de um espaço de trabalho para outro, como de um espaço de desenvolvimento para um espaço de trabalho de produção.
  • Copie experimentos de MLflow e seja executado do servidor de rastreamento local para o espaço de trabalho do Databricks.
  • Faça backup de experimentos e modelos de missão crítica em outro espaço de trabalho do Databricks.

Exemplo

Este exemplo ilustra como usar o Registro de Modelo de Espaço de Trabalho para criar um aplicativo de aprendizado de máquina.

Exemplo de Registro de Modelo de Espaço de Trabalho