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

Use esta referência para personalizar um ai_runtime_taskem 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 GPU e compor tarefas.

Para campos de tarefa e suas definições, veja a referência de tarefas de IA Runtime. Defina tentativas, tempos de espera, permissões e environment_key na tarefa ou tarefa ao redor.

Envie seu código de treinamento

O pacote sincroniza arquivos, 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 treinamento, defina code_source_path para um artefato empacotado ou um caminho de espaço de trabalho ou volume.

Empacotar um diretório local

Declare um tgz artefato para empacotar seu código em databricks bundle deploy. Esse 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 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. Após mudar para esse diretório, execute python train.py:

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

Para configurações de artefatos, incluindo path, include, git, e files, veja a referência de artefatos em feixes.

Use código enviado

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

Configurar computação e ambientes

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

Para uma carga de trabalho multi-nós, o AI Runtime executa o comando em todos os nós. O ambiente de tarefas inclui NUM_NODES, WORLD_SIZE, LOCAL_WORLD_SIZE, MASTER_ADDR, e MASTER_PORT. Leia essas variáveis no seu comando de treinamento distribuído.

Declare dependências no bloco environments da tarefa e selecione o ambiente com a environment_keytarefa . O seguinte fragmento de configuração instala o PyTorch no ambiente de treinamento:

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 padrão. Para usar um ambiente de IA Databricks, defina base_environment , por exemplo workspace-base-environments/databricks_ai_v6, . Veja Configuração do 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 no nível environment_variables do cargo e selecione-a junto com o arquivo da tarefa environment_variables_key. Coloque valores variables simples e use {{secrets/scope/key}} para referências secretas. Essa configuração requer a pré-visualização das variáveis de ambiente descrita em Configurar variáveis de ambiente para trabalhos serverless.

Para passar os parâmetros por HYPERPARAMETERS_PATH, salve um hyperparameters.yaml arquivo ao lado do script referenciado por command_path. O bundle sincroniza ambos os arquivos, e o runtime define HYPERPARAMETERS_PATH para o arquivo de parâmetros do seu comando de treinamento. Para conversão de uma carga de trabalho existente em YAML, veja Converter uma carga de trabalho em tempo de execução de IA para um bundle.

Note

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

Recursos adicionais