Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przekonwertuj istniejące YAML obciążenia AI Runtime na Declarative Automation Bundles, aby zarządzać nim jako trwałym zadaniem, dodaj harmonogram i połącz go z zadaniami wstępnego przetwarzania. Użyj databricks air convert-to-dabs, aby wygenerować pakiet, lub użyj mapowania pól na tej stronie, aby ręcznie go przekonwertować.
Requirements
- Istniejący plik YAML obciążenia i jego kod treningowy.
- Najnowsze CLI Databricks. Zaktualizuj istniejącą instalację przed przekonwertowaniem.
- Aby wdrożyć i uruchomić wygenerowane zadanie, wymagana jest przestrzeń robocza spełniająca wymagania AI Runtime oraz uwierzytelniony względem niej interfejs CLI. Zobacz Harmonogramowanie obciążeń GPU i zadania kompozycji.
Automatycznie przekonwertuj obciążenie robocze
Jeśli już uruchamiasz workload z databricks air run --file train.yaml, przekonwertuj jego workload YAML za pomocą databricks air convert-to-dabs.
Zacznij od istniejącej definicji workloadu YAML i kodu. Na przykład może
train.yamlwskazywać na skrypt treningowy wsrc/: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.pyZ katalogu zawierającego
train.yaml, uruchom konwersję:databricks air convert-to-dabs train.yamlPolecenie tworzy
databricks.ymloraz kataloggenerated_artifacts/obok pliku YAML. Lokalnie tłumaczy konfigurację. Bundel przesyła kod, gdy go wdrażasz. Aby poznać inne układy katalogów i opcje nadpisania, zobacz Ścieżki konwerterów i wygenerowane pliki.Zweryfikuj, wdroż i uruchom wygenerowane zadanie:
databricks bundle validate databricks bundle deploy databricks bundle run my-training --no-wait
Konwerter tworzy zadanie z jednym zadaniem na GPU. Aby dodać harmonogram i zadania wstępnego przetwarzania do databricks.yml, postępuj zgodnie z instrukcjami w artykule Planowanie obciążeń GPU i tworzenie zadań. Wdrożone zadanie pozostaje pomiędzy uruchomieniami. Użyj databricks bundle destroy, aby go usunąć, gdy skończysz.
Ścieżki konwerterów i wygenerowane pliki
databricks air convert-to-dabs train.yaml domyślnie zapisuje bundle do katalogu pliku wejściowego YAML. Rozwiązuje ścieżkę względną code_source.root_path względem katalogu YAML.
Dla źródła kodu ustalony katalog źródłowy musi znajdować się ściśle wewnątrz katalogu wyjściowego pakietu. Przy domyślnej lokalizacji wyjściowej root_path: . wskazuje na korzeń wiązki i zostaje odrzucone. Użyj podkatalogu źródłowego, takiego jak src, albo wybierz katalog wyjściowy zawierający katalog źródłowy.
Na przykład, jeśli /project/training/train.yaml używa root_path: ., następującą komendą zapisuje wiązkę do /project i pakuje /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir zmienia miejsce zapisu bundla. Nie kopiuje ani nie przenosi kodu źródłowego. Wykonaj kolejne databricks bundle polecenia w katalogu wyjściowym.
Jeśli wygenerowane pliki już istnieją, konwersja się zatrzymuje. Używaj --force, żeby je nadpisać. Zastępuje to wygenerowaną konfigurację pakietu, w tym wszelkie ręczne edycje tego pliku.
Konwerter zapisuje następujące pliki:
-
databricks.yml: konfiguracja pakietu, w tym zadania GPU i artefaktu kodu. -
generated_artifacts/command.sh: skrypt poleceń. -
generated_artifacts/training_config.yaml: konfiguracja obciążenia roboczego. -
generated_artifacts/hyperparameters.yaml: zapisane, gdyparametersjest ustawione. -
generated_artifacts/env_vars.jsonorazgenerated_artifacts/secret_env_vars.json: wypisywane, gdy zmienne środowiskowe lub sekrety są ustawione.
Trzymaj wygenerowane pliki razem. Bundle przesyła je podczas wdrożenia. Gdy hyperparameters.yaml jest obecny obok command.sh, runtime ustawia HYPERPARAMETERS_PATH na ten plik.
Ręcznie mapuj pola obciążenia
Użyj następujących mapowań podczas ręcznej konwersji do pakietu z pliku YAML obciążenia AI Runtime. Aby przeprowadzić automatyczną konwersję, postępuj zgodnie z Automatyczne konwertowanie obciążenia. Definicje pól zadań można znaleźć w artykule o zadaniu AI Runtime.
| Pole YAML dla Workload | Ustawienie pakietu |
|---|---|
experiment_name |
ai_runtime_task.experiment |
command |
Przenieś polecenie do skryptu powłoki i odwołaj się do niego za pomocą 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 |
Spakuj kod z artefaktem tgz i odwołuj się do niego za pomocą ai_runtime_task.code_source_path, albo użyj przesłanej przestrzeni roboczej lub ścieżki woluminu. |
environment.dependencies |
Pracaenvironments[].spec.dependencies. |
environment.version |
environments[].spec.environment_version dla środowiska Standard lub environments[].spec.base_environment dla środowiska AI Databricks. |
environment.docker_image.url |
ai_runtime_task.docker_image_url |
env_variables, secrets |
environment_variables zadania i environment_variables_key zadania. |
parameters |
Plik hyperparameters.yaml znajdujący się obok skryptu, do którego odwołuje się command_path. Środowisko uruchomieniowe ustawia HYPERPARAMETERS_PATH na ten plik. |
max_retries |
Zadania max_retries. |
timeout_minutes |
Zadania timeout_seconds, mnożąc minuty przez 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 |