Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie diese Referenz, um eine ai_runtime_task in Declarative Automation Bundles anzupassen. Für ausführbare Beispiele, die eine GPU-Workload planen und Vorverarbeitungsaufgaben hinzufügen, beginnen Sie mit Schedule GPU workloads and compuse tasks.
Für Aufgabenfelder und deren Definitionen siehe die AI-Runtime-Aufgabenreferenz. Setze Wiederholungen, Auszeiten, Berechtigungen und environment_key auf die umliegende Aufgabe oder den Auftrag.
Schick deinen Trainingscode
Das Bundle synchronisiert Dateien wie command.sh bei der Bereitstellung. Eine nur befehlsbasierte Arbeitslast kann auf ${workspace.file_path}/command.sh zeigen command_path und diese weglassencode_source_path.
Für ein separates Verzeichnis mit Trainingscode wird auf ein verpacktes Artefakt oder einen Arbeitsbereich oder Volumenpfad gesetzt code_source_path .
Paketiere ein lokales Verzeichnis
Deklariere ein tgz Artefakt, um deinen Code auf databricks bundle deployzu paketieren. Dieses Konfigurationsfragment verpackt src/ und weist die Aufgabe auf das resultierende Archiv:
artifacts:
code:
type: tgz
path: .
include: [src]
files:
- source: ./dist/code.tgz
resources:
jobs:
train:
tasks:
- task_key: train
ai_runtime_task:
code_source_path: ./dist/code.tgz
Die Laufzeit extrahiert das Archiv und setzt CODE_SOURCE_PATH auf ihr oberste Codeverzeichnis. Mit path: . und , enthält src/train.py das Archiv und CODE_SOURCE_PATH ist /databricks/code_source/srcinclude: [src]. Nach dem Wechsel zu diesem Verzeichnis führen Sie python train.pyaus:
#!/usr/bin/env bash
set -euo pipefail
cd "$CODE_SOURCE_PATH"
python train.py
Für Artefakteinstellungen, einschließlich path, include, , gitund files, siehe die Bundle-Artefakt-Referenz.
Verwenden Sie hochgeladenen Code
Setze code_source_path auf einen /Workspace/… oder /Volumes/… Pfad für ein bereits hochgeladenes Codearchiv. Das Bundle nutzt diesen Pfad, ohne dein lokales Verzeichnis zu verpacken.
Konfigurieren von Rechenleistungen und Umgebungen
Setze accelerator_count auf ein Vielfaches der GPUs pro codierten Knoten accelerator_type. Zum Beispiel, GPU_8xH100 mit accelerator_count: 16 läuft auf zwei Knoten. Siehe Hardware-Optionen für Hardware-Empfehlungen .
Bei einer Arbeitslast mit mehreren Knoten führt AI Runtime den Befehl auf jedem Knoten aus. Die Aufgabenumgebung umfasst , , , , MASTER_ADDRund MASTER_PORT. LOCAL_WORLD_SIZEWORLD_SIZENUM_NODES Lesen Sie diese Variablen in Ihrem verteilten Trainingsbefehl.
Deklarieren Sie Abhängigkeiten im Block des Jobs environments und wählen Sie die Umgebung mit den Aufgaben environment_keyaus. Der folgende Konfigurationsfragment installiert PyTorch in der Trainingsumgebung:
resources:
jobs:
train:
tasks:
- task_key: train
environment_key: training
environments:
- environment_key: training
spec:
environment_version: '6'
dependencies:
- torch
Verwendung environment_version für eine Standardumgebung. Um eine Databricks-KI-Umgebung zu verwenden, setzen base_environment Sie stattdessen zum Beispiel workspace-base-environments/databricks_ai_v6. Weitere Informationen finden Sie unter "Einrichten Ihrer Umgebung".
Für ein benutzerdefiniertes Docker-Image setzen docker_image_urlai_runtime_task und folgen Sie Use custom Docker Images mit der alten Python-CLI.
Übergebe Konfiguration und Daten an Aufgaben
Definiere einen Job-Level-Einstieg environment_variables und wähle ihn mit der environment_variables_keyAufgabe aus. Gib einfache Werte ein variables und nutze {{secrets/scope/key}} sie für geheime Referenzen. Diese Konfiguration erfordert die in Configure environment variablen for serverless jobs beschriebenen Environment Variables als Vorschau.
Um Parameter durchzuleiten HYPERPARAMETERS_PATH, speichere eine hyperparameters.yaml Datei neben dem von command_pathSkript referenzierten Skript. Das Bundle synchronisiert beide Dateien, und die Laufzeit setzt HYPERPARAMETERS_PATH die Parameterdatei für deinen Trainingsbefehl. Für die Umstellung von einer bestehenden Workload-YAML siehe Convert an AI Runtime workload to a bundle.
Note
An ai_runtime_task unterstützt keine Job-Aufgabenwerte ({{tasks.<task_key>.values.<name>}} oder dbutils.jobs.taskValues). Um Daten zwischen Aufgaben zu übertragen, schreiben Sie sie an einen gemeinsamen Standort, wie zum Beispiel ein Unity-Catalog-Volume, und verwenden Sie denselben Pfad in beiden Aufgaben.