Bir AI Çalışma Zamanı iş yükünü bir pakete dönüştürün

Mevcut bir AI Runtime iş yükü YAML dosyasını, onu kalıcı bir iş olarak yönetmek, bir program eklemek ve ön işleme görevleriyle birlikte oluşturmak için Declarative Automation Bundles'a dönüştürün. Paketi oluşturmak için databricks air convert-to-dabs kullanın veya paketi manuel olarak dönüştürmek için bu sayfadaki alan eşlemelerini kullanın.

Requirements

Bir iş yükünü otomatik olarak dönüştürme

Zaten databricks air run --file train.yaml ile bir iş yükü çalıştırıyorsanız, iş yükü YAML’sinidatabricks air convert-to-dabs ile dönüştürün.

  1. Mevcut iş yükü YAML dosyanız ve kodunuzu kullanarak başlayın. Örneğin, train.yaml aşağıdaki src/bir eğitim betiğine işaret edebilir:

    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. Içinde train.yamlbulunan dizinden dönüşümü çalıştırın:

    databricks air convert-to-dabs train.yaml
    

    Komut, YAML ile birlikte bir generated_artifacts/ ve bir databricks.yml dizini oluşturur. Konfigürasyonu yerel olarak çeviriyor. Paket, kodu dağıttığınızda karşıya yükler. Diğer dizin düzenleri ve üzerine yazma seçenekleri için bkz. Dönüştürücü yolları ve oluşturulan dosyalar.

  3. Oluşturulan görevi doğrulayın, dağıtıma alın ve çalıştırın:

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

Dönüştürücü tek bir GPU göreviyle iş yaratıyor. databricks.yml öğesine bir zamanlama ve ön işleme görevleri eklemek için GPU iş yüklerini zamanlama ve görevleri oluşturma bölümünü izleyin. Konuşlandırılan görev çalıştırmalar arasında kalıcıdır. İşiniz bitince, kaldırmak için databricks bundle destroy kullanın.

Dönüştürücü yolları ve oluşturulan dosyalar

databricks air convert-to-dabs train.yaml paketi varsayılan olarak giriş YAML dosyasının dizinine yazar. YAML dizinine göre göreli yol olan code_source.root_path çözümler.

Bir kod kaynağı için, çözülen kaynak dizini kesinlikle bundle çıktı dizininin içinde olmalıdır. Varsayılan çıkış konumunda, root_path: . paket köküne çözümlenir ve reddedilir. Ya bir kaynak alt dizini kullanın, örneğin src, ya da kaynak dizini içeren bir çıktı dizini seçin.

Örneğin, /project/training/train.yaml, root_path: . kullanıyorsa, aşağıdaki komut paketi /project konumuna yazar ve /project/training dosyasını paketler:

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

--output-dir paketin nereye yazılacağını değiştirir. Kaynak kodunu kopyalamaz veya taşımaz. Çıkış dizininden aşağıdaki databricks bundle komutları çalıştırın.

Oluşturulan dosyalar zaten varsa, dönüştürme durur. Bunların üzerine yazmak için --force kullanın. Bu, oluşturulan paket yapılandırmasının yerini alır; buna o dosyada yapılan manuel düzenlemeler de dahildir.

Dönüştürücü aşağıdaki dosyaları yazar:

  • databricks.yml: paket yapılandırması, GPU görevi ve kod artefaktı dahil.
  • generated_artifacts/command.sh: komut beti.
  • generated_artifacts/training_config.yaml: iş yükü yapılandırması.
  • generated_artifacts/hyperparameters.yaml: parameters ayarlandığında yazılır.
  • generated_artifacts/env_vars.json ve generated_artifacts/secret_env_vars.json: ortam değişkenleri veya gizli anahtarlar ayarlandığında yazılır.

Oluşturulan dosyaları bir arada tutun. Paket, dağıtım sırasında bunları karşıya yükler. hyperparameters.yaml, HYPERPARAMETERS_PATH yanında bulunduğunda, çalışma zamanı command.sh değerini o dosyaya ayarlar.

İş yükü alanlarını manuel olarak haritalayın

Bir AI Çalışma Zamanı iş yükü YAML'den bir pakete manuel olarak dönüştürürken aşağıdaki eşlemeleri kullanın. Otomatik dönüştürme için Bir iş yükünü otomatik olarak dönüştürme yönergelerini izleyin. Görev alanı tanımları için AI Çalışma Zamanı görev referansına bakınız.

İş yükü YAML alanı Paket ayarı
experiment_name ai_runtime_task.experiment
command Komutu bir shell scriptine taşıyın ve ona ai_runtime_task.deployments[].command_path ile referans verin.
compute.accelerator_type ai_runtime_task.deployments[].compute.accelerator_type
compute.num_accelerators ai_runtime_task.deployments[].compute.accelerator_count
code_source Kodu bir tgz artefaktla paketleyin ve ona ai_runtime_task.code_source_path, ile referans verin ya da yüklenen bir çalışma alanı veya hacim yolu kullanın.
environment.dependencies İşin environments[].spec.dependencies.
environment.version environments[].spec.environment_version Standart bir ortam için veya environments[].spec.base_environment Databricks yapay zeka ortamı için.
environment.docker_image.url ai_runtime_task.docker_image_url
env_variables, secrets İşin environment_variables ve görevin environment_variables_key.
parameters command_path tarafından başvurulan betiğin yanındaki bir hyperparameters.yaml dosya. Çalışma zamanı HYPERPARAMETERS_PATH öğesini bu dosyaya ayarlar.
max_retries Görevin max_retries.
timeout_minutes Görevin timeout_seconds, dakikayı 60 ile çarpmak.
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

Ek kaynaklar