Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 o gerir como um trabalho persistente, adicione um cronograma e componha-o com tarefas de pré-processamento. Utilize databricks air convert-to-dabs para gerar o pacote, ou utilize os mapeamentos de campos nesta página para o converter manualmente.
Requirements
- Um YAML de workload existente e o seu código de treino.
- A mais recente Databricks CLI. Atualize uma instalação existente antes de converter.
- Para implementar e executar o trabalho gerado, é necessário ter um espaço de trabalho suportado com a pré-visualização do AI Runtime ativada e a CLI autenticada. Consulte Agendar cargas de trabalho da GPU e compor tarefas.
Converta automaticamente um workload
Se já executa uma carga de trabalho com databricks air run --file train.yaml, converta a sua carga de trabalho YAML com databricks air convert-to-dabs.
Comece com o seu workload existente, YAML e código. Por exemplo,
train.yamlpode apontar para um script de treino 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
databricks.ymle um diretóriogenerated_artifacts/junto ao YAML. Traduz a configuração localmente. O pacote carrega o código quando é implementado. Para outros layouts de diretórios e opções de sobrescrevimento, veja Caminhos do conversor e ficheiros gerados.Validar, fazer deploy e executar o job gerado:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
O conversor cria um trabalho com uma tarefa da GPU. Para adicionar um cronograma e tarefas de pré-processamento a databricks.yml, siga Agendar cargas de trabalho da GPU e compor as tarefas. A tarefa implantada mantém-se entre as execuções. Usa databricks bundle destroy para o remover quando já não precisares dele.
Caminhos do conversor e ficheiros gerados
databricks air convert-to-dabs train.yaml guarda o bundle no diretório do YAML de entrada por defeito. Resolve um caminho relativo code_source.root_path contra o 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 de saída padrão, root_path: . resolve para a raiz do bundle e é rejeitado. Pode usar um subdiretório de origem, como src, ou selecionar um diretório de saída que contenha o diretório de origem.
Por exemplo, se /project/training/train.yaml usar /project, o comando seguinte escreve o fibrado em /project/training e embala root_path: .:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir altera onde o pacote é gravado. Não copia nem move o código-fonte. Execute os comandos seguintes databricks bundle a partir do diretório de saída.
Se os ficheiros gerados já existirem, a conversão para. Use --force para os substituir. Isto substitui a configuração do bundle gerado, incluindo quaisquer edições manuais desse ficheiro.
O conversor escreve os seguintes ficheiros:
-
databricks.yml: a configuração do bundle, incluindo a tarefa da GPU e o artefacto 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: escritos quando variáveis de ambiente ou segredos são definidos.
Mantém os ficheiros gerados juntos. O pacote envia-os durante a implantação. Quando hyperparameters.yaml está presente ao lado de command.sh, o tempo de execução define HYPERPARAMETERS_PATH para esse ficheiro.
Mapear manualmente os campos da carga de trabalho
Utilize os seguintes mapeamentos ao converter manualmente para um pacote a partir de um YAML de uma 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, consulte a referência de tarefas do AI Runtime.
| Campo YAML da carga de trabalho | Definição do pacote |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Mude o comando para um script de shell e referencia-o 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 |
Empacota o código com um tgz artefact e referencia-o com ai_runtime_task.code_source_path, ou usa o caminho de um espaço de trabalho ou volume carregado. |
environment.dependencies |
do trabalho 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 |
O environment_variables do trabalho e o environment_variables_key da tarefa. |
parameters |
Um hyperparameters.yaml ficheiro ao lado do script referenciado por command_path. O ambiente de execução define HYPERPARAMETERS_PATH como este ficheiro. |
max_retries |
Da tarefa max_retries. |
timeout_minutes |
A 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 |