Aller au contenu principal

Référence YAML de Workload

Cette page décrit les champs YAML de charge de travail acceptés par databricks air run. Pour la syntaxe de commande et les indicateurs, consultez databricks air run. Pour soumettre une charge de travail, consultez le guide de démarrage rapide AI Runtime.

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

Exemple​

L'exemple suivant illustre une configuration de workload :

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

experiment_name​

Type : Chaîne

Obligatoire. La clé experiment_name est le nom de l'Experimentation MLflow.

Si une experimentation portant ce nom n’existe pas, AI Runtime la crée. Sinon, AI Runtime ajoute la nouvelle exécution à l’Experimentation existante.

compute​

Type : Mappage

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 la CLI et disponible dans le workspace. La correspondance respecte la casse.

num_accelerators

entier

Requis. 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é GPU provisionnée.

priority_class

chaîne

La priorité de planification des charges de travail utilisant la capacité 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 la CLI et disponible dans le workspace. La correspondance respecte la casse.

num_accelerators

entier

Requis. 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é GPU provisionnée.

priority_class

chaîne

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

Les types et le nombre d'accélérateurs dépendent du workspace, du cloud et de la région. Pour le choix et la disponibilité du matériel, voir Matériel.

commande​

Type : Chaîne

Obligatoire. La clé command contient une commande shell ou un script non vide. Les chemins d'accès dans la commande font référence à des chemins d'accès à des 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 : Mappage

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

Clé

Type

Description

version

chaîne ou nombre entier

Une version d’environnement numérique, telle que 6, ou un identifiant d’environnement Databricks AI, tel que databricks_ai_v6. Un identifiant databricks_ai_v nécessite la version 5 ou une version ultérieure. Si elle est omise, la CLI utilise la valeur default d’AI Runtime actuelle.

dependencies

liste de chaînes

Spécifications de package transmises à l’environnement serverless. default, aucune dépendance supplémentaire n'est utilisée.

unity_catalog_image

chaîne

Une image personnalisée au format <catalog>.<schema>.<image>:<tag>. Mutuellement exclusive 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

Une version d’environnement numérique, telle que 6, ou un identifiant d’environnement Databricks AI, tel que databricks_ai_v6. Un identifiant databricks_ai_v nécessite la version 5 ou une version ultérieure. Si elle est omise, la CLI utilise la valeur default d’AI Runtime actuelle.

dependencies

liste de chaînes

Spécifications de package transmises à l’environnement serverless. default, aucune dépendance supplémentaire n'est utilisée.

unity_catalog_image

chaîne

Une image personnalisée au format <catalog>.<schema>.<image>:<tag>. Mutuellement exclusive 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, voir Configurer votre environnement.

Exemple d'environnement géré​
YAML
environment:
version: 6
dependencies:
- torch

Pour utiliser une image personnalisée plutôt qu'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 : Mappage

L'objet code_source package le code local pour la charge de travail.

Clé

Type

Description

root_path

chaîne

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

remote_volume

chaîne

Un emplacement de volume Unity Catalog pour l'archive upload. Doit start par /Volumes/. default, l'emplacement du Workspace.

include_paths

liste de chaînes

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

objet

Pin le snapshot du code source vers une branch Git locale ou un commit.

Clé

Type

Description

root_path

chaîne

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

remote_volume

chaîne

Un emplacement de volume Unity Catalog pour l'archive upload. Doit start par /Volumes/. default, l'emplacement du Workspace.

include_paths

liste de chaînes

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

objet

Pin le snapshot du code source vers une branch Git locale ou un commit.

Si vous omettez git, le CLI package l'arborescence de travail, y compris les fichiers non validés et non suivis qui ne sont pas exclus par les règles Git ignore. Un root_path relatif est résolu à partir du répertoire qui contient le fichier YAML du workload.

git​

Type : Mappage

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

Clé

Type

Description

branch

chaîne

Requis 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

Requis lorsque branch est omis. Package un commit du magasin d'objets Git local. Mutuellement exclusif avec branch.

Clé

Type

Description

branch

chaîne

Requis 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

Requis lorsque branch est omis. Package un commit du magasin d'objets Git local. Mutuellement exclusif avec branch.

Exemple​

Les exemples de packages suivants ont sélectionné des chemins depuis la Branch locale main :

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

variables_env​

Type : Carte de chaînes

La clé env_variables contient des noms de variables d'environnement en texte clair et des valeurs sous forme 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'

idempotency_token​

Type : Chaîne

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. L'indicateur de commande --idempotency-key prévaut.

max_retries​

Type : Entier

La clé max_retries spécifie le nombre de tentatives après la tentative initiale. La valeur doit être non négative. default: 3.

mlflow_artifact_location​

Type : Chaîne

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 son emplacement d'artefact configuré. Pour une Experimentation existante, la valeur doit correspondre à l'emplacement de l'artefact de l'Experimentation.

mlflow_experiment_directory​

Type : Chaîne

La clé mlflow_experiment_directory contient le répertoire du workspace pour l’Experimentation. Le chemin doit start par /Workspace.

mlflow_run_name​

Type : Chaîne

La clé mlflow_run_name contient le nom de l'exécution. Si vous omettez cette clé, le nom de l'exécution prendra default la valeur de experiment_name.

parameter​

Type : Mappage

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

Exemple​
YAML
parameters:
learning_rate: 0.001
model:
hidden_size: 1024

autorisations​

Type : Liste de mappages

La clé permissions contient les octrois appliqués après la soumission. Si un octroi échoue, le run reste créé et la CLI affiche un avertissement.

Chaque autorisation prend en charge les clés suivantes :

Clé

Type

Description

level

chaîne

Obligatoire. Un niveau d'autorisation, par exemple CAN_VIEW ou CAN_MANAGE. Le workspace valide la valeur.

user_name

chaîne

L'adresse e-mail de l'utilisateur. Spécifiez exactement l’un des éléments user_name, group_name ou service_principal_name pour chaque octroi.

group_name

chaîne

Nom du groupe. Spécifiez exactement une des valeurs user_name, group_name ou service_principal_name pour chaque autorisation.

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. Un niveau d'autorisation, par exemple CAN_VIEW ou CAN_MANAGE. Le workspace valide la valeur.

user_name

chaîne

L'adresse e-mail de l'utilisateur. Spécifiez exactement l’un des éléments user_name, group_name ou service_principal_name pour chaque octroi.

group_name

chaîne

Nom du groupe. Spécifiez exactement une des valeurs user_name, group_name ou service_principal_name pour chaque autorisation.

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 : Carte de chaînes

La clé secrets contient des noms de variables d'environnement mappés sur des références secrètes dans le format scope/key exact. La portée et la clé ne doivent pas être vides. Un nom ne peut pas non plus apparaître dans env_variables.

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

Pour plus d'informations sur la création et la gestion des secrets, consultez la gestion des secrets.

timeout_minutes​

Type : Entier

La clé timeout_minutes définit la limite de temps prévue pour l'exécution complète, y compris les tentatives. La valeur doit être positive. Si elle est omise, la charge de travail utilise la valeur default de l'environnement d'exécution de l'IA Runtime.

usage_policy_id​

Type : Chaîne

La clé usage_policy_id contient l’UUID canonique d’une politique d’utilisation serverless existante. Mutuellement exclusive avec usage_policy_name.

nom_de_la_politique_d_utilisation​

Type : Chaîne

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

Pour plus d’informations sur la création de politiques d’utilisation, consultez Attribuer l’utilisation avec des politiques d’utilisation serverless.

Ressources supplémentaires​