Partager via


Tutoriel : Créer et déployer une exécution Mosaic AI Model Training

Important

Cette fonctionnalité est disponible en préversion publique dans les régions suivantes : centralus, eastus, eastus2, northcentralus et westus.

Cet article décrit comment créer et configurer une exécution à l’aide de l’API Mosaic AI Model Training (anciennement Foundation Model Training), ainsi que comment vérifier les résultats et déployer le modèle à l’aide de l’interface utilisateur Databricks et de Mosaic AI Model Serving.

Exigences

  • Un espace de travail dans l’une des régions Azure Suivantes : centralus, eastus, eastus2, northcentralus, westcentralus, westus, westus3.
  • Databricks Runtime 12.2 LTS ML ou version ultérieure.
  • Vous devez exécuter ce tutoriel dans un notebook Databricks.
  • Données d’apprentissage dans un format accepté. Voir Préparer des données pour Mosaic AI Model Training.

Étape 1 : préparer vos données pour l’apprentissage

Voir Préparer des données pour Mosaic AI Model Training.

Étape 2 : installer le Kit de développement logiciel (SDK) databricks_genai

Utilisez la procédure suivante pour installer le Kit de développement logiciel (SDK) databricks_genai.

%pip install databricks_genai

Importez ensuite la bibliothèque foundation_model :

dbutils.library.restartPython()
from databricks.model_training import foundation_model as fm

Étape 3 : créer une exécution d’apprentissage

Créez une exécution d’apprentissage à l’aide de la fonction create() de Mosaic AI Model Training. Les paramètres requis sont les suivants :

  • model : le modèle que vous souhaitez tester.
  • train_data_path : l’emplacement du jeu de données d’apprentissage.
  • register_to : le catalogue et le schéma Unity Catalog dans lesquels vous souhaitez enregistrer les points de contrôle.

Par exemple :

run = fm.create(model='meta-llama/Meta-Llama-3.1-8B-Instruct',
                train_data_path='dbfs:/Volumes/main/my-directory/ift/train.jsonl', # UC Volume with JSONL formatted data
                register_to='main.my-directory',
                training_duration='1ep')

run

Étape 4 : afficher l’état d’une exécution

Le temps nécessaire à l’achèvement d’une exécution d’apprentissage dépend du nombre de jetons, du modèle et de la disponibilité du GPU. Pour obtenir un apprentissage plus rapide, Databricks vous recommande d’utiliser un calcul réservé. Contactez l’équipe de votre compte Databricks afin d’obtenir des informations.

Après le lancement de votre exécution, vous pouvez surveiller son état en utilisant get_events().

run.get_events()

Étape 5 : afficher les mesures et les sorties

Suivez ces étapes pour afficher les résultats dans l’interface utilisateur Databricks :

  1. Dans l’espace de travail Databricks, cliquez sur Expériences dans la barre de navigation gauche.
  2. Sélectionnez votre expérience dans la liste.
  3. Passez en revue les graphiques de mesures sous l’onglet Graphiques. Les métriques d’apprentissage sont générées pour chaque exécution d’entraînement et les métriques d’évaluation sont générées uniquement si un chemin de données d’évaluation est fourni.
    1. La principale mesure d’apprentissage montrant la progression est une perte. Vous pouvez utiliser une perte d’évaluation pour voir si votre modèle effectue un surajustement sur vos données d’apprentissage. Cependant, vous ne devez pas vous appuyer entièrement sur une perte, car une perte d’évaluation peut sembler être surajustée alors que le modèle poursuit son amélioration dans des tâches d’apprentissage supervisées.
    2. Plus la précision est élevée, meilleur est votre modèle, mais gardez à l’esprit qu’une précision proche de 100 % peut démontrer une surajustement.
    3. Les métriques suivantes s’affichent dans MLflow après votre exécution :
      • LanguageCrossEntropy calcule l’entropie croisée sur les sorties de modélisation du langage. Un score inférieur est meilleur.
      • LanguagePerplexity mesure la façon dont un modèle de langage prédit le mot ou le caractère suivant dans un bloc de texte basé sur des mots ou des caractères précédents. Un score inférieur est meilleur.
      • TokenAccuracy calcule la précision au niveau du jeton pour la modélisation du langage. Un score supérieur est meilleur.
    4. Sous cet onglet, vous pouvez également afficher le résultat de vos invites d’évaluation, si vous les spécifiez.

Étape 6 : Évaluer plusieurs modèles personnalisés avec l’évaluation de l’agent d’IA De Mosaïque avant de déployer

Découvrez qu’est-ce que l’évaluation de l’agent d’IA de Mosaïque ?.

Étape 7 : déployer votre modèle

L’exécution d’apprentissage inscrit automatiquement votre modèle dans Unity Catalog après son achèvement. Le modèle est inscrit en fonction de ce que vous spécifiez dans le champ register_to de la méthode create() d’exécution.

Si vous souhaitez déployer le modèle pour la mise en service, suivez ces étapes :

  1. Accédez au modèle dans Unity Catalog.
  2. Cliquez sur Mettre en service ce modèle.
  3. Cliquez sur Créer un point de terminaison de mise en service.
  4. Dans le champ Nom, indiquez un nom pour votre point de terminaison.
  5. Cliquez sur Créer.

Ressources supplémentaires