Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Konvertera en befintlig AI-runtime-arbetsbelastnings-YAML till Declarative Automation Bundles för att hantera den som ett varaktigt jobb, lägg till ett schema och komponera den med förbehandlingsuppgifter. Använd databricks air convert-to-dabs för att generera paketet, eller använd fältmappningarna på denna sida för att konvertera det manuellt.
Krav
- En befintlig workload-YAML och dess träningskod.
- Den senaste Databricks CLI. Uppdatera en befintlig installation innan du konverterar.
- För att distribuera och köra det genererade jobbet krävs en stödd arbetsyta med AI Runtime-förhandsversionen aktiverad och att CLI:t är autentiserat mot den. Se Schemalägg GPU-arbetsbelastningar och skapa uppgifter.
Konvertera en arbetslast automatiskt
Om du redan kör en arbetsbelastning med databricks air run --file train.yaml, konvertera dess arbetsbelastning YAML med databricks air convert-to-dabs.
Börja med din befintliga workload-YAML och kod. Till exempel
train.yamlkan peka på ett träningsskript isrc/: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.pyFrån katalogen som innehåller
train.yaml, kör konverteringen:databricks air convert-to-dabs train.yamlKommandot skapar
databricks.ymloch en kataloggenerated_artifacts/bredvid YAML-filen. Den översätter konfigurationen lokalt. Bundlen laddar upp koden när du distribuerar den. För andra kataloglayouter och överskrivningsalternativ, se Sökvägar för Converter och genererade filer.Validera, distribuera och kör det genererade jobbet:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
Konverteraren skapar ett jobb med en GPU-uppgift. Om du vill lägga till ett schema och förbehandlingsuppgifter i databricks.yml, följer du Schemalägg GPU-arbetsbelastningar och skapa uppgifter. Det driftsatta jobbet kvarstår mellan körningarna. Använd databricks bundle destroy för att ta bort den när du är klar.
Konverteringssökvägar och genererade filer
databricks air convert-to-dabs train.yaml skriver paketet till indata-YAML:s katalog som standard. Den tolkar en relativ sökväg code_source.root_path relativt till YAML-filens katalog.
För en kodkälla måste den uppslagna källkatalogen vara strikt inuti bundle-utmatningskatalogen. Med standardplatsen för utdata pekar root_path: . på paketets rotkatalog och avvisas. Använd antingen en källunderkatalog, såsom src, eller välj en utdatakatalog som innehåller källkatalogen.
Till exempel, om /project/training/train.yaml använder root_path: ., skriver följande kommando bunten till /project och paketerar /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir ändrar var paketet skrivs. Den kopierar inte eller flyttar källkoden. Kör de efterföljande databricks bundle kommandona från utdatakatalogen.
Om genererade filer redan finns upphör konverteringen. Använd --force för att skriva över dem. Detta ersätter den genererade bundle-konfigurationen, inklusive eventuella manuella redigeringar av den filen.
Omvandlaren skriver följande filer:
-
databricks.yml: paketkonfigurationen, inklusive GPU-uppgiften och kodartefakten. -
generated_artifacts/command.sh: kommandoskriptet. -
generated_artifacts/training_config.yaml: konfigurationen för arbetsbelastningen. -
generated_artifacts/hyperparameters.yaml: skrivs närparametersär satt. -
generated_artifacts/env_vars.jsonochgenerated_artifacts/secret_env_vars.json: skrivs när miljövariabler eller hemligheter sätts.
Behåll de genererade filerna tillsammans. Bundlen laddar upp dem under driftsättningen. När hyperparameters.yaml finns bredvid command.sh sätter körtiden HYPERPARAMETERS_PATH till den filen.
Mappa arbetsbelastningsfält manuellt
Använd följande mappningar när du manuellt konverterar till ett paket från en YAML för AI Runtime-arbetsbelastning. För automatisk konvertering, följ Konvertera en arbetsbelastning automatiskt. För definitioner av uppgiftsfält, se referensen för AI Runtime-uppgifter.
| YAML-fältet för arbetsbelastning | Paketinställning |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Flytta kommandot till ett shell-skript och referera det med 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 |
Paketera koden med en tgz artefakt och referera den med ai_runtime_task.code_source_path, eller använd en uppladdad arbetsyta eller volymväg. |
environment.dependencies |
Jobbets environments[].spec.dependencies. |
environment.version |
environments[].spec.environment_version för en Standardmiljö, eller environments[].spec.base_environment för en Databricks AI-miljö. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
Jobbets environment_variables och uppgiftens environment_variables_key. |
parameters |
En hyperparameters.yaml fil bredvid skriptet som command_path refererar till. Runtimen ställer in HYPERPARAMETERS_PATH på denna fil. |
max_retries |
Uppgiftens max_retries. |
timeout_minutes |
Uppgiftens timeout_seconds, multiplicera minuter med 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 |