Référence YAML du Workload
Aperçu
Cette fonctionnalité est en aperçu public.
Cette page décrit les champs YAML de charge de travail acceptés par databricks air run. Pour la syntaxe des commandes et les indicateurs, consultez databricks air run. Pour soumettre une charge de travail, consultez Démarrage rapide de la CLI Databricks pour AI Runtime.
Chaque workload nécessite experiment_name, compute et command.
Exemple
L’exemple suivant montre une configuration de workload d’exemple :
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
nom_de_l_expérience
Type : String
Obligatoire. La clé experiment_name correspond au nom de l’Experimentation MLflow.
Si une expérimentation portant ce nom n’existe pas, AI Runtime la crée. Sinon, AI Runtime ajoute la nouvelle exécution à l’Experimentation existante.
compute
Type : Map
Obligatoire. L’objet compute définit la configuration de l’accélérateur.
Clé | Type | Description |
|---|---|---|
| chaîne | Obligatoire. Type d'accélérateur accepté par le CLI et disponible dans le workspace. La correspondance est sensible à la casse. |
| entier | Obligatoire. Un nombre positif d'accélérateurs pris en charge pour le type d'accélérateur sélectionné. |
| chaîne | ID de la capacité de GPU provisionnée. |
| chaîne | La priorité de planification pour les charges de travail utilisant la capacité de GPU provisionnée. Les valeurs acceptées sont |
Les types et les nombres d'accélérateurs dépendent du workspace, du cloud et de la région. Pour la sélection et la disponibilité du matériel, consultez la rubrique Options matérielles.
commande
Type : String
Obligatoire. La clé command contient une commande ou un script Shell non vide. Les chemins d’accès dans la commande font référence à des chemins de fichiers distants dans le conteneur de charge de travail. Lorsque code_source est défini, $CODE_SOURCE_PATH contient le chemin d’accès absolu au code extrait.
environnement
Type : Map
L'objet environment sélectionne un environnement géré avec des dépendances facultatives ou une image Unity Catalog personnalisée.
Clé | Type | Description |
|---|---|---|
| chaîne ou nombre entier | Version d'environnement numérique, telle que |
| liste de chaînes de caractères | Spécifications de package transmises à l’environnement serverless. Par default, aucune dépendance supplémentaire. |
| chaîne | Une image personnalisée au format |
Pour obtenir des conseils sur la sélection et l’extension d’un environnement, consultez la page 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 uniquement unity_catalog_image:
Exemple d'image personnalisée
environment:
unity_catalog_image: main.ml.training:v1
code_source
Type : Map
L'objet code_source empaquète le code local pour la charge de travail.
Clé | Type | Description |
|---|---|---|
| chaîne | Obligatoire lorsque |
| chaîne | Emplacement de volume Unity Catalog pour l’archive upload. Doit start par |
| liste de chaînes de caractères | Chemins à inclure par rapport à |
| objet | Épingle l’instantané du code source à une Branch Git locale ou à un commit Git local. |
Si vous omettez git, la CLI package l'arbre de travail, y compris les fichiers non validés et non suivis qui ne sont pas exclus par les règles d'ignorage de Git. Un root_path relatif se résout à partir du répertoire qui contient le fichier YAML de la charge de travail.
git
Type : Map
L’objet git prend en charge les clés suivantes :
Clé | Type | Description |
|---|---|---|
| chaîne | Obligatoire lorsque |
| chaîne | Obligatoire lorsque |
Exemple
L’exemple suivant package les chemins sélectionnés de la Branch main locale :
code_source:
root_path: ./src
include_paths:
- training
- configs
git:
branch: main
variables d’environnement
Type : Map de chaînes
La clé env_variables contient des noms de variables d’environnement simples et des valeurs de chaîne. Un nom ne peut pas non plus apparaître dans secrets.
Exemple
env_variables:
BATCH_SIZE: '32'
LEARNING_RATE: '0.001'
jeton_d_idempotence
Type : String
La clé idempotency_token identifie les soumissions répétées. Une soumission répétée avec le même jeton renvoie l’exécution existante. La CLI génère un UUID lorsque cette clé est omise. Le paramètre de commande --idempotency-key a la priorité.
nombre_maximal_de_nouvelles_tentatives
Type : Entier
La clé max_retries spécifie le nombre de nouvelles tentatives après la tentative initiale. La valeur doit être positive ou nulle. Default : 3.
mlflow_artifact_location
Type : String
La clé mlflow_artifact_location contient un URI dbfs:/ ou un chemin /Volumes/. Si vous omettez cette clé, une nouvelle Experimentation utilise l’emplacement DBFS default, et une Experimentation existante utilise l’emplacement d’artefacts configuré. Pour une expérimentation existante, la valeur doit correspondre à son emplacement d’artefacts.
mlflow_experiment_directory
Type : String
La clé mlflow_experiment_directory contient le répertoire du Workspace pour l’Experimentation. Le chemin doit start par /Workspace.
mlflow_run_name
Type : String
La clé mlflow_run_name contient le nom de l’exécution. Si vous omettez cette clé, le nom de l’exécution prend default la valeur de experiment_name.
parameter
Type : Map
La clé parameters contient des valeurs imbriquées de format libre. La CLI sérialise les valeurs dans hyperparameters.yaml avec les autres artefacts de lancement.
Exemple
parameters:
learning_rate: 0.001
model:
hidden_size: 1024
permissions
Type : Liste de maps
La clé permissions contient des attributions appliquées après la soumission. Si une attribution échoue, l’exécution reste créée et la CLI affiche un avertissement.
Chaque attribution prend en charge les clés suivantes :
Clé | Type | Description |
|---|---|---|
| chaîne | Obligatoire. Niveau d'autorisation, tel que |
| chaîne | L’e-mail de l’utilisateur. Spécifiez exactement un élément parmi |
| chaîne | Le nom du groupe. Spécifiez exactement un élément parmi |
| chaîne | Le nom du service principal. Spécifiez exactement l’un des éléments |
Exemple
permissions:
- user_name: trainer@example.com
level: CAN_MANAGE
- group_name: training-team
level: CAN_VIEW
secrets
Type : Map de chaînes
La clé secrets contient les noms de variables d’environnement mappés à des références de secret au format exact scope/key. La portée et la clé ne doivent pas être vides. Un nom peut également apparaître dans env_variables.
Exemple
secrets:
HF_TOKEN: my-scope/hf-token
Pour plus d'information sur la création et la gestion des secrets, consultez Secret management.
timeout_minutes
Type : Entier
La clé timeout_minutes définit la limite de durée effective pour l’exécution complète, y compris les nouvelles tentatives. La valeur doit être positive. Si elle est omise, la charge de travail utilise le default d’AI Runtime.
usage_policy_id
Type : String
La clé usage_policy_id contient l’UUID canonique d’une politique d’utilisation serverless existante. S’exclut mutuellement avec usage_policy_name.
usage_policy_name
Type : String
La clé usage_policy_name contient le nom d’une politique d’utilisation serverless existante. S’exclut mutuellement avec usage_policy_id.
Pour plus d’information sur la création de politiques d’utilisation, consultez la page Attribution d’utilisation avec les politiques d’utilisation serverless.