Configurar tarefas do pacote de tempo de execução de IA

Use esta referência para personalizar um ai_runtime_task em Pacotes de Automação Declarativa. Para exemplos executáveis que agendam uma carga de trabalho da GPU e adicionam tarefas de pré-processamento, comece com Agendar cargas de trabalho da GPU e compor as tarefas.

Para campos de tarefa e suas definições, consulte a referência de tarefas em tempo de execução de IA. Define tentativas, timeouts, permissões e environment_key na tarefa ou tarefa envolvente.

Envie o seu código de treino

O bundle sincroniza ficheiros, como command.sh no deployment. Uma carga de trabalho apenas de comandos pode apontar command_path para ${workspace.file_path}/command.sh e omitir code_source_path.

Para um diretório separado de código de treino, defina code_source_path para um artefacto empacotado ou para um caminho de espaço de trabalho ou volume.

Empacotar um diretório local

Declare um tgz artefacto para embalar o seu código em databricks bundle deploy. Este fragmento de configuração empacota src/ e aponta a tarefa para o arquivo resultante:

artifacts:
  code:
    type: tgz
    path: .
    include: [src]
    files:
      - source: ./dist/code.tgz

resources:
  jobs:
    train:
      tasks:
        - task_key: train
          ai_runtime_task:
            code_source_path: ./dist/code.tgz

O runtime extrai o arquivo e define CODE_SOURCE_PATH para o seu diretório de código de nível superior. Com path: . e include: [src], o arquivo contém src/train.py e CODE_SOURCE_PATH é /databricks/code_source/src. Depois de mudar para esse diretório, execute python train.py:

#!/usr/bin/env bash
set -euo pipefail
cd "$CODE_SOURCE_PATH"
python train.py

Para definições de artefactos, incluindo path, include, git, e files, veja a referência de artefactos em bundle.

Usar código carregado

Defina code_source_path para um /Workspace/… caminho de ou /Volumes/… para um arquivo de código que já esteja carregado. O pacote usa esse caminho sem empacotar o seu diretório local.

Configurar computação e ambientes

Definido accelerator_count para múltiplos das GPUs por nó codificado em accelerator_type. Por exemplo, GPU_8xH100 com accelerator_count: 16 corridas em dois nós. Consulte Opções de hardware para orientação de hardware.

Para uma carga de trabalho multi-nós, o AI Runtime executa o comando em cada nó. O ambiente da tarefa inclui NUM_NODES, WORLD_SIZE, LOCAL_WORLD_SIZE, MASTER_ADDR, e MASTER_PORT. Leia estas variáveis no seu comando de treino distribuído.

Declare dependências no bloco do environments trabalho e selecione o ambiente com o environment_key. O seguinte fragmento de configuração instala o PyTorch no ambiente de treino:

resources:
  jobs:
    train:
      tasks:
        - task_key: train
          environment_key: training
      environments:
        - environment_key: training
          spec:
            environment_version: '6'
            dependencies:
              - torch

Use environment_version para um ambiente Standard. Para usar um ambiente de IA Databricks, defina base_environment , por exemplo workspace-base-environments/databricks_ai_v6, . Veja Configurar o ambiente.

Para uma imagem Docker personalizada, defina docker_image_url e ai_runtime_task siga Use imagens Docker personalizadas com a linha de comando legada de Python.

Passar configuração e dados para tarefas

Defina uma entrada ao nível environment_variables do trabalho e selecione-a com o environment_variables_key. Coloca valores variables simples e usa {{secrets/scope/key}} para referências secretas. Esta configuração requer a pré-visualização das variáveis de ambiente descrita em Configurar variáveis de ambiente para trabalhos serverless.

Para passar parâmetros por HYPERPARAMETERS_PATH, guarde um hyperparameters.yaml ficheiro ao lado do script referenciado por command_path. O bundle sincroniza ambos os ficheiros, e o runtime define HYPERPARAMETERS_PATH para o ficheiro de parâmetros do teu comando de treino. Para conversão a partir de uma carga de trabalho existente em YAML, veja Converter uma carga de trabalho de IA em tempo de execução para um bundle.

Note

An não suporta valores de ai_runtime_task tarefas de trabalho ({{tasks.<task_key>.values.<name>}} ou dbutils.jobs.taskValues). Para passar dados entre tarefas, escreva-os num local partilhado, como um volume do Unity Catalog, e use o mesmo caminho em ambas as tarefas.

Recursos adicionais