Créez une exécution d'entraînement à l'aide de l'API d'affinement des modèles 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 explique comment créer et configurer une exécution d'entraînement à l'aide de l'API d'affinement du modèle de fondation (faisant maintenant partie de l'entraînement de modèles Databricks), et décrit tous les parameters utilisés dans l'appel d'API. Vous pouvez également créer une exécution à l'aide de l'interface utilisateur. Pour obtenir des instructions, consultez Créer une exécution d'entraînement à l'aide de l'interface utilisateur d'affinement du modèle de fondation (déprécié).
Exigences
Consultez Exigences.
Créer une exécution d'entraînement
Pour créer des exécutions d'entraînement par programme, utilisez la fonction create(). Cette fonction entraîne un modèle sur le dataset fourni et enregistre le modèle entraîné pour l'inférence.
Les entrées requises sont le modèle que vous souhaitez entraîner, l'emplacement de votre dataset d'entraînement et l'endroit où enregistrer votre modèle. Il existe également des paramètres facultatifs qui vous permettent d'effectuer une évaluation et de modifier les hyperparamètres de votre exécution.
Une fois l'exécution terminée, l'exécution achevée et le point de contrôle final sont enregistrés, le modèle est cloné, et ce clone est enregistré dans Unity Catalog comme version de modèle pour l'inférence.
Le modèle de l'exécution terminée, et non la version clonée du modèle dans Unity Catalog, est enregistré dans MLflow. Les checkpoints peuvent être utilisés pour des tâches d'affinement continues.
Consultez Configurer une exécution d'entraînement pour plus de détails sur les arguments de la fonction create().
from databricks.model_training import foundation_model as fm
run = fm.create(
model='meta-llama/Llama-3.2-3B-Instruct',
train_data_path='dbfs:/Volumes/main/mydirectory/ift/train.jsonl', # UC Volume with JSONL formatted data
# Public HF dataset is also supported
# train_data_path='mosaicml/dolly_hhrlhf/train'
register_to='main.mydirectory', # UC catalog and schema to register the model to
)
Configurer une exécution d'entraînement
Le tableau suivant récapitule les paramètres de la fonction foundation_model.create().
parameter | Obligatoire | Type | Description |
|---|---|---|---|
| X | str | Le nom du modèle à utiliser. Consultez les Modèles pris en charge. |
| X | str | L'emplacement de vos données d'entraînement. Il peut s'agir d'un emplacement dans Unity Catalog ( |
| X | str | Le catalogue Unity Catalog et le schéma ( |
| str | L'ID de cluster du cluster à utiliser pour le traitement des données Spark. Ceci est requis pour les tâches d’entraînement d’instructions où les données d’entraînement se trouvent dans une table Delta. Pour plus d'informations sur la façon de trouver l'ID du cluster, voir Obtenir l'ID du cluster. | |
| str | Le chemin d'accès à l'expérimentation MLflow où la sortie de l'exécution d'entraînement (métriques et points de contrôle) est enregistrée. Par default, utilise le nom de l'exécution dans le Workspace personnel de l'utilisateur (c'est-à-dire | |
| str | Le type de tâche à exécuter. Peut être | |
| str | L'emplacement distant de vos données d'évaluation (le cas échéant). Doit suivre le même format que | |
| Liste[str] | Une liste de chaînes de prompt pour générer des réponses pendant l'évaluation. Default est | |
| str | L'emplacement distant d'un point de contrôle de modèle personnalisé pour l'entraînement. default est | |
| str | La durée totale de votre exécution. Default est une époque ou | |
| str | Le taux d'apprentissage pour l'entraînement du modèle. Tous les modèles sont entraînés à l'aide de l'optimiseur AdamW, avec un réchauffement du taux d'apprentissage. Le taux d'apprentissage default peut varier par modèle. Nous suggérons d'effectuer un balayage d'hyperparamètres en essayant différents taux d'apprentissage et différentes durées d'entraînement pour obtenir les modèles de la plus haute qualité. | |
| str | La longueur maximale des séquences d'un échantillon de données. Ceci est utilisé pour tronquer toutes les données trop longues et pour package des séquences plus courtes ensemble pour plus d’efficacité. La default est de 8 192 jetons ou la longueur maximale du contexte pour le modèle fourni, selon la valeur la plus basse. Vous pouvez utiliser ce paramètre pour configurer la longueur du contexte, mais la configuration au-delà de la longueur maximale du contexte de chaque modèle n'est pas prise en charge. Consultez Modèles pris en charge pour la longueur maximale de contexte prise en charge de chaque modèle. | |
| Booléen | Indique s'il faut valider l'accès aux chemins d'entrée avant de soumettre le job d'entraînement. default est |
S’appuyer sur des poids de modèle personnalisés
REMARQUE : Si vous avez entraîné un modèle avant le 26/03/2025, vous ne pourrez plus continuer à l'entraîner à partir de ces points de contrôle de modèle. Toutes les exécutions d'entraînement précédemment terminées peuvent toujours être servies avec un throughput provisionné sans problème.
L'affinement des modèles de fondation prend en charge l'ajout de pondérations personnalisées à l'aide du parameter facultatif custom_weights_path pour entraîner et personnaliser un modèle.
Pour commencer, définissez custom_weights_path sur le chemin du point de contrôle d'une exécution d'entraînement d'API d'affinement précédente. Les chemins de points de contrôle se trouvent dans l’onglet Artefacts d’une précédente exécution MLflow. Le nom du dossier du point de contrôle correspond au batch et à l'époque d'un instantané particulier, tel que ep29-ba30/.

- Pour fournir le dernier point de contrôle d’une exécution précédente, définissez
custom_weights_pathsur le point de contrôle produit par l’API d’affinement. Par exemple,custom_weights_path=dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<run_name>/checkpoints/latest-sharded-rank0.symlink. - Pour fournir un point de contrôle antérieur, définissez
custom_weights_pathsur un chemin d'accès à un dossier contenant.distcpfichiers correspondant au point de contrôle souhaité, tel quecustom_weights_path=dbfs:/databricks/mlflow-tracking/<experiment_id>/<run_id>/artifacts/<run_name>/checkpoints/ep#-ba#.
Ensuite, mettez à jour le paramètre model pour qu'il corresponde au modèle de base du point de contrôle que vous avez transmis à custom_weights_path.
Dans l'exemple suivant, ift-meta-llama-3-1-70b-instruct-ohugkq est une exécution précédente qui affine meta-llama/Meta-Llama-3.1-70B. Pour affiner le dernier point de contrôle de ift-meta-llama-3-1-70b-instruct-ohugkq, définissez les variables model et custom_weights_path comme suit :
from databricks.model_training import foundation_model as fm
run = fm.create(
model = 'meta-llama/Meta-Llama-3.1-70B'
custom_weights_path = 'dbfs:/databricks/mlflow-tracking/2948323364469837/d4cd1fcac71b4fb4ae42878cb81d8def/artifacts/ift-meta-llama-3-1-70b-instruct-ohugkq/checkpoints/latest-sharded-rank0.symlink'
... ## other parameters for your fine-tuning run
)
Consultez Configurer une exécution d'entraînement pour configurer d'autres parameters dans votre exécution d'affinement.
Obtenir l'ID de cluster
Pour récupérer l’ID de cluster :
-
Dans la barre de navigation de gauche du workspace Databricks, cliquez sur Compute .
-
Dans le tableau, cliquez sur le nom de votre cluster.
-
Cliquez sur
dans le coin supérieur droit et sélectionnez Afficher le JSON dans le menu déroulant.
-
Le fichier JSON du cluster apparaît. Copiez l'ID du cluster, qui est la première ligne du fichier.

Obtenir le statut d'une exécution
Vous pouvez suivre la progression d'une exécution en utilisant la page Experimentation dans l'interface utilisateur de Databricks ou en utilisant la commande API get_events(). Pour plus de détails, consultez Afficher, gérer et analyser les exécutions d'affinement de modèle de fondation (déprécié).
Exemple de sortie de get_events():

Exemple de détails d'exécution sur la page d'Experimentation :

Étapes suivantes
Une fois votre exécution d'entraînement terminée, vous pouvez consulter les métriques dans MLflow et déployer votre modèle pour l'inférence. Consultez les étapes 5 à 7 de Didacticiel : Créer et déployer une exécution d'affinement de modèle de fondation (obsolète).
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.
Exemple de Notebook
Le Notebook suivant montre un exemple de la façon de générer des données synthétiques à l'aide du modèle Meta Llama 3.1 405B Instruct et d'utiliser ces données pour affiner un modèle :
Générez des données synthétiques à l’aide du notebook Llama 3.1 405B Instruct.
Ressources supplémentaires
- Affinement de modèle de fondation (obsolète)
- Didacticiel : Créer et déployer un run d'affinement de modèle de fondation (déprécié)
- Créer un run d'entraînement en utilisant l'UI d'affinement du modèle de fondation (déprécié)
- Afficher, gérer et analyser les exécutions d'affinement du modèle de fondation (obsolète)
- Préparer les données pour l'affinement du modèle de fondation (obsolète).