Aller au contenu principal

Référence YAML du Workload

info

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 :

YAML
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

accelerator_type

chaîne

Obligatoire. Type d'accélérateur accepté par le CLI et disponible dans le workspace. La correspondance est sensible à la casse.

num_accelerators

entier

Obligatoire. Un nombre positif d'accélérateurs pris en charge pour le type d'accélérateur sélectionné.

pool_id

chaîne

ID de la capacité de GPU provisionnée.

priority_class

chaîne

La priorité de planification pour les charges de travail utilisant la capacité de GPU provisionnée. Les valeurs acceptées sont BEST_EFFORT, NORMAL et CRITICAL. Requiert pool_id.

Clé

Type

Description

accelerator_type

chaîne

Obligatoire. Type d'accélérateur accepté par le CLI et disponible dans le workspace. La correspondance est sensible à la casse.

num_accelerators

entier

Obligatoire. Un nombre positif d'accélérateurs pris en charge pour le type d'accélérateur sélectionné.

pool_id

chaîne

ID de la capacité de GPU provisionnée.

priority_class

chaîne

La priorité de planification pour les charges de travail utilisant la capacité de GPU provisionnée. Les valeurs acceptées sont BEST_EFFORT, NORMAL et CRITICAL. Requiert pool_id.

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

version

chaîne ou nombre entier

Version d'environnement numérique, telle que 6, ou identifiant d'environnement Databricks AI, tel que databricks_ai_v6. Un identifiant databricks_ai_v nécessite la version 5 ou supérieure. Si omis, la CLI utilise le default actuel de l'AI Runtime.

dependencies

liste de chaînes de caractères

Spécifications de package transmises à l’environnement serverless. Par default, aucune dépendance supplémentaire.

unity_catalog_image

chaîne

Une image personnalisée au format <catalog>.<schema>.<image>:<tag>. S’exclut mutuellement avec version et dependencies. Pour obtenir des instructions de configuration, consultez Utiliser des images Docker personnalisées avec AI Runtime.

Clé

Type

Description

version

chaîne ou nombre entier

Version d'environnement numérique, telle que 6, ou identifiant d'environnement Databricks AI, tel que databricks_ai_v6. Un identifiant databricks_ai_v nécessite la version 5 ou supérieure. Si omis, la CLI utilise le default actuel de l'AI Runtime.

dependencies

liste de chaînes de caractères

Spécifications de package transmises à l’environnement serverless. Par default, aucune dépendance supplémentaire.

unity_catalog_image

chaîne

Une image personnalisée au format <catalog>.<schema>.<image>:<tag>. S’exclut mutuellement avec version et dependencies. Pour obtenir des instructions de configuration, consultez Utiliser des images Docker personnalisées avec AI Runtime.

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é​
YAML
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​
YAML
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

root_path

chaîne

Obligatoire lorsque code_source est défini. Le répertoire local à mettre en package. Le répertoire doit exister lorsque la CLI prépare l’exécution.

remote_volume

chaîne

Emplacement de volume Unity Catalog pour l’archive upload. Doit start par /Volumes/. Par default, utilise un emplacement de Workspace.

include_paths

liste de chaînes de caractères

Chemins à inclure par rapport à root_path. Les entrées ne doivent pas être vides ni absolues, et ne peuvent pas contenir ... Omettez la clé pour inclure tous les fichiers sélectionnés. Une liste vide n'est pas valide.

git

objet

Épingle l’instantané du code source à une Branch Git locale ou à un commit Git local.

Clé

Type

Description

root_path

chaîne

Obligatoire lorsque code_source est défini. Le répertoire local à mettre en package. Le répertoire doit exister lorsque la CLI prépare l’exécution.

remote_volume

chaîne

Emplacement de volume Unity Catalog pour l’archive upload. Doit start par /Volumes/. Par default, utilise un emplacement de Workspace.

include_paths

liste de chaînes de caractères

Chemins à inclure par rapport à root_path. Les entrées ne doivent pas être vides ni absolues, et ne peuvent pas contenir ... Omettez la clé pour inclure tous les fichiers sélectionnés. Une liste vide n'est pas valide.

git

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

branch

chaîne

Obligatoire lorsque commit est omis. Package le HEAD local de la branche. Les fichiers sélectionnés ne peuvent pas contenir de modifications non validées.

commit

chaîne

Obligatoire lorsque branch est omis. Package un commit depuis le magasin d'objets Git local. S’exclut mutuellement avec branch.

Clé

Type

Description

branch

chaîne

Obligatoire lorsque commit est omis. Package le HEAD local de la branche. Les fichiers sélectionnés ne peuvent pas contenir de modifications non validées.

commit

chaîne

Obligatoire lorsque branch est omis. Package un commit depuis le magasin d'objets Git local. S’exclut mutuellement avec branch.

Exemple​

L’exemple suivant package les chemins sélectionnés de la Branch main locale :

YAML
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​
YAML
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​
YAML
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

level

chaîne

Obligatoire. Niveau d'autorisation, tel que CAN_VIEW ou CAN_MANAGE. Le workspace valide la valeur.

user_name

chaîne

L’e-mail de l’utilisateur. Spécifiez exactement un élément parmi user_name, group_name ou service_principal_name pour chaque attribution.

group_name

chaîne

Le nom du groupe. Spécifiez exactement un élément parmi user_name, group_name ou service_principal_name pour chaque attribution.

service_principal_name

chaîne

Le nom du service principal. Spécifiez exactement l’un des éléments user_name, group_name ou service_principal_name pour chaque attribution.

Clé

Type

Description

level

chaîne

Obligatoire. Niveau d'autorisation, tel que CAN_VIEW ou CAN_MANAGE. Le workspace valide la valeur.

user_name

chaîne

L’e-mail de l’utilisateur. Spécifiez exactement un élément parmi user_name, group_name ou service_principal_name pour chaque attribution.

group_name

chaîne

Le nom du groupe. Spécifiez exactement un élément parmi user_name, group_name ou service_principal_name pour chaque attribution.

service_principal_name

chaîne

Le nom du service principal. Spécifiez exactement l’un des éléments user_name, group_name ou service_principal_name pour chaque attribution.

Exemple​
YAML
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​
YAML
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.

Ressources supplémentaires​