Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Convierte un YAML de carga de trabajo de IA en tiempo de ejecución existente en Declarative Automation Bundles para gestionarlo como un trabajo persistente, añadir un horario y componerlo con tareas de preprocesamiento. Usa databricks air convert-to-dabs para generar el paquete, o utiliza los mapeos de campos de esta página para convertirlo manualmente.
Requirements
- Un YAML de carga de trabajo existente y su código de entrenamiento.
- La última CLI de Databricks. Actualiza una instalación existente antes de convertirla.
- Para implementar y ejecutar el trabajo generado, se necesita un espacio de trabajo que cumpla los requisitos de AI Runtime y la CLI autenticada en él. Consulta cómo programar cargas de trabajo de GPU y componer tareas.
Convertir automáticamente una carga de trabajo
Si ya ejecutas una carga de trabajo con databricks air run --file train.yaml, convierte su YAML de la carga de trabajo con databricks air convert-to-dabs.
Empieza con tu carga de trabajo actual, YAML y código. Por ejemplo,
train.yamlpuede apuntar a un script de entrenamiento ensrc/: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.pyDesde el directorio que contiene
train.yaml, ejecuta la conversión:databricks air convert-to-dabs train.yamlEl comando crea
databricks.ymly un directoriogenerated_artifacts/junto al YAML. Traduce la configuración localmente. El paquete sube el código cuando lo despliegas. Para otros diseños de directorios y opciones de sobrescritura, consulta Rutas de conversión y archivos generados.Validar, desplegar y ejecutar el trabajo generado:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
El convertidor crea un trabajo con una tarea de la GPU. Para agregar una programación y tareas de preprocesamiento a databricks.yml, siga Programar las cargas de trabajo de GPU y componer tareas. El trabajo desplegado persiste entre ejecuciones. Usa databricks bundle destroy para quitarlo cuando termines.
Rutas de convertidores y archivos generados
databricks air convert-to-dabs train.yaml escribe el conjunto en el directorio del YAML de entrada de forma predeterminada. Resuelve una ruta relativa code_source.root_path con respecto al directorio del archivo YAML.
Para un origen de código, el directorio fuente resuelto debe estar estrictamente dentro del directorio de salida del paquete. Con la ubicación de salida predeterminada, root_path: . se resuelve en la raíz del conjunto y se rechaza. Utiliza un subdirectorio fuente, como src, o selecciona un directorio de salida que contenga el directorio fuente.
Por ejemplo, si /project/training/train.yaml usa root_path: ., el siguiente comando escribe el paquete en /project y empaqueta /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir cambia dónde se escribe el bundle. No copia ni mueve el código fuente. Ejecuta los comandos siguientes databricks bundle desde el directorio de salida.
Si ya existen archivos generados, la conversión se detiene. Usa --force para sobrescribirlos. Esto reemplaza la configuración del paquete generado, incluyendo cualquier edición manual en ese archivo.
El convertidor escribe los siguientes archivos:
-
databricks.yml: la configuración del paquete, incluyendo la tarea de la GPU y el artefacto de código. -
generated_artifacts/command.sh: el script de comandos. -
generated_artifacts/training_config.yaml: la configuración de la carga de trabajo. -
generated_artifacts/hyperparameters.yaml: escrito cuandoparametersestá fijado. -
generated_artifacts/env_vars.jsonygenerated_artifacts/secret_env_vars.json: se escriben cuando se establecen variables de entorno o secretos.
Mantén juntos los archivos generados. El paquete los sube durante el despliegue. Cuando hyperparameters.yaml está presente junto a command.sh, el entorno de ejecución establece HYPERPARAMETERS_PATH en ese archivo.
Mapear manualmente los campos de carga de trabajo
Utiliza los siguientes mapeos al convertir manualmente a un paquete desde un YAML de carga de trabajo de AI Runtime. Para la conversión automática, sigue Convierte una carga de trabajo automáticamente. Para definiciones de campos de tarea, consulte la referencia de tareas de AI Runtime.
| campo YAML de carga de trabajo | Configuración del conjunto |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Mueve el comando a un script de shell y haz referencia a él 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 |
Empaqueta el código con un tgz artefacto y haz referencia con ai_runtime_task.code_source_path, o utiliza una ruta de espacio de trabajo o volumen subido. |
environment.dependencies |
El trabajo está environments[].spec.dependencies. |
environment.version |
environments[].spec.environment_version para un entorno Estándar, o environments[].spec.base_environment para un entorno de IA Databricks. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
Las environment_variables del trabajo y la environment_variables_key de la tarea. |
parameters |
Un hyperparameters.yaml archivo junto al script referenciado por command_path. El entorno de ejecución establece HYPERPARAMETERS_PATH en este archivo. |
max_retries |
Los max_retries de la tarea. |
timeout_minutes |
Los timeout_seconds de la tarea, multiplicando los 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 |