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 :
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 |
|---|---|---|
| chaîne | Obligatoire. Type d'accélérateur accepté par la CLI et disponible dans le workspace. La correspondance respecte la casse. |
| entier | Requis. 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é GPU provisionnée. |
| chaîne | La priorité de planification des charges de travail utilisant la capacité GPU provisionnée. Les valeurs acceptées sont |
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 |
|---|---|---|
| chaîne ou nombre entier | Une version d’environnement numérique, telle que |
| liste de chaînes | Spécifications de package transmises à l’environnement serverless. default, aucune dépendance supplémentaire n'est utilisée. |
| chaîne | Une image personnalisée au format |
Pour obtenir 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 plutôt qu'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 : Mappage
L'objet code_source package le code local pour la charge de travail.
Clé | Type | Description |
|---|---|---|
| chaîne | Requis lorsque |
| chaîne | Un emplacement de volume Unity Catalog pour l'archive upload. Doit start par |
| liste de chaînes | Chemins à inclure par rapport à |
| 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 |
|---|---|---|
| chaîne | Requis lorsque |
| chaîne | Requis lorsque |
Exemple
Les exemples de packages suivants ont sélectionné des chemins depuis la Branch locale main :
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
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
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 |
|---|---|---|
| chaîne | Obligatoire. Un niveau d'autorisation, par exemple |
| chaîne | L'adresse e-mail de l'utilisateur. Spécifiez exactement l’un des éléments |
| chaîne | Nom du groupe. Spécifiez exactement une des valeurs |
| 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 : 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
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.