Convertir une charge de travail AI Runtime en bundle
Convertissez un YAML de workload d'AI Runtime existant en Declarative Automation Bundles pour le gérer en tant que job persistant, ajoutez un planning et composez-le avec des tâches de prétraitement. Utilisez databricks air convert-to-dabs pour générer le bundle, ou utilisez les mappages de champs sur cette page pour le convertir manuellement.
Configuration requise
- Un YAML de charge de travail existant et son code d’entraînement.
- La dernière CLI Databricks. Mettez à jour une installation existante avant d'effectuer la conversion.
- Pour déployer et exécuter le job généré, un workspace qui respecte les exigences AI Runtime et la CLI authentifiée correspondante. Voir Planifier des charges de travail GPU et composer des tâches.
Convertir un workload automatiquement
Si vous exécutez déjà une charge de travail avec databricks air run --file train.yaml, convertissez son YAML de charge de travail avec databricks air convert-to-dabs.
-
Start avec votre YAML de workload et votre code existants. Par exemple,
train.yamlpeut pointer vers un script d’entraînement danssrc/:YAMLexperiment_name: my-trainingenvironment:dependencies:- torchcompute:num_accelerators: 1accelerator_type: GPU_1xA10code_source:root_path: srccommand: python $CODE_SOURCE_PATH/train.py -
Depuis le répertoire contenant
train.yaml, lancez la conversion :Bashdatabricks air convert-to-dabs train.yamlLa commande crée
databricks.ymlet un répertoiregenerated_artifacts/à côté du YAML. Il traduit la configuration localement. Le bundle upload le code lorsque vous le déployez. Pour d’autres Layout de répertoire et options de remplacement, consultez Convertir des chemins et des fichiers générés. -
Valider, déployer et exécuter le job généré :
Bashdatabricks bundle validatedatabricks bundle deploydatabricks bundle run my-training --no-wait
Le convertisseur crée un job avec une tâche GPU. Pour ajouter un calendrier et des tâches de prétraitement à databricks.yml, suivez Planifier des charges de travail GPU et composer des tâches. Le job déployé persiste entre les exécutions. Utilisez databricks bundle destroy pour le supprimer lorsque vous avez terminé.
Chemins de convertisseur et fichiers générés
databricks air convert-to-dabs train.yaml écrit le bundle dans le répertoire YAML d'entrée default. Il résout un code_source.root_path relatif par rapport au répertoire du YAML.
Pour un code source, le répertoire source résolu doit être strictement à l’intérieur du répertoire de sortie du bundle. Avec l’emplacement de sortie par default, root_path: . est résolu en tant que racine du bundle et est rejeté. Utilisez un sous-répertoire source, tel que src, ou sélectionnez un répertoire de sortie qui contient le répertoire source.
Par exemple, si /project/training/train.yaml utilise root_path: ., la commande suivante écrit le bundle dans /project et package /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir modifications de l’emplacement où le bundle est écrit. Il ne copie pas ni ne déplace le code source. Exécutez les commandes databricks bundle suivantes à partir du répertoire de sortie.
Si les fichiers générés existent déjà, la conversion s'arrête. Utilisez --force pour les remplacer. Ceci remplace la configuration de bundle générée, y compris les modifications manuelles apportées à ce fichier.
Le convertisseur écrit les fichiers suivants :
databricks.yml: la configuration du bundle, y compris la tâche GPU et l'artefact de code.generated_artifacts/command.sh: le script de commande.generated_artifacts/training_config.yaml: la configuration du workload.generated_artifacts/hyperparameters.yaml: écrit lorsqueparametersest défini.generated_artifacts/env_vars.jsonetgenerated_artifacts/secret_env_vars.json: écrits lorsque des variables d’environnement ou des secrets sont définis.
Gardez les fichiers générés ensemble. Le bundle les upload lors du déploiement. Quand hyperparameters.yaml est présent à côté de command.sh, le runtime définit HYPERPARAMETERS_PATH sur ce fichier.
Mappez les champs de charge de travail manuellement
Utilisez les mappages suivants lorsque vous convertissez manuellement une charge de travail en bundle à partir d’un YAML de charge de travail AI Runtime. Pour une conversion automatique, suivez Convertir une charge de travail automatiquement. Pour les définitions des champs des tâches, consultez la référence des tâches de l’IA Runtime.
Champ YAML de Workload | Paramètre de bundle |
|---|---|
|
|
| Déplacez la commande dans un script shell et référencez-la avec |
|
|
|
|
| Packagez le code avec un artefact |
|
|
|
|
|
|
| Le |
| Un fichier |
|
|
| Le |
|
|
|
|
|
|