기존의 AI 런타임 워크로드 YAML을 Declarative Automation Bundles로 변환하여 영구 작업으로 관리하고, 일정을 추가하며, 전처리 작업과 함께 조합할 수 있습니다.
databricks air convert-to-dabs을 사용해 번들을 생성하거나, 이 페이지의 필드 매핑을 사용해 수동으로 변환하세요.
Requirements
- 기존 워크로드 YAML과 그 학습 코드.
- 최신 Databricks CLI입니다. 변환하기 전에 기존 설치를 업데이트하세요.
- 생성된 작업을 배포하고 실행하기 위해, AI 런타임 요구사항을 충족하는 작업 공간과 그에 인증된 CLI가 필요합니다. GPU 워크로드 예약 및 작업 작성 항목을 참조하세요.
워크로드 자동 변환
이미 databricks air run --file train.yaml로 워크로드를 실행 중이라면, databricks air convert-to-dabs로 해당 워크로드 YAML을 변환하세요.
기존 작업 부하의 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.pytrain.yaml가 포함된 디렉터리에서 변환을 실행합니다:databricks air convert-to-dabs train.yaml이 명령어는 YAML과 나란히
generated_artifacts/및databricks.yml디렉터리를 생성합니다. 이 시스템은 구성을 로컬로 번역합니다. 번들은 배포할 때 코드를 업로드합니다. 다른 디렉터리 레이아웃 및 덮어쓰기 옵션에 대해서는 변환기 경로 및 생성된 파일을 참조하세요.생성된 작업을 검증, 배포, 실행하세요:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
변환기는 GPU 작업 1개가 포함된 작업을 생성합니다. 스케줄과 전처리 작업을 databricks.yml추가하려면 GPU 워크로드 예약 및 작업 작성을(를) 따르세요. 배포된 작업은 실행 간에 유지됩니다.
databricks bundle destroy 다 끝나면 제거하세요.
변환기 경로 및 생성된 파일
databricks air convert-to-dabs train.yaml 기본적으로 번들을 입력 YAML의 디렉터리에 씁니다. YAML 파일의 디렉터리를 기준으로 상대 경로 code_source.root_path를 확인합니다.
코드 소스의 경우, 확인된 소스 디렉터리는 번들 출력 디렉터리 내에 엄격히 있어야 합니다. 기본 출력 위치에서는 root_path: .가 번들 루트로 해석되어 거부됩니다. 소스 서브디렉터리(예: src, )를 사용하거나, 소스 디렉터리가 포함된 출력 디렉터리를 선택하세요.
예를 들어, root_path: .가 /project/training/train.yaml를 사용하는 경우 다음 명령어는 번들을 /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를 해당 파일로 설정합니다.
작업 부하 필드를 수동으로 매핑합니다
AI 런타임 워크로드 YAML에서 번들로 수동으로 변환할 때는 다음 매핑을 사용하세요. 자동 변환을 위해서는 '워크로드를 자동으로 변환'을 따르세요. 작업 필드 정의에 대해서는 AI 런타임 작업 참고 자료를 참조하세요.
| 워크로드 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 표준 환경용 또는 environments[].spec.base_environment Databricks AI 환경용. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
작업의 environment_variables 및 과제의 environment_variables_key |
parameters |
command_path에서 참조하는 스크립트와 같은 위치에 있는 hyperparameters.yaml 파일입니다. 런타임은 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 |