Converter uma carga de trabalho do AI Runtime em um bundle
Converta um YAML de carga de trabalho do AI Runtime existente em Pacotes de Automação Declarativa para gerenciá-lo como um Job persistente, adicione o programar e componha-o com tarefas de pré-processamento. Use databricks air convert-to-dabs para gerar o pacote ou use os mapeamentos de campo nesta página para convertê-lo manualmente.
Requisitos
- Um YAML de carga de trabalho existente e seu código de treinamento.
- A versão mais recente da Databricks CLI. Atualize uma instalação existente antes de converter.
- Para implantar e execução o Job gerado, é necessário um Workspace que atenda aos requisitos do AI Runtime e uma CLI autenticada nele. Consulte Programar Workloads de GPU e compor tarefas.
Converter uma carga de trabalho automaticamente
Se você já executa uma carga de trabalho com databricks air run --file train.yaml, converta seu YAML de carga de trabalho com databricks air convert-to-dabs.
-
Comece com o YAML e o código da sua carga de trabalho existente. Por exemplo,
train.yamlpode apontar para um script de treinamento emsrc/:YAMLexperiment_name: my-trainingenvironment:dependencies:- torchcompute:num_accelerators: 1accelerator_type: GPU_1xA10code_source:root_path: srccommand: python $CODE_SOURCE_PATH/train.py -
No diretório que contém
train.yaml, execução a conversão:Bashdatabricks air convert-to-dabs train.yamlO comando cria
databricks.ymle um diretóriogenerated_artifacts/junto com o YAML. Ele traduz a configuração localmente. O pacote faz upload do código quando você o implanta. Para outras disposições de diretório e opções de substituição, consulte Converter caminhos e arquivos gerados. -
Validar, implantar e executar o Job gerado:
Bashdatabricks bundle validatedatabricks bundle deploydatabricks bundle run my-training --no-wait
O conversor cria um job com uma tarefa GPU. Para adicionar uma programação e tarefas de pré-processamento ao databricks.yml, siga Programar cargas de trabalho GPU e compor tarefas. O job implantado persiste entre as execuções. Use databricks bundle destroy para removê-lo quando terminar.
Converter caminhos e arquivos gerados
databricks air convert-to-dabs train.yaml grava o bundle no diretório YAML de entrada por default. Ele resolve um code_source.root_path relativo em relação ao diretório do YAML.
Para uma fonte de código, o diretório de origem resolvido deve estar estritamente dentro do diretório de saída do bundle. Com o local de saída default, root_path: . resolve para a raiz do bundle e é rejeitado. Use um subdiretório de source, como src, ou selecione um diretório de output que contenha o diretório de source.
Por exemplo, se /project/training/train.yaml usa root_path: ., o comando a seguir escreve o pacote em /project e empacota /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir altera onde o pacote é gravado. Ele não copia nem move o código-fonte. Execução dos comandos databricks bundle subsequentes a partir do diretório de saída.
Se os arquivos gerados já existirem, a conversão para. Use --force para sobrescrevê-los. Isso substitui a configuração do pacote gerada, incluindo quaisquer edições manuais nesse arquivo.
O conversor grava os seguintes arquivos:
databricks.yml: a configuração do pacote, incluindo a tarefa de GPU e o artefato de código.generated_artifacts/command.sh: o script de comando.generated_artifacts/training_config.yaml: a configuração da carga de trabalho.generated_artifacts/hyperparameters.yaml: gravado quandoparametersé definido.generated_artifacts/env_vars.jsonegenerated_artifacts/secret_env_vars.json: escrito quando variáveis de ambiente ou segredos são definidos.
Mantenha os arquivos gerados juntos. O pacote faz o upload durante o deploy. Quando hyperparameters.yaml está presente ao lado de command.sh, o runtime define HYPERPARAMETERS_PATH como esse arquivo.
Mapear campos de carga de trabalho manualmente
Use os seguintes mapeamentos ao converter manualmente para um pacote a partir de um YAML de carga de trabalho do AI Runtime. Para conversão automática, siga Converter uma carga de trabalho automaticamente. Para definições de campo de tarefa, consulte a referência de tarefas do AI Runtime.
Campo YAML de Workload | Configuração do pacote |
|---|---|
|
|
| Mova o comando para um script shell e faça referência a ele com |
|
|
|
|
| Pacote o código com um artefato |
|
|
|
|
|
|
| O |
| Um arquivo |
| A |
|
|
|
|
|
|
|
|