Partilhar via


Pacotes de ativos Databricks para pilhas MLOps

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

Para criar, implantar e executar um projeto MLOps Stacks, conclua as seguintes etapas:

Requisitos

  • Verifique se o espaço de trabalho remoto de destino tem os arquivos do espaço de trabalho habilitados. Consulte O que são arquivos de espaço de trabalho?.
  • Na máquina de desenvolvimento, verifique se a CLI do Databricks versão 0.212.2 ou superior está 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, consulte 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

Configure a CLI do Databricks para autenticação.

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

Nota

A autenticação U2M é apropriada para experimentar essas etapas em tempo real. Para fluxos de trabalho totalmente automatizados, o 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 de token OAuth localmente executando o seguinte comando para cada espaço de trabalho de destino.

    No comando a seguir, substitua <workspace-url> pela URL do Azure Databricks por espaço de trabalho, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net.

    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 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 é substituído pelas informações que você inseriu. Você pode usar perfis para alternar rapidamente seu contexto de autenticação em vários espaços de trabalho.

    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 comando databricks auth env --profile <profile-name>.

  3. No navegador da Web, conclua as instruções na tela para fazer logon no espaço de trabalho do Azure Databricks.

  4. Para exibir 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 --host valor, talvez seja necessário especificar as --host opções e -p juntas para ajudar a CLI do Databricks a encontrar as informações corretas do token OAuth.

Etapa 2: Criar o projeto de pacote

  1. Use os modelos do Databricks Asset Bundle 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 às instruções na tela. Para obter orientação sobre como responder a esses prompts, consulte Iniciar um novo projeto no repositório Databricks MLOps Stacks no GitHub.

    O primeiro prompt oferece a opção de configurar os componentes de código ML, os componentes 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, execute o comando de inicialização novamente.) Selecione uma das seguintes opções:

    • CICD_and_Project (padrão) - Configure o código ML e os componentes CI/CD.
    • Project_Only - Configure apenas componentes de código ML. Esta opção é para os cientistas de dados começarem.
    • CICD_Only - Configure apenas componentes de CI/CD. Esta 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 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 dentro do seu novo projeto:

    Role Goal Documentos
    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 de 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 à carga útil de solicitação da operação de criação do 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 dentro de uma declaração de trabalho correspondem à carga útil 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.

      Gorjeta

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

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

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

Etapa 3: Validar o projeto do 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, a validação será bem-sucedida. Se algum erro for retornado, corrija-os e repita esta 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 dentro do databricks.yml arquivo, por exemplo dev, , test, stagingou 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 databricks.yml arquivo onde o trabalho foi implantado, por exemplo dev, , test, stagingou prod.
  • Substitua <job-name> pelo nome do trabalho em um dos .yml arquivos em <project-name>/databricks-resources, por exemplo batch_inference_job, , write_feature_table_jobou model_training_job.

É apresentado um link para o trabalho do Azure Databricks, que pode copiar para o seu browser para abrir o trabalho na IU 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 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 dentro do databricks.yml arquivo, por exemplo dev, , test, stagingou prod.

Responda aos prompts na tela para confirmar a exclusão dos recursos e artefatos implantados anteriormente.