Pacotes de ativos do Databricks para pilhas MLOps
Você pode usar os Pacotes de Ativos do Databricks, a CLI do Databricks e o repositório Databricks MLOps Stack no GitHub para criar pilhas MLOps. Uma pilha MLOps é um projeto MLOps no Azure Databricks que segue as práticas recomendadas de produção prontas para uso. Veja que são pacotes de ativos do Databricks?.
Para criar, implantar e executar um projeto de Pilhas de MLOps, conclua estas etapas:
Requisitos
- Verifique se o workspace remoto de destino tem arquivos de workspace habilitados. Consulte O que são Arquivos de workspace?.
- No seu computador de desenvolvimento, certifique-se de que a CLI do Databricks versão 0.212.2 ou superior esteja instalada. Para verificar a versão instalada da CLI do Databricks, execute o comando
databricks -v
. Para atualizar a versão da CLI do Databricks, confira Instalar ou atualizar a CLI do Databricks. (Os pacotes não funcionam com as versões 0.18 e inferiores da CLI do Databricks.)
Etapa 1: configurar a autenticação
Configurar a CLI do Databricks para autenticação.
Este artigo pressupõe que você deseja usar a autenticação U2M (usuário para computador) do OAuth e um perfil de configuração correspondente do Azure Databricks chamado DEFAULT
para autenticação.
Observação
A autenticação U2M é apropriada para testar essas etapas em tempo real. Para fluxos de trabalho totalmente automatizados, o Databricks recomenda que você use a autenticação M2M (máquina a máquina) do OAuth. Veja as instruções de configuração da autenticação M2M em Autenticação.
Use a CLI do Databricks para iniciar o gerenciamento de token OAuth localmente executando o comando a seguir para cada workspace de destino.
No comando a seguir, substitua
<workspace-url>
pela URL por workspace do Azure Databricks, por exemplo,https://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
A CLI do Databricks solicita que você salve as informações inseridas como um perfil de configuração do Azure Databricks. Pressione
Enter
para aceitar o nome de perfil sugerido ou digite o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome será substituído pelas informações inseridas. Você pode usar perfis para alternar rapidamente seu contexto de autenticação em vários workspaces.Para obter uma lista de quaisquer perfis existentes, em um terminal ou prompt de comando separado, use a CLI do Databricks para executar o comando
databricks auth profiles
. Para visualizar as configurações existentes de um perfil específico, execute o comandodatabricks auth env --profile <profile-name>
.No seu navegador da Web, complete as instruções na tela para iniciar sessão no seu workspace do Azure Databricks.
Para visualizar o valor atual do token OAuth de um perfil e o carimbo de data/hora de expiração do token, execute um dos seguintes comandos:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Se você tiver vários perfis com o mesmo valor
--host
, talvez seja necessário especificar as opções--host
e-p
em conjunto para ajudar a CLI do Databricks a encontrar as informações de token OAuth correspondentes corretas.
Etapa 2: Criar o projeto de pacote
Use modelos do Pacote de Ativos do Databricks para criar os arquivos iniciais do projeto MLOps Stacks. Para fazer isso, comece executando o seguinte comando:
databricks bundle init mlops-stacks
Responda aos prompts na tela. Para obter diretrizes sobre como responder a esses prompts, consulte Iniciar um novo projeto no repositório Pilhas do MLOps do Databricks no GitHub.
O primeiro prompt oferece a opção de configurar os componentes de código ML, componentes de CI/CD ou ambos. Essa opção simplifica a configuração inicial, pois você pode optar por criar apenas os componentes que são imediatamente relevantes. (Para configurar os outros componentes, reexecute o comando de inicialização.) Selecione uma das seguintes:
CICD_and_Project
(padrão) – Configurar o código ML e os componentes de CI/CD.Project_Only
– Configurar somente os componentes de código ML. Essa opção é para os cientistas de dados começarem.CICD_Only
– Configurar somente os componentes de CI/CD. Essa opção é para os engenheiros de ML configurarem a infraestrutura.
Depois de responder a todos os prompts na tela, o modelo cria os arquivos iniciais do projeto de Pilhas do MLOps e os adiciona ao diretório de trabalho atual.
Personalize os arquivos iniciais do projeto MLOps Stacks conforme desejado. Para fazer isso, siga as orientações nos seguintes arquivos dentro do seu novo projeto:
Função Goal Docs Usuários pela primeira vez deste repositório Compreender o pipeline de ML e a estrutura de código neste repositório README.md
Cientista de dados Comece a escrever código ML para um novo projeto <project-name>/README.md
Cientista de dados Atualizar o código ML de produção (por exemplo, lógica de treinamento de modelo) para um projeto existente docs/ml-pull-request.md
Cientista de dados Modificar recursos de ML do modelo de produção (por exemplo, treinamento de modelo ou trabalhos de inferência) <project-name>/resources/README.md
MLOps / DevOps Configurar CI/CD para o projeto de ML atual docs/mlops-setup.md
Para personalizar experimentos, os mapeamentos dentro de uma declaração de experimento correspondem ao conteúdo de solicitação da operação de criação de experimento, conforme definido em POST /api/2.0/mlflow/experiments/create na referência da API REST, expressa no formato YAML.
Para personalizar trabalhos, os mapeamentos em uma declaração de trabalho correspondem ao conteúdo de solicitação da operação de criação de trabalho, conforme definido em POST /api/2.1/jobs/create na referência da API REST, expressa no formato YAML.
Dica
Você pode definir, combinar e substituir as configurações de novos clusters de trabalho em pacotes usando as técnicas descritas nas configurações de cluster de substituição nos Pacotes de Ativos do Databricks.
Para personalizar modelos, os mapeamentos em uma declaração de modelo correspondem ao conteúdo de solicitação da operação de modelo de criação do Catálogo do Unity, conforme definido em POST /api/2.1/unity-catalog/models na referência da API REST, expressa no formato YAML.
Para personalizar pipelines, os mapeamentos em uma declaração de pipeline correspondem ao conteúdo de solicitação da operação de pipeline de criação, conforme definido em POST /api/2.0/pipelines na referência da API REST, expressa no formato YAML.
Etapa 3: Validar o projeto de pacote
Verifique se a configuração do pacote é válida. Para fazer isso, execute a CLI do Databricks a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte maneira:
databricks bundle validate
Se um resumo da configuração do pacote for retornado, então a validação foi bem-sucedida. Se algum erro for retornado, corrija-os e repita essa etapa.
Etapa 4: Implantar o pacote
Implante os recursos e artefatos do projeto no espaço de trabalho remoto desejado. Para fazer isso, execute a CLI do Databricks a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte maneira:
databricks bundle deploy -t <target-name>
Substitua <target-name>
pelo nome do destino desejado no arquivo databricks.yml
, por exemplo, dev
, test
, staging
ou prod
.
Etapa 5: Executar o pacote implantado
Os trabalhos implantados do Azure Databricks do projeto são executados automaticamente em suas agendas predefinidas. Para executar um trabalho implantado imediatamente, execute a CLI do Databricks a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte maneira:
databricks bundle run -t <target-name> <job-name>
- Substitua
<target-name>
pelo nome do destino desejado no arquivo dedatabricks.yml
onde o trabalho foi implantado, por exemplo,dev
,test
,staging
ouprod
. - Substitua
<job-name>
pelo nome do trabalho em um dos arquivos.yml
dentro<project-name>/databricks-resources
, por exemplo,batch_inference_job
,write_feature_table_job
oumodel_training_job
.
Um link para o trabalho do Azure Databricks é exibido, que você pode copiar em seu navegador da Web para abrir o trabalho na interface do usuário do Azure Databricks.
Etapa 6: Excluir o pacote implantado (opcional)
Para excluir os recursos e artefatos de um projeto implantado se você não precisar mais deles, execute a CLI do Databricks a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte maneira:
databricks bundle destroy -t <target-name>
Substitua <target-name>
pelo nome do destino desejado no arquivo databricks.yml
, por exemplo, dev
, test
, staging
ou prod
.
Responda aos prompts na tela para confirmar a exclusão dos recursos e artefatos implantados anteriormente.