Pular para o conteúdo principal

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?

Isso mostra como criar, implantar e executar um projeto de pacote do MLOps Stacks.

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.

nota

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 Autorizar o acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth.

  1. 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, por https://dbc-a1b2345c-d6e7.cloud.databricks.com exemplo,.

    Bash
    databricks auth login --host <workspace-url>
  2. 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 separado ou prompt de comando, use o Databricks CLI para executar o comando databricks auth profiles. Para view as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

  3. No navegador da web, conclua as instruções na tela para fazer log in no workspace do Databricks.

  4. Para view o valor atual dos tokens OAuth de um perfil e o carimbo de data/hora da próxima expiração dos tokens, 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

  1. Use o padrãoDatabricks ativo Bundle para criar os arquivos iniciais do seu projeto MLOps Stacks. Para fazer isso, comece executando o seguinte comando:

    Bash
    databricks bundle init mlops-stacks
  2. 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.

  3. Personalize os arquivos iniciais do seu 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.

dica

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:

Bash
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:

Bash
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:

Bash
databricks bundle run -t <target-name> <job-name>
  • Substitua <target-name> pelo nome do alvo desejado no arquivo databricks.yml onde o Job foi implantado, por exemplo, dev, test, staging, ou prod.
  • 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, ou model_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 se o senhor não precisar mais deles, execute o Databricks CLI na raiz do projeto, onde o databricks.yml está localizado, da seguinte forma:

Bash
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.