Informacje referencyjne dotyczące pliku YAML obciążenia roboczego

Ta strona opisuje pola YAML zaakceptowane przez databricks air runobciążenie . Składnia poleceń i flagi znajdziesz w Databricks air run. Aby przesłać obciążenie, zobacz szybki start AI Runtime.

Każde obciążenie wymaga experiment_name, compute, oraz command.

Example

Poniższy przykład przedstawia przykładową konfigurację obciążenia:

experiment_name: my-training
compute:
  accelerator_type: GPU_1xA10
  num_accelerators: 1
environment:
  version: 6
  dependencies:
    - torch
code_source:
  root_path: .
command: python $CODE_SOURCE_PATH/train.py

experiment_name

Rodzaj: Ciąg

Required. Kluczem experiment_name jest nazwa eksperymentu MLflow.

Jeśli eksperyment o tej nazwie nie istnieje, AI Runtime go tworzy. W przeciwnym razie AI Runtime dodaje nowy przebieg do istniejącego eksperymentu.

obliczanie

Typ: Mapa

Required. Obiekt definiuje compute konfigurację akceleratora.

Key Typ Description
accelerator_type ciąg Required. Typ akceleratora akceptowany przez CLI i dostępny w przestrzeni roboczej. Dopasowanie uwzględnia wielkość liter.
num_accelerators liczba całkowita Required. Dodatnia liczba akceleratorów była obsługiwana dla wybranego typu akceleratora.
pool_id ciąg ID przeznaczonej pojemności GPU.
priority_class ciąg Priorytet harmonogramowania dla obciążeń korzystających z przydzielonej pojemności GPU. Akceptowane wartości to BEST_EFFORT, NORMALi CRITICAL. Wymaga pool_id.

Typy i liczby akceleratorów zależą od przestrzeni roboczej, chmury i regionu. Aby uzyskać wybór sprzętu i dostępność, zobacz Sprzęt.

command

Rodzaj: Ciąg

Required. Klucz command zawiera niepuste polecenie lub skrypt powłoki. Ścieżki w poleceniu odnoszą się do zdalnych ścieżek plików w kontenerze obciążenia. Gdy code_source jest ustawiony, zawiera $CODE_SOURCE_PATH bezwzględną ścieżkę do wyodrębnionego kodu.

środowisko

Typ: Mapa

Obiekt environment wybiera środowisko zarządzane z opcjonalnymi zależnościami lub niestandardowy obraz Unity Catalog.

Key Typ Description
version ciąg lub liczba całkowita Wersja środowiska numerycznego, taka jak 6, lub identyfikator środowiska AI Databricks, na przykład databricks_ai_v6. databricks_ai_v Identyfikator wymaga wersji 5 lub nowej. Jeśli zostanie pominięty, CLI używa aktualnego domyślnego poziomu AI Runtime.
dependencies lista łańcuchów znaków Specyfikacje pakietów przekazywane do środowiska serwerless. Domyślnie nie ma dodatkowych zależności.
unity_catalog_image ciąg Własny obraz w formacie <catalog>.<schema>.<image>:<tag>. Wzajemnie wykluczające się z i versiondependencies. Instrukcje konfiguracji znajdziesz w artykule Używaj niestandardowych obrazów Dockera z AI Runtime.

Aby uzyskać wskazówki dotyczące wyboru i rozszerzenia środowiska, zobacz : Skonfiguruj swoje środowisko.

Przykład środowiska zarządzanego
environment:
  version: 6
  dependencies:
    - torch

Aby użyć niestandardowego obrazu zamiast środowiska zarządzanego, określ tylko unity_catalog_image:

Przykład niestandardowego obrazu
environment:
  unity_catalog_image: main.ml.training:v1

code_source

Typ: Mapa

Obiekt pakuje code_source lokalny kod do obciążenia.

Key Typ Description
root_path ciąg Wymagane w przypadku code_source ustawienia. Lokalny katalog do pakowania. Katalog musi istnieć, gdy CLI rozpoczyna uruchomienie.
remote_volume ciąg Lokalizacja wolumin katalogu Unity dla przesłanego archiwum. Musi zaczynać się od /Volumes/. Domyślnie wybiera lokalizację w przestrzeni roboczej.
include_paths lista łańcuchów znaków Ścieżki do uwzględnienia względem .root_path Elementy muszą być niepuste i względne, i nie mogą zawierać ... Pomiń klucz do uwzględnienia wszystkich wybranych plików. Pusta lista nie jest prawidłowa.
git obiekt Przypina migawkę kodu źródłową do lokalnej gałęzi Git lub commit.

Jeśli pominiesz git, CLI pakuje drzewo robocze, w tym pliki niezadeklarowane i nieśledzone, które nie są wyłączone przez Git i ignorują reguły. Relatywny root_path rozwiązuje się z katalogu zawierającego plik YAML obciążenia.

Git

Typ: Mapa

Obiekt git obsługuje następujące klucze:

Key Typ Description
branch ciąg Wymagane, gdy commit jest pomijane. Pakuje lokalnego SZEFA oddziału. Wybrane pliki nie mogą zawierać zmian bez zobowiązań.
commit ciąg Wymagane, gdy branch jest pomijane. Pakuje commit z lokalnego magazynu obiektów Git. Wzajemnie wykluczające się z branch.
Example

Poniższy przykład pakuje ścieżki z lokalnej gałęzi:main

code_source:
  root_path: ./src
  include_paths:
    - training
    - configs
  git:
    branch: main

env_variables

Typ: Odwzorowanie ciągów znaków

Klucz env_variables zawiera zwykłe nazwy zmiennych środowiskowych oraz wartości ciągów znaków. Imię nie może również pojawić się w .secrets

Example
env_variables:
  BATCH_SIZE: '32'
  LEARNING_RATE: '0.001'

idempotency_token

Rodzaj: Ciąg

Klucz idempotency_token oznacza powtarzające się zgłoszenia. Powtarzane zgłoszenie tym samym żetonem zwraca istniejący bieg. CLI generuje UUID, gdy ten klucz zostanie pominięty. Flaga --idempotency-key dowodzenia ma pierwszeństwo.

max_retries

Typ: Liczba całkowita

Klucz max_retries określa liczbę powtórek po pierwszej próbie. Wartość musi być nieujemna. Wartość domyślna: 3.

mlflow_artifact_location

Rodzaj: Ciąg

Klucz mlflow_artifact_location zawiera URI lub /Volumes/ ścieżkędbfs:/. Jeśli pominiesz ten klucz, nowy eksperyment używa domyślnej lokalizacji DBFS, a istniejący eksperyment korzysta z skonfigurowanej lokalizacji artefaktu. Dla istniejącego eksperymentu wartość musi odpowiadać lokalizacji artefaktu eksperymentu.

mlflow_experiment_directory

Rodzaj: Ciąg

Klucz mlflow_experiment_directory zawiera katalog workspace dla eksperymentu. Ścieżka musi zaczynać się od /Workspace.

mlflow_run_name

Rodzaj: Ciąg

Klucz mlflow_run_name zawiera nazwę serii. Jeśli pominiesz ten klucz, nazwa serii domyślnie przyjmuje wartość .experiment_name

parameters

Typ: Mapa

Klucz parameters zawiera wartości zagnieżdżone w formie swobodnej. CLI serializuje wartości do hyperparameters.yaml pozostałych artefaktów startowych.

Example
parameters:
  learning_rate: 0.001
  model:
    hidden_size: 1024

uprawnienia

Typ: Lista map

Klucz permissions zawiera dotacje przyznane po złożeniu wniosku. Jeśli przyznanie się nie powiedzie, proces pozostaje utworzony, a CLI wyświetla ostrzeżenie.

Każdy grant wspiera następujące klucze:

Key Typ Description
level ciąg Required. Poziom uprawnień, taki jak CAN_VIEW lub CAN_MANAGE. Przestrzeń robocza weryfikuje wartość.
user_name ciąg Adres e-mail użytkownika. Określmy dokładnie jedno z user_name, group_name, lub service_principal_name dla każdego przyznania.
group_name ciąg Nazwa grupy. Określmy dokładnie jedno z user_name, group_name, lub service_principal_name dla każdego przyznania.
service_principal_name ciąg Nazwa główna usługi. Określmy dokładnie jedno z user_name, group_name, lub service_principal_name dla każdego przyznania.
Example
permissions:
  - user_name: trainer@example.com
    level: CAN_MANAGE
  - group_name: training-team
    level: CAN_VIEW

secrets

Typ: Odwzorowanie ciągów znaków

Klucz secrets zawiera nazwy zmiennych środowiskowych mapowane na tajne odwołania w scope/key dokładnym formacie. Zakres i klucz muszą być niepuste. Imię nie może również pojawić się w .env_variables

Example
secrets:
  HF_TOKEN: my-scope/hf-token

Aby uzyskać informacje o tworzeniu i zarządzaniu sekretami, zobacz Zarządzanie tajemnicami.

timeout_minutes

Typ: Liczba całkowita

Klucz timeout_minutes ustala limit zegara ściennego dla całego przebiegu, wliczając powtórzenia. Wartość musi być dodatnia. Jeśli zostanie pominięty, obciążenie korzysta z domyślnego ustawienia AI Runtime.

usage_policy_id

Rodzaj: Ciąg

Klucz usage_policy_id zawiera kanoniczny UUID istniejącej polityki korzystania z serwera. Wzajemnie wykluczające się z usage_policy_name.

usage_policy_name

Rodzaj: Ciąg

Klucz usage_policy_name zawiera nazwę istniejącej polityki użycia serwera. Wzajemnie wykluczające się z usage_policy_id.

Aby uzyskać informacje o tworzeniu polityk użytkowania, zobacz Użycie atrybutów z politykami użytkowania bez serwera.

Dodatkowe zasoby