Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Zet een bestaande AI Runtime workload YAML om in Declarative Automation Bundles om deze als een persistente taak te beheren, voeg een schema toe en stel deze samen met preprocessingtaken. Gebruik databricks air convert-to-dabs om de bundel te genereren, of gebruik de veldtoewijzingen op deze pagina om de bundel handmatig te converteren.
Requirements
- Een bestaande workload-YAML en de bijbehorende trainingscode.
- De nieuwste Databricks CLI. Werk een bestaande installatie bij voordat je converteert.
- Om de gegenereerde taak te deployen en uit te voeren, zijn een werkruimte die voldoet aan de AI-runtime-eisen en een CLI die daarop is geauthenticeerd vereist. Zie GPU-workloads plannen en taken samenstellen.
Converteer automatisch een workload
Als je al een workload draait met databricks air run --file train.yaml, zet dan de workload YAML om met databricks air convert-to-dabs.
Begin met je bestaande workload, YAML en code. Bijvoorbeeld,
train.yamlkan wijzen op een trainingsscript insrc/: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.pyVoer de conversie uit vanuit de map die
train.yamlbevat:databricks air convert-to-dabs train.yamlHet commando maakt
databricks.ymlen eengenerated_artifacts/-map aan naast de YAML. Het vertaalt de configuratie lokaal. De bundel uploadt de code wanneer je hem uitrolt. Voor andere directory-indelingen en overschrijfopties, zie Converterpaden en gegenereerde bestanden.Valideer, deploy en voer de gegenereerde taak uit:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
De converter maakt een job aan met één GPU-taak. Om een schema en preprocessing-taken toe te voegen aan databricks.yml, volg Schedule GPU workloads and compose tasks. De gedeployde job blijft bestaan tussen de runs door. Gebruik databricks bundle destroy om het te verwijderen als je klaar bent.
Converterpaden en gegenereerde bestanden
databricks air convert-to-dabs train.yaml schrijft de bundel standaard naar de map van het invoer-YAML-bestand. Het resolveert een relatief pad code_source.root_path ten opzichte van de map van de YAML.
Voor een codebron moet de opgeloste bronmap strikt binnen de bundeluitvoermap staan. Met de standaard uitvoerlocatie, wordt root_path: . omgezet naar de bundelwortel en wordt afgewezen. Gebruik ofwel een bronsubdirectory, zoals src, of selecteer een outputmap die de bronmap bevat.
Bijvoorbeeld, als /project/training/train.yamlroot_path: . gebruikt, schrijft het volgende commando de bundel naar /project en verpakt /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir verandert waar de bundel wordt weggeschreven. Het kopieert of verplaatst de broncode niet. Voer de volgende databricks bundle commando's uit vanuit de uitvoermap.
Als gegenereerde bestanden al bestaan, stopt de conversie. Gebruik --force om ze te overschrijven. Dit vervangt de gegenereerde bundelconfiguratie, inclusief eventuele handmatige bewerkingen aan dat bestand.
De converter schrijft de volgende bestanden:
-
databricks.yml: de bundelconfiguratie, inclusief de GPU-taak en code-artefact. -
generated_artifacts/command.sh: het commandoscript. -
generated_artifacts/training_config.yaml: de werklastconfiguratie. -
generated_artifacts/hyperparameters.yaml: geschreven wanneerparametersis ingesteld. -
generated_artifacts/env_vars.jsonengenerated_artifacts/secret_env_vars.json: geschreven wanneer omgevingsvariabelen of geheimen worden ingesteld.
Houd de gegenereerde bestanden bij elkaar. De bundel zet ze tijdens de uitrol over. Wanneer hyperparameters.yaml aanwezig is naast command.sh, stelt de runtime HYPERPARAMETERS_PATH in op dat bestand.
Wijs werklastvelden handmatig toe
Gebruik de volgende mappings bij het handmatig converteren naar een bundel vanuit een AI Runtime-workload YAML. Voor automatische conversie volg Converteer een werklast automatisch. Voor taakvelddefinities, zie de AI Runtime-taakreferentie.
| Workload YAML-veld | Bundle-instelling |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Verplaats het commando naar een shellscript en verwijs ernaar met 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 |
Pak de code met een tgz artefact en verwijs ernaar met ai_runtime_task.code_source_path, of gebruik een geüploade werkruimte of volumepad. |
environment.dependencies |
Het werk is environments[].spec.dependencies. |
environment.version |
environments[].spec.environment_version voor een standaardomgeving, of environments[].spec.base_environment voor een Databricks AI-omgeving. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
De environment_variables van de opdracht en de environment_variables_key van de taak. |
parameters |
Een hyperparameters.yaml bestand naast het script waarnaar door command_path wordt verwezen. De runtime stelt HYPERPARAMETERS_PATH in op dit bestand. |
max_retries |
De taak max_retries. |
timeout_minutes |
De timeout_seconds van de taak, waarbij je minuten met 60 vermenigvuldigt. |
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 |