Converter uma carga de trabalho do AI Runtime em um pacote
Converta um YAML de workload do AI Runtime existente em Pacotes de Automação Declarativa para gerenciá-lo como um job persistente, adicionar um programar, e compô-lo com tarefas de pré-processamento. Use databricks air convert-to-dabs para gerar o pacote ou use os mapeamentos de campos 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 CLI do Databricks. Atualize uma instalação existente antes de converter.
- Para implantar e executar o job gerado, é necessário um workspace compatível com a prévia do AI Runtime habilitada e a 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 o YAML da carga de trabalho com databricks air convert-to-dabs.
-
Comece com o código e o YAML de carga de trabalho existentes. Por exemplo,
train.yamlpode apontar para um script de treinamento emsrc/:YAMLexperiment_name: my-training
environment:
dependencies:
- torch
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
code_source:
type: snapshot
snapshot:
root_path: src
command: 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 ao YAML. Ele traduz a configuração localmente. O pacote faz o 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 realizar a execução do Job gerado:
Bashdatabricks bundle validate
databricks bundle deploy
databricks bundle run my-training --no-wait
O conversor cria um job com uma tarefa de GPU. Para adicionar uma programação e tarefas de pré-processamento a databricks.yml, siga Programar workloads de GPU e compor tarefas. O job implantado persiste entre as execuções. Use databricks bundle destroy para removê-lo quando terminar.
Converter paths e arquivos gerados
databricks air convert-to-dabs train.yaml grava o bundle no diretório do YAML de entrada por default. Ele resolve um code_source.snapshot.root_path relativo em relação ao diretório do YAML.
Para uma fonte de código de Snapshot, o diretório de origem resolvido deve estar estritamente dentro do diretório de saída do pacote. Com o local de saída default, root_path: . é resolvido para a raiz do pacote e rejeitado. Use um subdiretório de origem, como src, ou selecione um diretório de saída que contenha o diretório de origem.
Por exemplo, se /project/training/train.yaml usar root_path: ., o comando a seguir grava o pacote em /project e empacota /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir alterações em que o pacote é gravado. Ele não copia ou 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 será interrompida. Use --force para substituí-los. Isso substitui a configuração de bundle gerada, incluindo quaisquer edições manuais feitas 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 do workload.generated_artifacts/hyperparameters.yaml: gravado quandoparametersestá definido.generated_artifacts/env_vars.jsonegenerated_artifacts/secret_env_vars.json: gravado quando variáveis de ambiente ou segredos são definidos.
Mantenha os arquivos gerados juntos. O pacote faz o upload deles durante a implantação. Quando hyperparameters.yaml estiver presente ao lado de command.sh, o runtime definirá HYPERPARAMETERS_PATH para esse arquivo.
Mapear os campos de carga de trabalho manualmente
Use os seguintes mapeamentos ao converter manualmente para um pacote a partir de um YAML de workload do AI Runtime. Para conversão automática, siga Converter uma workload automaticamente. Para definições de campos de tarefa, consulte a referência de tarefas do AI Runtime.
Campo Workload YAML | Configuração de pacote |
|---|---|
|
|
| Mova o comando para um script shell e faça referência a ele com |
|
|
|
|
| Empacote o código com um artefato |
| O |
|
|
|
|
| O |
| Um arquivo |
| O |
| O |
|
|
|
|
|
|