Tutoriel : Créer et déployer une exécution d’optimisation fine du modèle Foundation
Important
Cette fonctionnalité est disponible en préversion publique dans les régions suivantes : centralus
, eastus
, eastus2
, northcentralus
et westus
.
Cet article explique comment créer et configurer une exécution à l’aide de l’API d’optimisation fine du modèle Foundation (qui fait désormais partie de l’API Mosaïque AI Model Training), puis passer en revue les résultats et déployer le modèle à l’aide de l’interface utilisateur Databricks et du service mosaïque AI Model Service.
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é. Consultez Préparer les données pour le réglage précis du modèle Foundation.
Étape 1 : préparer vos données pour l’apprentissage
Consultez Préparer les données pour le réglage précis du modèle Foundation.
É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’entraînement à l’aide de la fonction d’optimisation create()
fine du modèle Foundation. 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 :
- Dans l’espace de travail Databricks, cliquez sur Expériences dans la barre de navigation gauche.
- Sélectionnez votre expérience dans la liste.
- 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.
- 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.
- 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.
- 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.
- 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 :
- Accédez au modèle dans Unity Catalog.
- Cliquez sur Mettre en service ce modèle.
- Cliquez sur Créer un point de terminaison de mise en service.
- Dans le champ Nom, indiquez un nom pour votre point de terminaison.
- Cliquez sur Créer.
Ressources supplémentaires
- Créer une exécution d’entraînement à l’aide de l’API De réglage fin du modèle Foundation
- Réglage précis du modèle de base
- Service de modèle avec Azure Databricks
- Consultez le notebook de démonstration Optimisation des instructions : Reconnaissance d’entité nommée pour obtenir un exemple d’optimisation des instructions qui décrit la préparation des données, l’optimisation de la configuration d’exécution de formation et le déploiement.