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
Esse recurso está em Visualização Pública.
Observação
Os trabalhos de implantação não precisam ser usados com clientes do MLflow 3 ou rastreamento de modelos e podem ser habilitados em modelos mais antigos e existentes no Catálogo do Unity. No entanto, é recomendável usar o MLflow 3.
Este artigo descreve como usar trabalhos de implantação do MLflow como parte do fluxo de trabalho de machine learning para gerenciar o ciclo de vida completo dos modelos de ML.
O que são trabalhos de implantação?
Os trabalhos de implantação permitem automatizar tarefas como avaliação, aprovação e implantação sempre que uma nova versão do modelo é criada, integrando-se perfeitamente aos modelos do Catálogo do Unity e aos Trabalhos do Lakeflow. Esses trabalhos simplificam a configuração de pipelines de implantação de modelos, incorporam aprovações com intervenção humana e fornecem fluxos de trabalho controlados com visibilidade clara sobre o progresso e o contexto histórico de cada versão do modelo.
Com trabalhos de implantação, o processo é totalmente automatizado; eles são disparados automaticamente sempre que uma nova versão do modelo é criada, exibindo o status de execução do trabalho de implantação diretamente nas páginas de modelo e versão do modelo. Informações históricas sobre cada execução de tarefas de implantação são convenientemente registradas no log de atividades, garantindo transparência e facilidade de gerenciamento.
Integração com o Rastreamento de Modelos do MLflow 3
O Databricks recomenda usar o MLflow 3 Tracking para registrar modelos e executar a avaliação no trabalho de implantação. O novo cliente registrará automaticamente as métricas da parte de avaliação do trabalho de implantação, que serão visíveis na interface do usuário da versão do modelo do Unity Catalog. Isso permitirá que os usuários usem as métricas centralizadas, os parâmetros e os rastreamentos na página de versão do modelo para tomar decisões informadas sobre quando progredir ainda mais o modelo no ciclo de vida do trabalho de implantação.
Integração com a ACL CREATE MODEL VERSION do Catálogo do Unity
Os trabalhos de implantação se integram naturalmente à ACL Create Model Version do Catálogo do Unity recém-criada para completar sua história do MLOps. Especificamente, um usuário pode receber a ACL CREATE MODEL VERSION para registrar novas versões de modelo no modelo. Depois que o usuário considerar um modelo bom o suficiente para produção, ele registrará essa versão no modelo do Catálogo do Unity, que iniciará o trabalho de implantação para avaliar automaticamente o modelo. Neste ponto, um aprovador pode aprovar manualmente essa versão para ser implantada ou rejeitá-la.
Importante
O trabalho de implantação será acionado automaticamente usando as credenciais do proprietário do modelo. Isso significa que conceder a um usuário CREATE MODEL VERSION permissão no modelo do Catálogo do Unity permite que o usuário execute código arbitrário como parte do trabalho. Por esse motivo, o Databricks recomenda que você configure o trabalho de implantação usando uma entidade de serviço com permissões mínimas para evitar o escalonamento de privilégios.
Exemplos de trabalhos de implantação
Abaixo estão alguns exemplos de trabalhos de implantação que refletem casos de uso comuns. Observe que esses são apenas exemplos e podem ser personalizados conforme necessário.
Um trabalho de implantação de exemplo simples consiste em três etapas: avaliação, aprovação e implantação. A avaliação chama mlflow.evaluate para produzir métricas de validação na versão de modelo inserida. A aprovação permite que um usuário privilegiado determine se essas métricas são satisfatórias e, em caso afirmativo, aprove o modelo. Por fim, o processo de implementação implanta a versão do modelo em um endpoint do Databricks Model Serving.
A imagem abaixo mostra as tarefas de Trabalhos do Lakeflow que compõem esse trabalho de implantação simples que consiste em tarefas de avaliação, aprovação e implantação:
Você também pode criar um trabalho de implantação mais complexo. Por exemplo, talvez você queira fazer uma distribuição em etapas com uma etapa de coleta de métricas como parte do fluxo de trabalho. Para criar esse trabalho de implantação, você pode adicionar tarefas adicionais após a tarefa de aprovação para implantar o modelo em 1%, implantar o modelo em 10%, coletar e verificar as métricas, decidir se deseja continuar ou reverter e, por fim, implantar o modelo em 100% ou reverter o modelo. A imagem abaixo mostra a aparência desse trabalho de implantação mais complexo:
Criar um trabalho de implantação
Os trabalhos de implantação permitem gerenciar o ciclo de vida de uma versão do modelo. Para usar trabalhos de implantação, primeiro você precisa de versões de modelo criadas em um modelo registrado. Consulte os notebooks de exemplo do MLflow 3 para obter abordagens recomendadas para treinar e registrar modelos.
O Databricks recomenda que você defina o campo Executar como como uma entidade de serviço com permissões mínimas. Além disso, para a tarefa de aprovação, o Databricks recomenda que você desabilite novas tentativas , pois espera-se que a tarefa falhe no início. Isso impede uma espera mais longa e vários logs de erros relatados.
Um trabalho de implantação deve ter dois parâmetros de trabalho: model_name e model_version. O Databricks também recomenda definir o limite máximo de execução simultânea como 1 (o padrão) para evitar condições de corrida de implantação.
Há duas maneiras de criar um trabalho de implantação: programaticamente usando um notebook de implantação ou usando a interface do usuário. Em ambos os casos, você precisa fornecer cada uma das tarefas do trabalho como um notebook.
Criar um trabalho de implantação programaticamente usando um notebook (recomendado)
É recomendável usar um notebook de implantação para a criação programática do trabalho de implantação, pois ele usa o SDK do Databricks e, sendo assim, todas as configurações são facilmente definidas com a fonte de verdade no código. Esse método também permite que você implante facilmente vários trabalhos e outros recursos em vários workspaces.
Para obter as instruções abaixo, um modelo de exemplo simples é usado para configurar o trabalho de implantação com tarefas básicas de avaliação, aprovação e implantação.
- Crie e registre um Modelo de Catálogo do Unity. Por exemplo, consulte o exemplo de fluxo de trabalho tradicional de ML do MLflow 3.
- Crie um notebook que defina a tarefa de avaliação. Por exemplo, importe o notebook de avaliação para ML clássico para avaliar o modelo criado a partir do exemplo ML clássico. O notebook de avaliação para IA fornece um exemplo de avaliação de um modelo externo de IA. Atualize os itens OBRIGATÓRIOs conforme necessário. Para outros modelos, use este bloco de anotações como um modelo e personalize-o para avaliar seu modelo conforme necessário para seu caso exclusivo.
- Crie um notebook que defina a tarefa de aprovação. Por exemplo, importe o notebook de aprovação para o seu workspace. Mais detalhes sobre como este bloco de anotações funciona podem ser encontrados na seção Aprovações . Você também pode usar esse bloco de anotações como um modelo e atualizá-lo para atender às suas necessidades.
- Crie um notebook que defina a tarefa de implantação. Por exemplo, importe o notebook de implantação abaixo para o seu workspace. Você também pode usar esse bloco de anotações como um modelo e atualizá-lo para atender às suas necessidades.
- Crie um notebook que crie e orquestre o trabalho de implantação. Por exemplo, importe o notebook de trabalho de implantação para o seu workspace. Esse notebook cria o Trabalho do Databricks que se torna o trabalho de implantação. Atualize os itens OBRIGATÓRIOs no notebook para definir corretamente seu trabalho, usando o modelo do Catálogo do Unity e as tarefas apropriadas. Você também pode usar esse bloco de anotações como um modelo e atualizá-lo para atender às suas necessidades. Por exemplo, talvez você queira incluir mais tarefas se tiver um plano de distribuição mais complexo.
- Execute o notebook de trabalho de implantação para criar seu trabalho de implantação.
Criar um trabalho de implantação usando a IU de Trabalhos
Trabalhos também podem ser criados usando a interface do usuário, em vez de usar o SDK no modelo acima. Porém, para cada tarefa de notebook, os notebooks ainda devem ser criados manualmente e salvos em algum lugar no workspace. Para o modelo de instruções, um fluxo de trabalho de implantação simples, com tarefas de avaliação, aprovação e implantação, é assumido. Personalize as instruções adicionando mais tarefas se você tiver um fluxo de trabalho de implantação mais complexo.
Crie e registre um Modelo de Catálogo do Unity. Por exemplo, consulte o exemplo de fluxo de trabalho tradicional de ML do MLflow 3.
Crie um notebook que defina a tarefa de avaliação. Por exemplo, importe o notebook de avaliação para ML clássico para avaliar o modelo criado a partir do exemplo ML clássico. O notebook de avaliação para IA fornece um exemplo de avaliação de um modelo externo de IA. Atualize os itens OBRIGATÓRIOs conforme necessário. Para outros modelos, use este bloco de anotações como um modelo e personalize-o para avaliar seu modelo conforme necessário para seu caso exclusivo.
Crie um notebook que defina a tarefa de aprovação. Por exemplo, importe o notebook de aprovação para o seu workspace. Mais detalhes sobre como este bloco de anotações funciona podem ser encontrados na seção Aprovações . Você também pode usar esse bloco de anotações como um modelo e atualizá-lo para atender às suas necessidades.
Crie um notebook que defina a tarefa de implantação. Por exemplo, importe o notebook de implantação abaixo para o seu workspace. Você também pode usar esse bloco de anotações como um modelo e atualizá-lo para atender às suas necessidades.
Crie o trabalho de implantação na interface do usuário do Lakeflow Jobs:
No painel de navegação esquerdo, clique em + Novo > Trabalho para criar um novo trabalho.
Configure cada tarefa. Por exemplo, para a tarefa de implantação:
- Nome da tarefa: Implantação
- Tipo: Notebook
- Origem: Workspace
- Caminho:
/Workspace/Users/<user.name@email.com>/deployment - Computação: sem servidor
Para obter mais informações sobre a configuração, consulte as tarefas do Notebook para trabalhos.
Depois de terminar de criar cada tarefa, adicione seus parâmetros de trabalho. No painel direito, clique em Editar parâmetros. Adicionar
model_nameemodel_version.- Observação: um erro comum é adicionar esses parâmetros como parâmetros de nível de tarefa. Adicione-os como parâmetros de nível de trabalhousando o painel direito.
Veja abaixo um exemplo de criação do trabalho de modelo acima usando a interface do usuário:
Conectar o trabalho de implantação a um modelo
Depois de criar o modelo do Catálogo do Unity e a tarefa de implantação, você precisa conectar a tarefa ao modelo como uma tarefa de implantação. Você pode usar a interface do usuário ou fazê-la programaticamente no notebook de implantação.
Depois que uma tarefa de implantação foi conectada a um modelo, ela é vinculada na página do modelo.
Conectar o trabalho de implantação a um modelo usando a interface do usuário
Na página do modelo, na guia Visão geral , em Trabalho de implantação, clique em Conectar trabalho de implantação.
Selecione seu trabalho de implantação na lista suspensa. Você também pode usar a barra de pesquisa para procurar trabalhos por seu nome ou ID. Clique em Salvar alterações.
Conectar o trabalho de implantação a um modelo usando o cliente MLflow
A principal maneira de conectar o trabalho de implantação programaticamente é usando o cliente MLflow. Você pode fazer isso ao criar um modelo registrado chamando client.create_registered_model(model_name, deployment_job_id=<your-created-job-id>)ou ao atualizar um modelo registrado chamando client.update_registered_model(model_name, deployment_job_id=<your-created-job-id>).
A principal maneira de desconectar o trabalho de implantação programaticamente também é usando o cliente MLflow. Você pode fazer isso especificando uma cadeia de caracteres vazia "" e chamando a atualização com ela (por exemplo, client.update_registered_model(model_name, deployment_job_id="")).
Use um código semelhante ao seguinte no notebook de implantação:
import mlflow
from mlflow.tracking.client import MlflowClient
client = MlflowClient(registry_uri="databricks-uc")
# model_name specifies the location of a model in Unity Catalog
# model_name should be in the format <catalog>.<schema>.<model>
try:
if client.get_registered_model(model_name):
client.update_registered_model(model_name, deployment_job_id=created_job.job_id)
except mlflow.exceptions.RestException:
client.create_registered_model(model_name, deployment_job_id=created_job.job_id)
Permissões necessárias
As seguintes permissões são necessárias para conectar e disparar trabalhos de implantação:
- MANAGE ou OWNER no modelo para conectar o trabalho de implantação
- O proprietário do modelo precisará ter permissões CAN MANAGE RUN ou superiores no trabalho de implantação para realizar a conexão.
- OBSERVAÇÃO: esse campo do trabalho de implantação também pode ser atualizado no modelo por alguém com permissões MANAGE ou superiores. Nesse caso, tanto o atualizador quanto o proprietário do modelo precisarão ter permissões CAN MANAGE RUN ou superiores no trabalho de implantação para conectá-lo.
Iniciar a tarefa de implantação
O trabalho de implantação será disparado automaticamente em todas as novas versões de modelo criadas e também pode ser disparado manualmente em versões existentes e implantadas anteriormente na página de versão do modelo clicando em Iniciar trabalho de implantação.
O trabalho também pode ser acionado diretamente da IU ou da API de Trabalhos. O nome e a versão do modelo apropriados precisam ser especificados nos parâmetros de trabalho.
Permissões necessárias
As seguintes permissões são necessárias para disparar trabalhos de implantação:
- Para acionar ou reparar manualmente o trabalho de implantação usando a IU de versão do modelo, o usuário deve ter CAN MANAGE RUN ou ACLs superiores no trabalho de implantação (as mesmas ACLs necessárias para acionar um trabalho usando a IU de Trabalhos).
- Como o trabalho é acionado automaticamente quando uma nova versão é criada e usa as credenciais do proprietário do modelo, este precisa ter CAN MANAGE RUN ou ACLs superiores no trabalho de implantação.
Aprovar o trabalho de implantação (experimental)
O Databricks fornece um mecanismo de aprovação experimental para trabalhos de implantação, habilitando um processo human-in-the-loop para pipelines de ML. Depois que uma tarefa de implantação é iniciada, as métricas da execução de avaliação aparecem na página de versão do modelo. Depois de examinar essas métricas, um aprovador pode aprovar a versão do modelo na interface do usuário clicando em Aprovar. Esse recurso usa marcas do Catálogo do Unity para determinar se a tarefa de aprovação deve ser aprovada ou falhar. As tarefas de aprovação são identificadas por nomes de tarefas de trabalho que começam com "aprovação" (sem diferenciar maiúsculas e minúsculas) e passarão quando a marca do Catálogo do Unity estiver definida como Approved (seja clicando no botão Aprovação na IU ou definindo manualmente).
Veja como funciona o processo de aprovação:
- Execução inicial: a primeira execução do trabalho de implantação sempre falhará em uma tarefa de aprovação porque a versão do modelo ainda não foi aprovada e, portanto, não tem a marca de Catálogo do Unity necessária.
- Avaliação de aprovação: o aprovador analisa a versão do modelo e suas métricas de avaliação, que são exibidas na página de versão do modelo. Isso permite que o aprovador avalie a qualidade e a preparação da versão do modelo.
- Ação de aprovação: se o aprovador considerar a versão do modelo satisfatória, ele clicará no botão Aprovar na seção barra lateral do trabalho de implantação na página de versão do modelo.
Essa ação repara automaticamente a execução do trabalho e adiciona uma marca do Catálogo do Unity à versão do modelo, em que:
- A chave da marca corresponde ao nome da tarefa de aprovação. Por exemplo, no notebook de aprovação de exemplo, isso é
Approval_Check. - O valor da tag é definido como
Approved.
- Continuação do trabalho: a execução do trabalho de implantação reparada é retomada automaticamente da tarefa de aprovação. Desta vez, ela passa porque a marca do Catálogo do Unity necessária agora está presente. Em seguida, ele prossegue para as tarefas subsequentes, tais como a implantação.
Permissões necessárias
As seguintes permissões são necessárias para adicionar marcas do Catálogo do Unity e disparar trabalhos de implantação:
- APPLY TAG no modelo do Catálogo do Unity.
- CAN MANAGE RUN no trabalho de implantação.
Etiquetas controladas para aprovações avançadas
Você também pode especificar ainda mais quem tem permissão para aprovar e aplicar marcas usando uma política de marca governada para um determinado nome de marca. Ao usar uma política de etiquetas governadas e especificar APPLY_TAG permissões para um usuário ou grupo, você pode:
- Defina vários grupos de aprovação independentes em um trabalho de implantação.
- Por exemplo, você pode ter duas tags separadas para aprovações separadas de grupo, como os seguintes:
Approval_LegaleApproval_Security, onde você:- Crie uma política de marca governada, para que somente a equipe jurídica possa definir a
Approval_Legalmarca. - Crie uma política de marca governada adicional para que somente a equipe de segurança possa definir a
Approval_Securitymarca. - Tenha duas tarefas de aprovação no seu trabalho de implantação correspondentes às aprovações Legais e de Segurança.
- Conceda a ambas as equipes
APPLY_TAGno modelo para que elas possam definir a marca, mas só possam aprovar suas respectivas verificações.
- Crie uma política de marca governada, para que somente a equipe jurídica possa definir a
- Por exemplo, você pode ter duas tags separadas para aprovações separadas de grupo, como os seguintes:
- Defina uma política de marcação para impedir que o proprietário do modelo aprove o trabalho a fim de verificar se há a aprovação de uma segunda pessoa.
- Padronize as verificações de aprovação no metastore, catálogo e esquema com políticas de marcação e nomes de marcas consistentes.
Exibir o status do trabalho de implantação e o log de atividades
Depois que os trabalhos de implantação tiverem sido disparados em versões de modelo, o status atual dessas implantações poderá ser exibido na página do modelo na guia Visão geral . Abaixo do status, você pode ver a atividade histórica no log de atividades. O log de atividades também é mostrado na página de versão do modelo.
Permissões necessárias
As permissões a seguir são necessárias para exibir trabalhos de implantação e o log de atividades (o mesmo que exibir o modelo):
- EXECUTE no modelo do Catálogo do Unity.
Notebooks de modelos de trabalhos de implantação de exemplo
Os notebooks de exemplo a seguir podem ser usados como um modelo para criar um trabalho de implantação simples que consiste em tarefas de avaliação, aprovação e implantação. Lembre-se de fornecer os valores REQUIRED nos notebooks para configurar o trabalho de implantação do seu modelo.
Notebook de avaliação para IA
Exemplo de notebook para avaliação do GenAI
Notebook de avaliação para machine learning clássico
Notebook de avaliação de exemplo para ML clássico
Bloco de anotações de aprovação
Notebook de aprovação de exemplo
Notebook de implantação
Notebook de implantação de exemplo
Criar notebook de trabalho de implantação
Notebook de exemplo para criar um trabalho de implantação
Próximas etapas
Para saber mais sobre os novos recursos do MLflow 3 e introdução, confira o seguinte artigo: