Pacotes ativos de Databricks para pilhas MLOps

Você pode usar Databricks ativo Bundles, a CLI do Databricks e o repositório Databricks MLOps Stack no GitHub para criar MLOps Stacks. Um MLOps Stack é um projeto MLOps no Databricks que segue as práticas recomendadas de produção prontas para uso. Consulte O que são pacotes Databricks ativos?.

Para criar, implantar e executar um projeto MLOps Stacks, siga os seguintes passos:

Requisitos

  • Certifique-se de que o workspace remoto de destino tenha arquivos workspace ativados. Consulte O que são arquivos de espaço de trabalho?.

  • 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).

o passo 1: Configurar a autenticação

Configure a CLI do Databricks para autenticação.

Este artigo pressupõe que você deseja usar a autenticação usuário-máquina (U2M) OAuth e um perfil de configuração do Databricks correspondente chamado DEFAULT para autenticação.

Observação

A autenticação U2M é apropriada para testar esses passos em tempo real. Para um fluxo de trabalho totalmente automatizado, a Databricks recomenda que você use a autenticação OAuth máquina a máquina (M2M). Consulte as instruções de configuração da autenticação M2M em Autenticação.

  1. Use a CLI do Databricks para iniciar o gerenciamento tokens OAuth localmente executando o comando a seguir para cada workspace de destino.

    No comando a seguir, substitua <workspace-url> pela URL da instância do espaço de trabalho do Databricks, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    databricks auth login --host <workspace-url>
    
  2. A CLI do Databricks solicita que você salve as informações inseridas como um perfil de configuração do 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 workspace.

    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 view as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

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

  4. Para view o valor atual tokens OAuth de um perfil e o carimbo de data/hora de expiração futura 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 tokens OAuth correspondentes corretas.

o passo 2: Criar o projeto do pacote

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

    databricks bundle init mlops-stacks
    
  2. Responda aos avisos na tela. Para obter orientação sobre como responder a esses prompts, 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 o senhor pode optar por criar apenas 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 dentro do seu novo projeto:

    Papel

    Meta

    Documentos

    Usuários iniciantes deste repo

    Entenda os ML pipelines 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

    Atualize 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

    Modifique os recursos de ML do modelo de produção (por exemplo, treinamento de modelo ou Job 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 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 da API REST, expressa em formato YAML.

    • Para customizar Job, os mapeamentos dentro de uma declaração Job correspondem à carga útil da solicitação de operações create Job conforme definido em POST /api/2.1/Job/create na referência da API REST, expressa em formato YAML.

      Dica

      Você pode definir, combinar e substituir as configurações de novos clusters Job em pacotes usando as técnicas descritas em Substituir configurações de cluster em pacotes ativos do Databricks.

    • Para modelos customizados, os mapeamentos dentro de uma declaração de modelo correspondem à carga útil da solicitação de criação de operações do modelo, conforme definido em POST /api/2.0/mlflow/registered-models/create na referência da API REST, expressa em formato YAML.

    • Para personalizar pipelines, os mapeamentos dentro de uma declaração de pipeline correspondem à carga útil da solicitação de criação de operações de pipeline, conforme definido em POST /api/2.0/pipelines na referência da API REST, expressa em formato YAML.

o passo 3: Validar o projeto do pacote

Verifique se a configuração do pacote configurável é 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, a validação foi bem-sucedida. Se algum erro for retornado, corrija os erros e repita este passo.

o passo 4: implantado o feixe

aprimorou os recursos e artefatos do projeto para o workspace remoto desejado. Para fazer isso, execute a CLI do Databricks na 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.

o passo 5: execução do pacote implementado

O Job do Databricks implantado do projeto é executado automaticamente em seu programar predefinido. Para executar um Job implantado imediatamente, execute a CLI do Databricks na 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 alvo desejado dentro do arquivo databricks.yml onde o Job foi implantado, por exemplo dev, test, staging ou prod.

  • Substitua <job-name> pelo nome do Job em um dos arquivos .yml em <project-name>/databricks-resources, por exemplo batch_inference_job, write_feature_table_job ou model_training_job.

Um link para o Job do Databricks é exibido, que você pode copiar em seu navegador da Web para abrir o Job na interface do usuário do Databricks.

o passo 6: Excluir o pacote implementado (opcional)

Para excluir os recursos e artefatos de um projeto implantado se você não precisar mais deles, execute a CLI do Databricks na 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.