Convertir une charge de travail AI Runtime en bundle
Convertissez un fichier YAML de charge de travail AI Runtime existant en Declarative Automation Bundles afin de le gérer en tant que job persistant, ajoutez une planification 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 correspondances de champs sur cette page pour le convertir manuellement.
Prérequis
- Un YAML de workload existant et son code d’entraînement.
- La dernière version de 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 pris en charge avec l’aperçu AI Runtime activé et la CLI authentifiée auprès de celui-ci. Consultez Planifier des workloads GPU et composer des tâches.
Convertir un workload automatiquement
Si vous exécutez déjà un workload avec databricks air run --file train.yaml, convertissez son fichier YAML de workload avec databricks air convert-to-dabs.
-
Start avec votre code et votre YAML de workload existants. Par exemple,
train.yamlpeut pointer vers un script d’entraînement danssrc/:YAMLexperiment_name: my-training
environment:
dependencies:
- torch
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
code_source:
type: snapshot
snapshot:
root_path: src
command: python $CODE_SOURCE_PATH/train.py -
À partir du répertoire contenant
train.yaml, exécutez la conversion :Bashdatabricks air convert-to-dabs train.yamlLa commande crée
databricks.ymlainsi qu’un répertoiregenerated_artifacts/à côté du fichier YAML. Il traduit la configuration localement. Le bundle upload le code lorsque vous le déployez. Pour connaître les autres Layout de répertoire et options de remplacement, consultez Chemins du convertisseur et fichiers générés. -
Validez, déployez et exécutez le job généré :
Bashdatabricks bundle validate
databricks bundle deploy
databricks bundle run my-training --no-wait
Le convertisseur crée un job doté d'une tâche GPU. Pour ajouter une planification et des tâches de prétraitement à databricks.yml, suivez Schedule GPU workloads and compose tasks. Le job déployé persiste entre les exécutions. Utilisez databricks bundle destroy pour le supprimer lorsque vous avez terminé.
Chemins d’accès du convertisseur et fichiers générés
databricks air convert-to-dabs train.yaml écrit le bundle dans le répertoire du fichier YAML d'entrée par default. Il résout un code_source.snapshot.root_path relatif par rapport au répertoire du fichier YAML.
Pour un code source instantané, le répertoire source résolu doit se trouver strictement à l'intérieur du répertoire de sortie du bundle. Avec l'emplacement de sortie default, root_path: . correspond à la racine du bundle et est rejeté. Utilisez soit un sous-répertoire source, tel que src, soit 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 vers /project et package /project/training:
databricks air convert-to-dabs /project/training/train.yaml --output-dir /project
--output-dir les modifications là où le bundle est écrit. Il ne copie ni ne déplace le code source. Exécutez les databricks bundle commandes 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. Cela remplace la configuration de bundle générée, y compris toute modification manuelle apportée à ce fichier.
Le convertisseur écrit les fichiers suivants :
databricks.yml: la configuration du bundle, comprenant la tâche GPU et l'artefact de code.generated_artifacts/command.sh: le script de commande.generated_artifacts/training_config.yaml: la configuration de la charge de travail.generated_artifacts/hyperparameters.yaml: écrit lorsqueparametersest défini.generated_artifacts/env_vars.jsonetgenerated_artifacts/secret_env_vars.json: écrit 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. Lorsque hyperparameters.yaml est présent aux côtés de command.sh, l’environnement d’exécution définit HYPERPARAMETERS_PATH sur ce fichier.
Mappez manuellement les champs de charge de travail
Utilisez les correspondances suivantes lors de la conversion manuelle vers un bundle à partir d'un YAML de charge de travail AI Runtime. Pour une conversion automatique, suivez Convert a workload automatically. Pour les définitions des champs de tâche, consultez la référence des tâches AI Runtime.
Champ YAML de Workload | Paramètre de bundle |
|---|---|
|
|
| Déplacez la commande dans un script shell et référencez-la à l'aide de |
|
|
|
|
| Packagez le code avec un artefact |
| Le |
|
|
|
|
| Le |
| Un fichier |
| Élément |
| Le |
|
|
|
|
|
|