KI-Runtime-Bundle-Aufgaben konfigurieren

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.

Weitere Ressourcen