Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Преобразуйте существующую спецификацию YAML рабочей нагрузки AI Runtime в Declarative Automation Bundles, чтобы управлять ею как постоянной задачей, добавить расписание и объединить её с задачами предварительной обработки. Используйте databricks air convert-to-dabs для генерации пакета или используйте сопоставления полей на этой странице для ручной конвертации.
Requirements
- Существующий YAML-файл workload и ее обучающий код.
- Последняя версия Databricks CLI. Обновите существующую установку перед конвертацией.
- Для развертывания и запуска сгенерированной задачи требуются рабочее пространство, соответствующее требованиям AI Runtime, и CLI, аутентифицированный в нём. См. раздел «Планирование рабочих нагрузок GPU и создание задач».
Автоматически преобразовать рабочую нагрузку
Если вы уже запускаете рабочую нагрузку с databricks air run --file train.yaml, конвертируйте её YAML-файл рабочей нагрузки с databricks air convert-to-dabs.
Начните с вашего существующего workload YAML и кода. Например,
train.yamlможет указывать на обучающий скрипт вsrc/: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.pyИз каталога, содержащего
train.yaml, выполните преобразование:databricks air convert-to-dabs train.yamlКоманда создаёт
databricks.ymlи каталогgenerated_artifacts/рядом с YAML-файлом. Конфигурация переводится локально. Бандл загружает код при развертывании. Для других вариантов каталогов и опций перезаписи см. Пути конвертера и сгенерированные файлы.Проверьте, разверните и запустите сгенерированную задачу:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
Конвертер создаёт задание с одной задачей GPU. Чтобы добавить расписание и задачи предобработки в databricks.yml, см. планирование нагрузок GPU и создание задач. Развернутое задание сохраняется между запусками. Используй databricks bundle destroy , чтобы удалить её, когда закончишь.
Пути конвертера и генерируемые файлы
databricks air convert-to-dabs train.yaml по умолчанию записывает bundle в каталог, содержащий входной YAML-файл. Он разрешает относительный путь code_source.root_path относительно каталога YAML-файла.
Для источника кода определённый исходный каталог должен находиться строго внутри каталога вывода пакета. При расположении вывода по умолчанию root_path: . указывает на корень пакета и отклоняется. Либо используйте подкаталог исходного кода, например src, либо выберите каталог вывода, содержащий каталог-источник.
Например, если /project/training/train.yaml использует root_path: ., следующая команда записывает пакет в /project и упаковывает /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir меняет место записи пакета. Он не копирует и не перемещает исходный код. Выполните следующие databricks bundle команды из каталога вывода.
Если сгенерированные файлы уже существуют, преобразование прекращается. Используйте --force, чтобы перезаписать их. Это заменяет сгенерированную конфигурацию пакета, включая любые ручные правки этого файла.
Конвертер записывает следующие файлы:
-
databricks.yml: конфигурация пакета, включая задачу GPU и артефакт кода. -
generated_artifacts/command.sh: командный скрипт. -
generated_artifacts/training_config.yaml: конфигурация рабочей среды. -
generated_artifacts/hyperparameters.yaml: записывается, когдаparametersустановлен. -
generated_artifacts/env_vars.jsonиgenerated_artifacts/secret_env_vars.json: указываются, когда устанавливаются переменные среды или секреты.
Сохраняйте сгенерированные файлы вместе. Пакет загружает их во время развертывания. Когда hyperparameters.yaml присутствует рядом с command.sh, среда выполнения устанавливает HYPERPARAMETERS_PATH на этот файл.
Сопоставьте поля рабочей нагрузки вручную
Используйте следующие сопоставления при ручной конвертации в bundle из AI Runtime workload YAML. Для автоматического преобразования следуйте инструкциям в Автоматическое преобразование рабочей нагрузки. Для определений полей задач см. справочник по задачам AI Runtime.
| Поле YAML для рабочей нагрузки | Настройка комплекта |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Переместите команду в скрипт оболочки и сошлитесь на него с помощью 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 |
Упаковывайте код с артефактом tgz и ссылайтесь на него с помощью ai_runtime_task.code_source_path, либо используйте загруженное рабочее пространство или путь тома. |
environment.dependencies |
Это работаenvironments[].spec.dependencies. |
environment.version |
environments[].spec.environment_version для среды Standard или environments[].spec.base_environment для среды искусственного интеллекта Databricks. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
Работа environment_variables и задачи environment_variables_key. |
parameters |
Файл hyperparameters.yaml рядом со скриптом, на который ссылается command_path. Среда выполнения устанавливает HYPERPARAMETERS_PATH для этого файла. |
max_retries |
У задачи max_retries. |
timeout_minutes |
У задачи timeout_seconds, умножая минуты на 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 |