Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Converta um YAML de carga de trabalho em tempo de execução de IA existente em Declarative Automation Bundles para gerenciá-lo como um trabalho persistente, adicione um cronograma e componha-o com tarefas de pré-processamento. Use databricks air convert-to-dabs para gerar o bundle, ou use os mapeamentos de campos nesta página para convertê-lo manualmente.
Requirements
- 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 trabalho gerado, são necessários um workspace que atenda aos requisitos do AI Runtime e a CLI autenticada para ele. Veja como agendar cargas de trabalho de GPU e compor tarefas.
Converta um workload automaticamente
Se você já executa uma carga de trabalho com databricks air run --file train.yaml, converta seu YAML da carga de trabalho com databricks air convert-to-dabs.
Comece com sua carga de trabalho atual, YAML e código. Por exemplo,
train.yamlpode apontar para um script de treinamento emsrc/:experiment_name: my-training environment: dependencies: - torch compute: num_accelerators: 1 accelerator_type: GPU_1xA10 code_source: root_path: src command: python $CODE_SOURCE_PATH/train.pyA partir do diretório que contém
train.yaml, execute a conversão:databricks air convert-to-dabs train.yamlO comando cria o diretório
databricks.ymle um diretóriogenerated_artifacts/no mesmo diretório que o YAML. Ele traduz a configuração localmente. O pacote faz upload do código quando você o implanta. Para outros layouts de diretórios e opções de sobrescrevimento, veja caminhos do conversor e arquivos gerados.Valide, faça deploy e execute o job gerado:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
O conversor cria um trabalho com uma tarefa de GPU. Para adicionar um cronograma e tarefas de pré-processamento a databricks.yml, siga Agendar cargas de GPU e compor tarefas. O trabalho implantado persiste entre as execuções. Use databricks bundle destroy para removê-lo quando terminar.
Caminhos do conversor e arquivos gerados
databricks air convert-to-dabs train.yaml grava o pacote no diretório do YAML de entrada por padrão. Ele resolve um code_source.root_path relativo ao diretório do YAML.
Para uma fonte de código, o diretório fonte resolvido deve estar estritamente dentro do diretório de saída do bundle. Com o local de saída padrão, root_path: . resolve 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 usa root_path: ., o comando a seguir escreve o bundle em /project e empacota /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir altera o local onde o pacote é gravado. Ele não copia nem move o código-fonte. Execute os comandos subsequentes databricks bundle a partir do diretório de saída.
Se arquivos gerados já existirem, a conversão para. Use --force para sobrescrevê-los. Isso substitui a configuração gerada do bundle, incluindo quaisquer edições manuais naquele arquivo.
O conversor grava os seguintes arquivos:
-
databricks.yml: a configuração do bundle, incluindo a tarefa da 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: escrito quandoparametersestá 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 upload deles durante a implantação. Quando hyperparameters.yaml estiver presente ao lado de command.sh, o ambiente de execução define HYPERPARAMETERS_PATH para esse arquivo.
Mapear manualmente os campos de carga de trabalho
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 campos de tarefa, veja a referência de tarefas do AI Runtime.
| Campo YAML da carga de trabalho | Configuração do pacote |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Mova o comando para um script de shell e faça referência com ai_runtime_task.deployments[].command_path. |
compute.accelerator_type |
ai_runtime_task.deployments[].compute.accelerator_type |
compute.num_accelerators |
ai_runtime_task.deployments[].compute.accelerator_count |
code_source |
Empacote o código com um artefato tgz e faça referência a ele com ai_runtime_task.code_source_path, ou use um caminho de workspace carregado ou de volume. |
environment.dependencies |
O environments[].spec.dependencies do trabalho. |
environment.version |
environments[].spec.environment_version para um ambiente Standard, ou environments[].spec.base_environment para um ambiente de IA Databricks. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
O environment_variables do trabalho e o environment_variables_keyda tarefa. |
parameters |
Um hyperparameters.yaml arquivo ao lado do script referenciado por command_path. O ambiente de execução define HYPERPARAMETERS_PATH para este arquivo. |
max_retries |
O max_retries da tarefa. |
timeout_minutes |
O timeout_seconds da tarefa, multiplicando os minutos por 60. |
mlflow_run_name |
ai_runtime_task.mlflow_run |
mlflow_experiment_directory |
ai_runtime_task.mlflow_experiment_directory |
mlflow_artifact_location |
ai_runtime_task.mlflow_artifact_location |