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 Pacotes de Automação Declarativa para gerenciá-lo como um trabalho persistente, adicione um cronograma e combine-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.
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 trabalho gerado, é necessário ter um espaço de trabalho suportado com a prévia do tempo de execução da IA ativada e a CLI autenticada nele. Consulte Agendar cargas 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, seu YAML e seu código atuais. 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 job 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 caminho relativo code_source.root_path em relação 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 a localização padrão de saída, root_path: . resolve para a raiz do bundle 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 muda 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 está presente ao lado de command.sh, o tempo de execução define HYPERPARAMETERS_PATH para aquele arquivo.
Mapear manualmente os campos de carga de trabalho
Use os seguintes mapeamentos ao converter manualmente para um bundle a partir de um YAML de workload do AI Runtime. Para conversão automática, siga as instruções em 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 |
A tarefa environments[].spec.dependencies. |
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 |
Do trabalho environment_variables e da tarefa environment_variables_key. |
parameters |
Um hyperparameters.yaml arquivo ao lado do script referenciado por command_path. O tempo de execução define HYPERPARAMETERS_PATH para este arquivo. |
max_retries |
A max_retries da tarefa. |
timeout_minutes |
A tarefa consiste em timeout_seconds, multiplicando 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 |