Démarrage rapide de l'ancienne CLI Python pour AI Runtime
Cette documentation a été retirée et risque de ne pas être mise à jour.
La CLI air basée sur Python, installée avec le package databricks-air, est désormais déconseillée et n’est plus activement maintenue.
Utilisez la CLI de Databricks pour les nouveaux workloads. Voir Utiliser la CLI Databricks avec AI Runtime.
Soumettez votre premier job d'entraînement avec la CLI AI Runtime en trois étapes : écrivez une configuration train.yaml, exécutez-la avec air run, puis inspectez l'exécution. Avant de commencer, installez la CLI et configurez l’authentification.
Étape 1 : Rédiger une configuration YAML
Créez train.yaml décrivant la charge de travail. La configuration minimale requiert un nom d'Experimentation, une spécification de compute et une commande. La commande ci-dessous s'exécute sans aucun code local. Vous pouvez donc soumettre votre première exécution immédiatement :
experiment_name: my-first-air-run
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: echo "hello AIR!"
Exécuter votre propre code
Pour exécuter un script d'entraînement local, ajoutez un bloc environment qui répertorie vos dépendances Python et un bloc code_source qui upload votre code local. Placez votre script à côté de train.yaml:
my-project/
├── train.yaml
└── train.py
experiment_name: my-first-air-run
environment:
version: '4'
dependencies:
- torch
- transformers
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
code_source:
type: snapshot
snapshot:
root_path: .
command: python $CODE_SOURCE_PATH/train.py
Cette configuration installe les dépendances listées, upload le répertoire actuel (root_path: .) et exécute train.py sur un seul GPU A10. $CODE_SOURCE_PATH correspond à l’emplacement du code upload sur le nœud distant. Databricks recommande d'utiliser ceci plutôt que de coder en dur un chemin. environment.version sélectionne la version de l’environnement GPU Serverless et est facultatif (default est '4'). Pour toutes les versions disponibles, consultez les versions de l’environnement.
Pour la référence complète des champs, consultez la référence YAML de Workload pour l'ancien CLI Python.
Étape 2 : soumettre l'exécution
Soumettez la charge de travail :
air run --file train.yaml
La CLI upload votre code local (si vous avez configuré code_source), soumet le Job et affiche un ID d'exécution. Utilisez cet ID pour inspecter, surveiller et annuler l'exécution dans les commandes ultérieures.
La soumission crée une exécution dans l'Experimentation MLflow nommée dans experiment_name (une Experimentation peut contenir de nombreuses exécutions). Cette exécution capture les métriques, les paramètres, les artefacts et les logs du workload, tous consultables dans l'interface utilisateur MLflow du workspace. Les Logs sont également disponibles en dehors de MLflow : Stream-les dans votre terminal ou un fichier, ou download ultérieurement avec air logs (voir Étape 3).
Pour regarder les logs jusqu’à la fin, ajoutez --watch:
air run --file train.yaml --watch
Étape 3 : inspecter l'exécution
Vérifier l'état :
air get run <run-id>
La sortie comprend des liens cliquables vers l’Experimentation MLflow de l’exécution et l’exécution MLflow dans l’interface utilisateur du Workspace.
Stream ou download les logs :
air logs <run-id>
air logs <run-id> --node 2
air logs <run-id> --download-to ./logs/
Les charges de travail distribuées s'exécutent sur plusieurs nœuds. Par default, air logs diffuse depuis le nœud 0. Pour afficher les logs d'un nœud spécifique, transmettez --node. Utilisez --download-to pour écrire des Logs dans un répertoire local au lieu de les streaming.
Lister les exécutions récentes :
air list runs --limit 10
air list runs --active
Annuler une exécution :
air cancel <run-id>
Modèles courants
Remplacer les champs YAML à partir de la ligne de commande :
air run --file train.yaml --override compute.num_accelerators=32 timeout_minutes=120
Valider la configuration sans l'envoyer :
air run --file train.yaml --dry-run
Rendre une soumission pouvant être relancée en toute sécurité :
air run --file train.yaml --idempotency-key my-unique-key
Si la même clé a déjà été utilisée, l'exécution existante est renvoyée au lieu d'en créer une nouvelle.