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?

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.

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 Autenticação.

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

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

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.