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 desplegar y ejecutar el trabajo generado, se necesita un espacio de trabajo que cumpla con los requisitos de tiempo de ejecución de IA 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 añadir una programación y tareas de preprocesamiento a databricks.yml, sigue Programar 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 paquete en el directorio del archivo YAML de entrada por defecto. 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 a la raíz del paquete y es rechazado. 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 de paquete |
|---|---|
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 |
El environment_variables del trabajo y el 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 a este archivo. |
max_retries |
El max_retries de la tarea. |
timeout_minutes |
La tarea de timeout_seconds, 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 |