Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Converti un YAML di un workload AI Runtime esistente in Declarative Automation Bundles per gestirlo come un lavoro persistente, aggiungere una pianificazione e comporlo con compiti di pre-elaborazione. Usa databricks air convert-to-dabs per generare il bundle, oppure usa le mappature dei campi in questa pagina per convertirlo manualmente.
Requisiti
- Un file YAML del carico di lavoro esistente e il suo codice di addestramento.
- L'ultima CLI di Databricks. Aggiorna un'installazione esistente prima di convertire.
- Per distribuire ed eseguire il lavoro generato, un workspace supportato con l'anteprima AI Runtime abilitata e la CLI autenticata su di esso. Pianificare i carichi di lavoro della GPU e comporre attività.
Converti automaticamente un workload
Se già esegui un workload con databricks air run --file train.yaml, converti il file YAML del workload con databricks air convert-to-dabs.
Inizia con il tuo workload esistente, YAML e codice. Ad esempio,
train.yamlpuò puntare a uno script di addestramento insrc/:experiment_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.pyDalla directory che contiene
train.yaml, esegui la conversione:databricks air convert-to-dabs train.yamlIl comando crea un
databricks.ymle una directorygenerated_artifacts/accanto al YAML. Traduce localmente la configurazione. Il bundle carica il codice quando lo distribuisci. Per altri layout di directory e opzioni di sovrascrittura, vedi Percorso di convertitore e file generati.Convalida, pubblica ed esegui il processo generato:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
Il convertitore crea un lavoro con una sola attività GPU. Per aggiungere una pianificazione e attività di preelaborazione a databricks.yml, segui Pianificare i carichi di lavoro GPU e comporre attività. Il job distribuito persiste tra una run e l'altra. Usa databricks bundle destroy per rimuoverlo quando hai finito.
Percorsi del convertitore e file generati
databricks air convert-to-dabs train.yaml scrive il bundle nella directory del file YAML di input per impostazione predefinita. Risolve un percorso relativo code_source.snapshot.root_path rispetto alla directory del file YAML.
Per una sorgente di codice snapshot, la directory sorgente risolta deve trovarsi strettamente all'interno della directory di output del bundle. Con la posizione di output predefinita, root_path: . si risolve alla radice del bundle e viene rifiutato. O si utilizza una sottocartella sorgente, come src, oppure si seleziona una cartella di output che contenga la directory sorgente.
Ad esempio, se /project/training/train.yaml usa root_path: ., il seguente comando scrive il bundle in /project e impacchetta /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir modifica il punto in cui il bundle viene scritto. Non copia né muove il codice sorgente. Esegui i comandi successivi databricks bundle nella cartella di output.
Se i file generati esistono già, la conversione si interrompe. Usa --force per sovrascriverli. Questo sostituisce la configurazione del bundle generato, incluse eventuali modifiche manuali a quel file.
Il convertitore scrive i seguenti file:
-
databricks.yml: la configurazione del bundle, inclusi l'attività GPU e l'artefatto di codice. -
generated_artifacts/command.sh: lo script di comando. -
generated_artifacts/training_config.yaml: la configurazione del carico di lavoro. -
generated_artifacts/hyperparameters.yaml: scritto quandoparametersè impostato. -
generated_artifacts/env_vars.jsonegenerated_artifacts/secret_env_vars.json: scritto quando vengono impostate variabili di ambiente o segreti.
Mantieni insieme i file generati. Il bundle li carica durante il deployment. Quando hyperparameters.yaml è presente accanto a command.sh, il runtime imposta HYPERPARAMETERS_PATH su quel file.
Mappare manualmente i campi di carico di lavoro
Usa le seguenti mappature quando converti manualmente in un bundle da un YAML di workload AI Runtime. Per la conversione automatica, segui Convertire automaticamente un carico di lavoro. Per le definizioni dei campi del task, consulta il riferimento al task AI Runtime.
| Campo YAML del carico di lavoro | Impostazione del pacchetto |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Sposta il comando in uno script shell e fai riferimento a esso con 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 |
Impacchetta il codice con un artefatto tgz e farvi riferimento con ai_runtime_task.code_source_path, oppure usa un percorso di workspace o volume caricato. |
environment.dependencies |
Il lavoro environments[].spec.dependencies. |
environment.version |
environments[].spec.environment_version per un ambiente Standard, o environments[].spec.base_environment per un ambiente di IA Databricks. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
Il environment_variables del lavoro e il environment_variables_key del compito. |
parameters |
Un hyperparameters.yaml file accanto allo script citato da command_path. Il runtime imposta HYPERPARAMETERS_PATH su questo file. |
max_retries |
Del compito max_retries. |
timeout_minutes |
Il timeout_seconds dell'attività, moltiplicando i minuti per 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 |