Databricks ativo Bundles for Stacks MLOps
O senhor pode usar o Databricks ativo Bundles, o Databricks CLI e o Databricks MLOps Stack repository no GitHub para criar MLOps Stacks . Uma pilha de MLOps é um projeto de MLOps na Databricks que segue as práticas recomendadas de produção prontas para uso. Veja o que são Databricks ativo Bundles?
Para criar, implantar e executar um projeto MLOps Stacks, conclua as etapas a seguir:
Requisitos
- Certifique-se de que o workspace remoto de destino tenha os arquivos workspace ativados. Consulte O que são arquivos workspace?
- Em seu computador de desenvolvimento, certifique-se de que o site Databricks CLI versão 0.212.2 ou acima esteja instalado. Para verificar a versão instalada do Databricks CLI , execute o comando
databricks -v
. Para atualizar a versão da CLI da Databricks, consulte Instalar ou atualizar a CLI da Databricks. (Os pacotes não funcionam com Databricks CLI versões 0.18 e abaixo).
Etapa 1: configurar a autenticação
Configure a CLI do Databricks para autenticação.
Este artigo pressupõe que o senhor deseja usar a autenticação OAuth user-to-machine (U2M) e um perfil de configuração Databricks correspondente denominado DEFAULT
para autenticação.
A autenticação U2M é adequada para testar essas etapas em tempo real. Para fluxo de trabalho totalmente automatizado, o site Databricks recomenda que o senhor use a autenticação máquina a máquina (M2M) OAuth. Consulte as instruções de configuração da autenticação M2M em Autenticação.
-
Use o comando Databricks CLI para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.
No comando a seguir, substitua
<workspace-url>
pelo Databricks workspace URL da instância, porhttps://dbc-a1b2345c-d6e7.cloud.databricks.com
exemplo,.Bashdatabricks auth login --host <workspace-url>
-
O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione
Enter
para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que o senhor inseriu. O senhor pode usar perfis para alternar rapidamente o contexto de autenticação em vários espaços de trabalho.Para obter uma lista de todos os 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 navegador da web, conclua as instruções na tela para fazer log in no workspace do Databricks.
-
Para visualizar o valor atual do token OAuth de um perfil e o registro de data e 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
juntas para ajudar a CLI do Databricks a encontrar as informações de token OAuth correspondentes corretas.
Etapa 2: criar o projeto de pacote
-
Use o padrãoDatabricks ativo Bundle para criar os arquivos iniciais do seu projeto MLOps Stacks. Para fazer isso, comece executando o seguinte comando:
Bashdatabricks bundle init mlops-stacks
-
Responda às instruções na tela. Para obter orientação sobre como responder a essas solicitações, consulte Começar um novo projeto no repositório Databricks MLOps Stacks em GitHub.
O primeiro prompt oferece a opção de configurar os componentes de código de ML, os componentes de CI/CD ou ambos. Essa opção simplifica a configuração inicial, pois você pode escolher criar somente os componentes que são imediatamente relevantes. (Para configurar os outros componentes, execute novamente o comando de inicialização). Selecione uma das seguintes opções:
CICD_and_Project
(default) - Configure o código ML e os componentes CI/CD.Project_Only
- Configure apenas os componentes do código ML. Essa opção é para data scientists para começar.CICD_Only
- Configure apenas os componentes de CI/CD. Essa opção é para que os engenheiros de ML configurem a infraestrutura.
Depois de responder a todos os prompts na tela, o padrão cria os arquivos iniciais do projeto MLOps Stacks 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 em seu novo projeto:
Função
Objetivo
Documentos
Usuários iniciantes deste repositório
Entenda o pipeline de ML e a estrutura de código neste repositório
README.md
cientista de dados
Comece a escrever o código ML para um projeto totalmente novo
<project-name>/README.md
cientista de dados
Atualizar o código de ML de produção (por exemplo, lógica de treinamento do modelo) para um projeto existente
docs/ml-pull-request.md
cientista de dados
Modificar o modelo de produção ML recurso (por exemplo, modelo de treinamento ou inferência Job)
<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 em uma declaração de experimento correspondem à carga útil da solicitação de criação de operações de experimento, conforme definido em POST /api/2.0/mlflow/experiments/create na referência REST API , expressa no formato YAML.
-
Para personalizar o trabalho, os mapeamentos em uma declaração de trabalho correspondem à carga útil da solicitação de criação de operações de trabalho, conforme definido em POST /api/2.1/Job/create na referência REST API , expressa no formato YAML.
-
O senhor pode definir, combinar e substituir as configurações de agrupamento de novos trabalhos em pacotes usando as técnicas descritas em Substituir configurações de agrupamento em Databricks ativo Bundles.
-
Para personalizar modelos, os mapeamentos em uma declaração de modelo correspondem à carga útil da solicitação create Unity Catalog model operações, conforme definido em POST /api/2.1/unity-catalog/models na referência REST API , expressa no formato YAML.
-
Para personalizar o pipeline, os mapeamentos em uma declaração pipeline correspondem à carga útil da solicitação create pipeline operações, conforme definido em POST /api/2.0/pipeline na referência REST API , expressa no formato YAML.
Etapa 3: validar o projeto do pacote
Verifique se a configuração do pacote é válida. Para fazer isso, execute o Databricks CLI a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte forma:
databricks bundle validate
Se um resumo da configuração do pacote for retornado, a validação foi bem-sucedida. Se algum erro for retornado, corrija-o e repita essa etapa.
Etapa 4: implantar o feixe
implantado o recurso e os artefatos do projeto no site remoto desejado workspace. Para fazer isso, execute o Databricks CLI a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte forma:
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: execução do bundle implantado
O projeto é implantado Databricks O trabalho é executado automaticamente em sua programação predefinida. Para executar um Job implantado imediatamente, execute o Databricks CLI a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte forma:
databricks bundle run -t <target-name> <job-name>
- Substitua
<target-name>
pelo nome do alvo desejado no arquivodatabricks.yml
onde o Job foi implantado, por exemplo,dev
,test
,staging
, ouprod
. - Substitua
<job-name>
pelo nome do trabalho em um dos arquivos.yml
dentro de<project-name>/databricks-resources
, por exemplo,batch_inference_job
,write_feature_table_job
, oumodel_training_job
.
É exibido um link para o Job Databricks, que o senhor pode copiar no navegador da Web para abrir o Job na UI Databricks.
Etapa 6: Excluir o pacote implantado (opcional)
Para excluir o recurso e os artefatos de um projeto implantado, caso não precise mais deles, execute o Databricks CLI a partir da raiz do projeto, onde o databricks.yml
está localizado, da seguinte forma:
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 avisos na tela para confirmar a exclusão do recurso e dos artefatos implantados anteriormente.