Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 Foundation Model Fine-tuning (qui fait désormais partie de Mosaic 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 Mosaic AI Model Serving.
Conditions requises
- 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 ultérieur.
- Vous devez exécuter ce tutoriel dans un notebook Databricks.
- Données d’apprentissage dans le format accepté. Consultez Préparer les données pour Foundation Model Fine-tuning.
Étape 1 : Préparer vos données pour l’entraînement
Consultez Préparer les données pour Foundation Model Fine-tuning.
Étape 2 : Installer le SDK databricks_genai
Utilisez la commande suivante pour installer le 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’entraînement
Créez une exécution d’entraînement à l’aide de la fonction Foundation Model Fine-tuning create()
. Les paramètres suivants sont requis :
-
model
: le modèle que vous souhaitez entraîner. -
train_data_path
: l’emplacement du jeu de données d’entraînement. -
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’entraînement dépend du nombre de jetons, du modèle et de la disponibilité de GPU. Pour un entraînement plus rapide, Databricks recommande d’utiliser un calcul réservé. Contactez l’équipe de votre compte Databricks pour de plus amples détails.
Après le lancement de votre exécution, vous pouvez surveiller son état en utilisant get_events()
.
run.get_events()
Étape 5 : Afficher les métriques 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.
- Dans la liste, sélectionnez votre expérience.
- Passez en revue les graphiques de métriques dans l’onglet Graphiques. Les métriques d’entraînement 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 métrique d’entraînement principale 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’entraînement. La perte ne doit toutefois pas être entièrement considérée comme un indicateur fiable car, dans les tâches d’entraînement d’instruction, la perte d’évaluation peut sembler être un surajustement alors que le modèle continue de s’améliorer.
- Plus la précision est élevée, meilleur est votre modèle, mais gardez à l’esprit qu’une précision proche de 100 % peut indiquer un 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 sur la base des mots ou 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.
-
- Dans cet onglet, vous pouvez également voir le résultat de vos invites d’évaluation, si vous les avez spécifiées.
Étape 6 : Évaluer plusieurs modèles personnalisés avec Mosaic AI Agent Evaluation avant le déploiement
Consultez l'évaluation de l'agent IA Mosaic (MLflow 2).
Étape 7 : Déployer votre modèle
L’exécution d’entraînement enregistre automatiquement votre modèle dans Unity Catalog après son achèvement. Le modèle est enregistré en fonction de ce que vous avez spécifié dans le champ register_to
de la méthode d’exécution create()
.
Pour 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, entrez le nom de votre point de terminaison.
- Cliquez sur Créer.
Ressources supplémentaires
- Créer une exécution d’entraînement à l’aide de l’API Foundation Model Fine-tuning
- Foundation Model Fine-tuning
- Déployer des modèles à l’aide de Mosaic AI Model Serving
- 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 d’entraînement et le déploiement.