Konversi beban kerja AI Runtime menjadi bundel

Konversi YAML beban kerja AI Runtime yang sudah ada menjadi Bundel Otomasi Deklaratif untuk mengelolanya sebagai pekerjaan persisten, tambahkan jadwal, dan kompusikan dengan tugas pra-pemrosesan. Gunakan databricks air convert-to-dabs untuk menghasilkan bundel, atau gunakan pemetaan bidang di halaman ini untuk mengonversinya secara manual.

Requirements

Konversi beban kerja secara otomatis

Jika Anda sudah menjalankan beban kerja dengan databricks air run --file train.yaml, konversi YAML beban kerja dengan databricks air convert-to-dabs.

  1. Mulailah dengan file YAML dan kode beban kerja yang sudah ada. Misalnya, train.yaml dapat menunjuk ke skrip pelatihan di 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. Dari direktori yang berisi train.yaml, jalankan konversi:

    databricks air convert-to-dabs train.yaml
    

    Perintah ini membuat databricks.yml dan direktori generated_artifacts/ di direktori yang sama dengan file YAML. Ini menerjemahkan konfigurasi secara lokal. Bundle mengunggah kode saat Anda menyebarkannya. Untuk tata letak direktori lain dan opsi timpa, lihat Jalur konverter dan file yang dihasilkan.

  3. Validasikan, sebarkan, dan jalankan job yang dihasilkan:

    databricks bundle validate
    databricks bundle deploy
    databricks bundle run my-training --no-wait
    

Konverter membuat pekerjaan dengan satu tugas GPU. Untuk menambahkan jadwal dan tugas pra-pemrosesan ke databricks.yml, ikuti Jadwalkan beban kerja GPU dan susun tugas. Job yang di-deploy tetap ada di antara eksekusi. Gunakan databricks bundle destroy untuk melepasnya saat Anda selesai menggunakannya.

Jalur konverter dan file yang dihasilkan

databricks air convert-to-dabs train.yaml secara default menulis bundle ke direktori file YAML input. Ini menyelesaikan path relatif code_source.root_path terhadap direktori YAML.

Untuk sumber kode, direktori sumber yang di-resolve harus benar-benar berada di dalam direktori keluaran bundle. Dengan lokasi output default, root_path: . mengarah ke root bundle dan ditolak. Gunakan subdirektori sumber, seperti src, atau pilih direktori output yang berisi direktori sumber.

Misalnya, jika /project/training/train.yaml menggunakan root_path: ., perintah berikut menulis bundel ke /project dan mengemas /project/training:

databricks air convert-to-dabs /project/training/train.yaml --output-dir /project

--output-dir mengubah lokasi penulisan bundel. Ia tidak menyalin atau memindahkan kode sumber. Jalankan perintah-perintah berikut databricks bundle dari direktori output.

Jika file yang dihasilkan sudah ada, konversi akan berhenti. Gunakan --force untuk menimpa file tersebut. Ini menggantikan konfigurasi bundle yang dihasilkan, termasuk pengeditan manual pada file tersebut.

Konverter menulis file-file berikut:

  • databricks.yml: konfigurasi bundle, termasuk tugas GPU dan artefak kode.
  • generated_artifacts/command.sh: skrip perintah.
  • generated_artifacts/training_config.yaml: konfigurasi beban kerja.
  • generated_artifacts/hyperparameters.yaml: ditulis saat parameters diatur.
  • generated_artifacts/env_vars.json dan generated_artifacts/secret_env_vars.json: ditulis ketika variabel lingkungan atau secret diatur.

Simpan file yang dihasilkan bersama-sama. Bundel mengunggahnya saat proses deployment. Ketika hyperparameters.yaml ada di samping command.sh, runtime menetapkan HYPERPARAMETERS_PATH ke file tersebut.

Petakan kolom beban kerja secara manual

Gunakan pemetaan berikut saat mengonversi manual ke bundle dari YAML beban kerja AI Runtime. Untuk konversi otomatis, ikuti Konversi workload secara otomatis. Untuk definisi bidang tugas, lihat referensi tugas AI Runtime.

Kolom YAML beban kerja Pengaturan bundel
experiment_name ai_runtime_task.experiment
command Pindahkan perintah ke dalam skrip shell dan referensikan dengan 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 Kemaskan kode dengan tgz artefak dan referensikan dengan ai_runtime_task.code_source_path, atau gunakan workspace atau jalur volume yang diunggah.
environment.dependencies Pekerjaannyaenvironments[].spec.dependencies.
environment.version environments[].spec.environment_version untuk lingkungan Standard, atau environments[].spec.base_environment untuk lingkungan AI Databricks.
environment.docker_image.url ai_runtime_task.docker_image_url
env_variables, secrets environment_variables pekerjaan dan tugasnya environment_variables_key.
parameters File hyperparameters.yaml di samping skrip yang dirujuk oleh command_path. Runtime mengatur HYPERPARAMETERS_PATH ke file ini.
max_retries Tugasnya max_retries.
timeout_minutes Tugasnya adalah timeout_seconds, mengalikan menit dengan 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

Sumber daya tambahan