AI 런타임 워크로드를 번들로 변환하세요

기존의 AI 런타임 워크로드 YAML을 Declarative Automation Bundles로 변환하여 영구 작업으로 관리하고, 일정을 추가하며, 전처리 작업과 함께 조합할 수 있습니다. databricks air convert-to-dabs을 사용해 번들을 생성하거나, 이 페이지의 필드 매핑을 사용해 수동으로 변환하세요.

Requirements

워크로드 자동 변환

이미 databricks air run --file train.yaml로 워크로드를 실행 중이라면, databricks air convert-to-dabs로 해당 워크로드 YAML을 변환하세요.

  1. 기존 작업 부하의 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
    
  2. train.yaml가 포함된 디렉터리에서 변환을 실행합니다:

    databricks air convert-to-dabs train.yaml
    

    이 명령어는 YAML과 나란히 generated_artifacts/ 및 databricks.yml 디렉터리를 생성합니다. 이 시스템은 구성을 로컬로 번역합니다. 번들은 배포할 때 코드를 업로드합니다. 다른 디렉터리 레이아웃 및 덮어쓰기 옵션에 대해서는 변환기 경로 및 생성된 파일을 참조하세요.

  3. 생성된 작업을 검증, 배포, 실행하세요:

    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

추가 리소스