Didacticiel : Créer et déployer un run d'affinement de modèle de fondation (obsolète)
L'affinement des modèles de fondation est obsolète et devrait être supprimé le 14 août 2026. Les exécutions d'affinement existantes continuent de fonctionner et peuvent être réentraînées, mais les nouvelles installations du package databricks_genai et de l'interface utilisateur d'affinement du modèle de fondation seront bloquées après cette date.
Databricks vous recommande de migrer vers AI Runtime, qui fournit un environnement serverless, basé sur un GPU, pour l'entraînement et l'affinement des modèles de base.
Aperçu
Cette fonctionnalité est en Aperçu public dans us-east-1 et us-west-2.
Cet article décrit comment créer et configurer une exécution à l'aide de l'API Foundation Model affinement (désormais partie de Databricks Model Training), puis examiner les résultats et déployer le modèle à l'aide de l'interface utilisateur de Databricks et de Model Serving.
Exigences
- Un Workspace dans la région AWS
us-east-1ouus-west-2. - Databricks Runtime 12.2 LTS ML ou version ultérieure.
- Ce didacticiel doit être exécuté dans un Notebook Databricks.
- Données d'entraînement au format accepté. Voir Préparer les données pour l'affinement du modèle de fondation (obsolète).
Étape 1 : Préparez vos données pour l’entraînement
Consultez Préparer les données pour l'affinement des modèles de fondation (déprécié).
Étape 2 : Installez le SDK databricks_genai
Utilisez ce qui suit pour installer le SDK databricks_genai.
%pip install databricks_genai
Ensuite, importez la bibliothèque foundation_model :
dbutils.library.restartPython()
from databricks.model_training import foundation_model as fm
Étape 3 : Créer un run d'entraînement
Créez un run d'entraînement en utilisant la fonction d'affinement de modèle de fondation create(). Les paramètres suivants sont requis :
model: le modèle que vous souhaitez entraîner.train_data_path: l'emplacement du dataset d'entraînement.register_to: le catalogue et le schéma Unity Catalog où vous souhaitez que les points de contrôle soient enregistrés.
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 : Affichez le statut d'une exécution
Le temps nécessaire pour terminer une exécution d'entraînement dépend du nombre de jetons, du modèle et de la disponibilité des GPU. Pour un entraînement plus rapide, Databricks vous recommande d'utiliser le compute réservé. Contactez l'équipe de votre compte Databricks pour plus de détails.
Après avoir lancé votre exécution, vous pouvez surveiller son statut à l'aide de 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 de Databricks :
- Dans le Workspace Databricks, cliquez sur Expérimentations dans la barre de navigation de gauche.
- Sélectionnez votre experimentation dans la liste.
- Passez en revue les graphiques de mesures dans la tab Charts. Les métriques d'entraînement sont générées pour chaque exécution d'entraînement et les métriques d'évaluation ne sont générées que si un chemin de données d'évaluation est fourni.
-
La métrique d'entraînement principale qui indique la progression est la perte. La perte d'évaluation peut être utilisée pour voir si votre modèle surajuste vos données d'entraînement. Cependant, il ne faut pas se fier entièrement à la perte, car dans les tâches d'entraînement basées sur des instructions, la perte d'évaluation peut sembler être un surajustement tandis 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 % pourrait indiquer un surapprentissage.
-
Les métriques suivantes apparaissent dans MLflow après votre exécution :
LanguageCrossEntropycalcule l'entropie croisée sur les sorties de la modélisation linguistique. Un score inférieur est meilleur.LanguagePerplexitymesure la capacité d'un modèle de langage à prédire le mot ou le caractère suivant dans un bloc de texte en fonction des mots ou caractères précédents. Un score inférieur est meilleur.TokenAccuracycalcule la précision au niveau des jetons pour la modélisation linguistique. Un score plus élevé est meilleur.
-
Dans cette tab, vous pouvez également consulter le résultat de vos invites d'évaluation si vous les avez spécifiées.
-
Étape 6 : évaluer plusieurs modèles personnalisés avec Agent Evaluation avant le déploiement
Consultez Agent Evaluation (MLflow 2).
Étape 7 : Déployer votre modèle
L'exécution d'entraînement enregistre automatiquement votre modèle dans Unity Catalog une fois terminée. 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 le service, suivez ces étapes :
- Accédez au modèle dans Unity Catalog.
- Cliquez sur Déployer ce modèle .
- Cliquez sur Créer un Endpoint de service .
- Dans le champ Nom , indiquez un nom pour votre endpoint.
- Cliquez sur Créer .
Ressources supplémentaires
- Créez un run d'entraînement à l'aide de l'API d'affinement du modèle de fondation (obsolète)
- Affinement de modèle de fondation (obsolète)
- Déployer des modèles à l'aide de Model Serving
- Consultez le notebook de démonstration Affinement d'instructions : Named Entity Recognition pour un exemple d'affinement d'instructions qui présente la préparation des données, la configuration et le déploiement de l'exécution de l'affinement.