Configurez les tâches du bundle d’exécution IA

Utilisez cette référence pour personnaliser un ai_runtime_task dans les Déclarative Automation Bundles. Pour des exemples exécutables qui planifient une charge de travail GPU et ajoutent des tâches de prétraitement, commencez par Planifier les charges GPU et composer les tâches.

Pour les champs de tâches et leurs définitions, voir la référence de tâche à l’exécution IA. Définissez des tentatives, des délais d’attente, des permissions, et environment_key sur la tâche ou la tâche environnante.

Envoyez votre code d’entraînement

Le bundle synchronise les fichiers comme command.sh lors du déploiement. Une charge de travail uniquement sur commande peut pointer command_path vers ${workspace.file_path}/command.sh et omettre code_source_path.

Pour un répertoire séparé de code d’entraînement, définissez code_source_path un artefact empaqueté ou un chemin de travail ou de volume.

Empaqueter un annuaire local

Déclarez un tgz artefact pour emballer votre code databricks bundle deploy. Ce fragment de configuration empaquete src/ et pointe la tâche vers l’archive résultante :

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

L’exécution extrait l’archive et la pose CODE_SOURCE_PATH dans son répertoire de code de premier niveau. Avec path: . et include: [src], l’archive contient src/train.py et CODE_SOURCE_PATH est /databricks/code_source/src. Après avoir changé vers ce répertoire, exécutez python train.py:

#!/usr/bin/env bash
set -euo pipefail
cd "$CODE_SOURCE_PATH"
python train.py

Pour les paramètres d’artefacts, y compris path, include, git, et files, voir la référence des artefacts bundle.

Utilisation du code téléversé

Définissez code_source_path sur un /Workspace/… chemin ou /Volumes/… pour une archive de code déjà téléchargée. Le bundle utilise ce chemin sans empaqueter votre annuaire local.

Configurer le calcul et les environnements

Définissez accelerator_count à un multiple des GPU par nœud encodés dans accelerator_type. Par exemple, GPU_8xH100 avec accelerator_count: 16 des cours sur deux nœuds. Voir Matériel pour les conseils matériels.

Pour une charge de travail multi-nœuds, l’exécution IA exécute la commande sur chaque nœud. L’environnement de la tâche inclut NUM_NODES, WORLD_SIZE, LOCAL_WORLD_SIZE, MASTER_ADDR, et MASTER_PORT. Lisez ces variables dans votre commande d’entraînement distribuée.

Déclarez les dépendances dans le bloc de la environments tâche, et sélectionnez l’environnement avec les environment_keyfichiers . Le fragment de configuration suivant installe PyTorch dans l’environnement d’entraînement :

resources:
  jobs:
    train:
      tasks:
        - task_key: train
          environment_key: training
      environments:
        - environment_key: training
          spec:
            environment_version: '6'
            dependencies:
              - torch

À utiliser environment_version dans un environnement standard. Pour utiliser un environnement IA Databricks, on définit base_environment , par exemple workspace-base-environments/databricks_ai_v6, . Consultez Configurer votre environnement.

Pour une image Docker personnalisée, activez docker_image_urlai_runtime_task et suivez Utilisez des images Docker personnalisées avec la ligne de cil Python ancienne.

Transmettre la configuration et les données aux tâches

Définissez une entrée au niveau environment_variables du poste et sélectionnez-la avec les environment_variables_keyfichiers . Mettez des valeurs variables simples et utilisez-les {{secrets/scope/key}} comme références secrètes. Cette configuration nécessite l’aperçu des variables d’environnement décrit dans Configurer les variables d’environnement pour les tâches sans serveur.

Pour faire passer les paramètres à HYPERPARAMETERS_PATHtravers , sauvegardez un hyperparameters.yaml fichier à côté du script référencé par command_path. Le bundle synchronise les deux fichiers, et le runtime s’impose HYPERPARAMETERS_PATH au fichier de paramètres pour votre commande d’entraînement. Pour la conversion à partir d’une charge de travail existante YAML, voir Convertir une charge d’exécution IA en un bundle.

Remarque

An ne prend pas en charge les valeurs des ai_runtime_task tâches du poste ({{tasks.<task_key>.values.<name>}} ou dbutils.jobs.taskValues). Pour transmettre des données entre les tâches, écrivez-les dans un emplacement partagé, comme un volume Unity Catalog, et utilisez le même chemin dans les deux tâches.

Ressources additionnelles