Remarque
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.
Warning
Le réglage fin des modèles de base est arrivé en fin de vie (EoL) et n’est plus pris en charge. Le package databricks_genai et l’interface utilisateur de réglage fin du modèle de fondation ne sont plus disponibles.
Pour l’entraînement et l’ajustement fin des modèles de base, Databricks recommande AI Runtime, qui offre un environnement serverless soutenu par GPU.
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 Databricks Model Fine-tuning (désormais partie de l’API Databricks 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 de modèle.
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é. Voir Préparer les données pour le réglage fin du modèle de base (EoL).
Étape 1 : Préparer vos données pour l’entraînement
Voir Préparer les données pour le réglage fin du modèle de base (EoL).
É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 :
-
LanguageCrossEntropycalcule l’entropie croisée sur les sorties de modélisation du langage. Un score inférieur est meilleur. -
LanguagePerplexitymesure 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. -
TokenAccuracycalcule 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 l’évaluation de l’agent avant le déploiement
Consultez Évaluation de l’agent (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éez une exécution d’entraînement à l’aide de l’API d’ajustement fin des modèles de base (EoL)
- Ajustement fin du modèle de base (EoL)
- Déployer des modèles à l’aide du service de modèle
- 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.