Référence YAML de la charge de travail

Cette page décrit les champs YAML de la charge de travail acceptés par databricks air run. Pour la syntaxe des commandes et les drapeaux, voir databricks air run. Pour soumettre une charge de travail, voir le démarrage rapide d’exécution IA.

Chaque charge de travail nécessite experiment_name, compute, et command.

Exemple

L’exemple suivant montre une configuration de charge de travail :

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

Type : Chaîne

Required. La experiment_name clé réside dans le nom de l’expérience MLflow.

Si une expérience portant ce nom n’existe pas, l’exécution IA la crée. Sinon, l’exécution IA ajoute la nouvelle course à l’expérience existante.

compute

Type : Carte

Required. L’objet compute définit la configuration de l’accélérateur.

Clé Catégorie Description
accelerator_type string Required. Un type d’accélérateur accepté par le CLI et disponible dans l’espace de travail. La correspondance est sensible à la casse.
num_accelerators integer Required. Un nombre positif d’accélérateurs pris en charge pour le type d’accélérateur sélectionné.
pool_id string L’ID pour la capacité GPU provisionnée.
priority_class string La priorité de planification pour les charges de travail utilisant la capacité GPU provisionnée. Les valeurs acceptées sont BEST_EFFORT, NORMAL et CRITICAL. Exige pool_id.

Les types et les décomptes d’accélérateurs dépendent de l’espace de travail, du cloud et de la région. Pour la sélection et la disponibilité du matériel, voir Matériel.

command

Type : Chaîne

Required. La command clé contient une commande ou un script non vide dans le shell. Les chemins dans la commande font référence aux chemins de fichiers distants dans le conteneur de la charge de travail. Lorsque code_source est défini, $CODE_SOURCE_PATH contient le chemin absolu vers le code extrait.

environment

Type : Carte

L’objet environment sélectionne un environnement géré avec des dépendances optionnelles ou une image personnalisée du catalogue Unity.

Clé Catégorie Description
version chaîne ou entier Une version d’environnement numérique, telle que 6, ou un identifiant d’environnement IA Databricks, tel que databricks_ai_v6. Un databricks_ai_v identifiant nécessite la version 5 ou supérieure. Si elle est omise, la CLI utilise le défaut actuel de l’exécution IA.
dependencies liste composée de chaînes Les spécifications du package ont été transférées à l’environnement serverless. Par défaut, aucune dépendance supplémentaire est faite.
unity_catalog_image string Une image personnalisée dans le format <catalog>.<schema>.<image>:<tag>. Mutuellement exclusif avec version et dependencies. Pour les instructions de configuration, voir Utiliser des images Docker personnalisées avec l’exécution IA.

Pour des conseils sur la sélection et l’extension d’un environnement, voir Configurer votre environnement.

Exemple d’environnement géré
environment:
  version: 6
  dependencies:
    - torch

Pour utiliser une image personnalisée au lieu d’un environnement géré, spécifiez seulement unity_catalog_image:

Exemple d’image personnalisée
environment:
  unity_catalog_image: main.ml.training:v1

code_source

Type : Carte

L’objet code_source empaquete du code local pour la charge de travail.

Clé Catégorie Description
root_path string Obligatoire quand code_source est défini. Le répertoire local à emballer. Le répertoire doit exister lorsque la CLI met en scène l’exécution.
remote_volume string Un emplacement de volume du catalogue Unity pour l’archive téléchargée. Doit commencer par /Volumes/. Par défaut, un emplacement d’espace de travail.
include_paths liste composée de chaînes Des chemins à inclure par rapport à root_path. Les entrées doivent être non vides et relatives, et ne peuvent pas contenir ... Omettez la clé pour inclure tous les fichiers sélectionnés. Une liste vide n’est pas valide.
git object Épingle l’instantané source du code à une branche Git locale ou à un commit.

Si vous omettez git, la CLI empaquete l’arbre de travail, incluant les fichiers non engagés et non suivis qui ne sont pas exclus par les règles Git ignore. Un relatif root_path résout à partir du répertoire contenant le fichier YAML de la charge de travail.

Git

Type : Carte

L’objet git prend en charge les clés suivantes :

Clé Catégorie Description
branch string Obligatoire quand commit il est omis. Empaquete le HEAD local de la branche. Les fichiers sélectionnés ne peuvent pas contenir des modifications non engagées.
commit string Obligatoire quand branch il est omis. Empaquete un commit depuis le magasin d’objets Git local. Mutuellement exclusif avec branch.
Exemple

Les exemples suivants emballent des chemins sélectionnés à partir de la branche locale main :

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

env_variables

Type : Carte des cordes

La env_variables clé contient les noms simples des variables d’environnement et les valeurs de chaînes. Un nom ne peut pas aussi apparaître dans secrets.

Exemple
env_variables:
  BATCH_SIZE: '32'
  LEARNING_RATE: '0.001'

idempotency_token

Type : Chaîne

La idempotency_token clé identifie les soumissions répétées. Une soumission répétée avec le même jeton restitue la série existante. La CLI génère un UUID lorsque cette clé est omise. Le --idempotency-key drapeau de commandement est prioritaire.

max_retries

Type : entier

La max_retries clé précise le nombre de tentatives après la première tentative. La valeur doit être non négative. Valeur par défaut : 3.

mlflow_artifact_location

Type : Chaîne

La mlflow_artifact_location clé contient une URI ou /Volumes/ un dbfs:/ chemin. Si vous omets cette clé, une nouvelle expérience utilise l’emplacement DBFS par défaut, et une expérience existante utilise son emplacement d’artefact configuré. Pour une expérience existante, la valeur doit correspondre à l’emplacement de l’artefact de l’expérience.

mlflow_experiment_directory

Type : Chaîne

La mlflow_experiment_directory clé contient le répertoire de l’espace de travail de l’expérience. Le chemin doit commencer par /Workspace.

mlflow_run_name

Type : Chaîne

La mlflow_run_name clé contient le nom de la course. Si vous omets cette clé, le nom de la série devient par défaut la valeur de experiment_name.

parameters

Type : Carte

La parameters clé contient des valeurs imbriquées libres. La CLI sérialise les valeurs avec hyperparameters.yaml les autres artefacts de lancement.

Exemple
parameters:
  learning_rate: 0.001
  model:
    hidden_size: 1024

permissions

Type : Liste des cartes

La permissions clé contient les subventions demandées après soumission. Si une subvention échoue, la course reste créée et le CLI affiche un avertissement.

Chaque subvention prend en charge les clés suivantes :

Clé Catégorie Description
level string Required. Un niveau de permission, tel que CAN_VIEW ou CAN_MANAGE. L’espace de travail valide la valeur.
user_name string E-mail de l’utilisateur. Spécifiez exactement un de user_name, group_name, ou service_principal_name pour chaque subvention.
group_name string Nom du groupe. Spécifiez exactement un de user_name, group_name, ou service_principal_name pour chaque subvention.
service_principal_name string Nom du principal de service. Spécifiez exactement un de user_name, group_name, ou service_principal_name pour chaque subvention.
Exemple
permissions:
  - user_name: trainer@example.com
    level: CAN_MANAGE
  - group_name: training-team
    level: CAN_VIEW

secrets

Type : Carte des cordes

La secrets clé contient les noms des variables d’environnement mappés à des références secrètes dans le format exact scope/key . Le scope et la clé doivent être non vides. Un nom ne peut pas aussi apparaître dans env_variables.

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

Pour des informations sur la création et la gestion de secrets, voir Gestion des secrets.

timeout_minutes

Type : entier

La timeout_minutes clé fixe la limite de l’horloge murale pour toute la course, y compris les tentatives. La valeur doit être positive. Si elle est omise, la charge de travail utilise le code par défaut de l’exécution IA.

usage_policy_id

Type : Chaîne

La usage_policy_id clé contient l’UUID canonique d’une politique d’utilisation sans serveur existante. Mutuellement exclusif avec usage_policy_name.

usage_policy_name

Type : Chaîne

La usage_policy_name clé contient le nom d’une politique d’utilisation serverless existante. Mutuellement exclusif avec usage_policy_id.

Pour des informations sur la création de politiques d’utilisation, voir Utilisation d’attributs avec des politiques d’utilisation serverless.

Ressources additionnelles