Aller au contenu principal

Utiliser la CLI Databricks avec AI Runtime

La CLI databricks air exécute des charges de travail GPU à nœud unique et à nœuds multiples sur AI Runtime, la plateforme de compute GPU Serverless à la demande. Définissez le compute, l’environnement et la commande d’une charge de travail en YAML, puis soumettez-la avec databricks air run.

AI Runtime gère le provisionnement des GPU et la configuration de l'environnement et fournit l'état d'exécution, les logs, les métriques système et le suivi MLflow. Le workflow YAML et CLI fonctionne naturellement avec les agents de codage, qui peuvent définir, soumettre et surveiller des workloads.

Utilisez la CLI pour :

  • Développez et itérez sur des applications Python à partir de votre environnement local.
  • Définissez des charges de travail à nœud unique ou à nœuds multiples reproductibles dans des fichiers YAML que vous pouvez contrôler à la source.
  • Envoyez et gérez les charges de travail à partir d’un terminal ou d’un workflow de développement automatisé.

Les workloads types incluent l’affinement et le post-entraînement de LLM, l’entraînement distribué, l’inférence par batch, les applications Ray et la recherche d’hyperparamètres.

Pour les prérequis du workspace, voir Prérequis. Pour soumettre une charge de travail, suivez le démarrage rapide.

Les commandes CLI Databricks pour l'IA Runtime respectent les mêmes normes de conformité que les charges de travail de l'IA Runtime. Pour les normes prises en charge et les exceptions, consultez le profil de sécurité et de conformité.

remarque

Les commandes databricks air et la configuration des charges de travail diffèrent de celles de l’ancienne CLI air basée sur Python dans le package databricks-air. Consultez Migration de la CLI Python.

Explorer des exemples exécutables​

Le cookbook AI Runtime contient des workloads Databricks CLI exécutables pour l'entraînement de modèles, l'affinement, l'inférence par batch, Ray et la recherche d'hyperparamètres. Chaque recette comprend un fichier YAML de workload, le code source et des instructions pour l’exécuter.

Comment s'exécute un workload​

Vous fournissez un fichier YAML de workload, le code de l'application si nécessaire et la commande qui start votre application. Lorsque vous soumettez un workload :

  1. La définition de la workload est validée par rapport au schéma pris en charge et aux contraintes de configuration.
  2. Si code_source est configuré, le code sélectionné est package sous forme d’instantané et upload.
  3. Le compute GPU et l’environnement demandés sont préparés sur chaque nœud.
  4. La commande fournie dans le fichier YAML de la charge de travail s’exécute sur chaque nœud.

La soumission renvoie un ID d'exécution de job qui identifie la charge de travail. Utilisez-le pour vérifier l'état, inspecter les logs et la configuration, ou annuler la charge de travail. Vous pouvez également afficher la page d'exécution du job et l'Experimentation MLflow pour obtenir des détails sur l'exécution, les métriques système, les Log et les artefacts.

Ce workflow fournit un provisionnement GPU managé, une configuration d'environnement reproductible et une observabilité intégrée, sans que vous ayez à configurer ou à maintenir une infrastructure GPU.

Configuration du Workload​

Un fichier YAML de charge de travail décrit les composants suivants :

  • Experimentation : L'expérience MLflow et l'exécution qui suivent le workload.
  • Environnement : environnement géré, dépendances ou image Docker personnalisée à utiliser.
  • Compute : type et nombre d'accélérateurs à provisionner.
  • Code source : un instantané facultatif du code de l’application à mettre à disposition du workload.
  • Commande : La commande Shell qui start votre application.
  • Paramètres Runtime : options telles que les tentatives, les délais d'expiration, les variables d'environnement, les secrets et les autorisations.

Pour les champs de configuration et des exemples, consultez la référence YAML Workload.

Upload du code de l'application​

Utilisez code_source pour upload des fichiers d'application avec une charge de travail. AI Runtime rend le répertoire upload disponible sur chaque nœud et définit $CODE_SOURCE_PATH sur son emplacement. Par exemple, la commande suivante exécute train.py depuis le répertoire upload :

YAML
command: python "$CODE_SOURCE_PATH/train.py"

Vous pouvez upload l'arborescence de travail actuelle ou sélectionner une branche ou un commit Git. Pour un exemple complet, voir le guide de démarrage rapide.

Développer et gérer des charges de travail​

Le développement suit généralement le processus suivant :

  1. Développez le code de l'application et le YAML du workload localement.
  2. Validez le YAML localement avec databricks air run --file <file> --dry-run.
  3. Soumettez la charge de travail avec databricks air run --file <file>. Ajouter --watch pour Stream les Logs jusqu'à la fin de l'exécution.
  4. Utilisez databricks air get, databricks air list et databricks air logs pour inspecter les charges de travail et les logs.
  5. Arrêtez éventuellement une charge de travail en cours d'exécution avec databricks air cancel.

Pour toutes les commandes et les drapeaux, voir groupe de commandes air.

Pour les exécutions planifiées, les workflows multi-tâches ou la promotion entre environnements, vous pouvez utiliser databricks air convert-to-dabs comme point de départ pour un bundle. Voir Planifier des charges de travail GPU et composer des tâches.

Suivre des charges de travail avec MLflow​

Chaque charge de travail soumise est représentée par une exécution de Job Databricks et suivie via une Experimentation MLflow :

  • Exécution de job Databricks : affiche le statut de la charge de travail, les tentatives d’exécution et la sortie sur la page d’exécution de jobs.
  • Experimentation MLflow : contient les exécutions MLflow avec les métriques système automatiquement capturées, la configuration de la charge de travail et les Logs. Votre application peut également utiliser les APIs MLflow pour consigner des parameters, des métriques et des artefacts personnalisés.

Utilisez l’identifiant d’exécution du job avec des commandes telles que databricks air get, databricks air logs et databricks air cancel. Voir Suivi et observabilité de l’Experimentation.

Exécutez des workloads sur un nœud unique ou distribués​

AI Runtime exécute la commande configurée une fois sur chaque nœud provisionné. Pour une charge de travail distribuée, il fournit des variables de coordination telles que NUM_NODES, NODE_RANK, LOCAL_WORLD_SIZE, MASTER_ADDR et MASTER_PORT.

Ce modèle d'exécution est indépendant du framework. Votre commande doit start et configurer le framework distribué, par exemple en invoquant torchrun, un script d'amorçage Ray ou un autre lanceur de framework. Pour des charges de travail complètes, consultez le Manuel AI Runtime.

Utiliser un agent IA​

La databricks-ai-runtime compétence d'agent fournit des instructions qui aident les agents d'IA, comme Claude Code, Cursor et Codex, à travailler avec AI Runtime via la CLI Databricks. Utilisez-la pour créer des YAML de charge de travail, soumettre des Job d'entraînement GPU, vérifier le statut de l'exécution, Stream Logs en continu et annuler des exécutions. Il inclut également des conseils pour les images Docker personnalisées.

Après avoir installé la CLI Databricks et configuré l'authentification, exécutez la commande suivante :

Bash
databricks aitools install --skills-only --skills databricks-ai-runtime

Suivez les instructions pour choisir votre agent IA et la portée de l'installation. Pour les options d'installation, consultez le groupe de commandes aitools. Pour savoir ce que couvre la compétence, consultez Utiliser les compétences d'agent avec AI Runtime.

Ressources supplémentaires​