Mettre à niveau les workflows ML vers les modèles cibles dans Unity Catalog

Cet article explique comment migrer et mettre à niveau des workflows Databricks pour utiliser des modèles dans Unity Catalog.

Spécifications

Privilèges requis

Pour exécuter un flux de travail d’entraînement, de déploiement ou d’inférence de modèle dans Unity Catalog, le principal exécutant le flux de travail doit avoir les privilèges USE CATALOG et USE SCHEMA sur le catalogue et le schéma qui contiennent le modèle.

Les privilèges suivants sont également requis :

  • Pour créer un modèle, le principal doit avoir le privilège CREATE MODEL.
  • Pour charger ou déployer un modèle, le principal doit avoir le privilège EXECUTE sur le modèle inscrit.

Seul le propriétaire d’un modèle inscrit peut effectuer les opérations suivantes :

  • Créez une nouvelle version du modèle.
  • Définir un alias sur un modèle inscrit.

Exigences de calcul

La ressource de calcul spécifiée pour le flux de travail doit avoir accès à Unity Catalog. Voir Modes d’accès aux fichiers.

Créer des workflows d’entraînement, de déploiement et d’inférence parallèles

Pour mettre à niveau les workflows d’entraînement et d’inférence de modèle vers Unity Catalog, Databricks recommande une approche incrémentielle dans laquelle vous créez des pipelines d’entraînement, de déploiement et d’inférence parallèles qui tirent parti des modèles dans Unity Catalog. Lorsque vous êtes satisfait des résultats de votre travail avec Unity Catalog, vous pouvez modifier les consommateurs en aval pour qu’ils lisent la sortie d’inférence par lots, ou augmenter le trafic routé vers les modèles dans Unity Catalog dans le service des points de terminaison.

Flux de travail d’apprentissage du modèle

Clonez votre workflow d’apprentissage du modèle. Vérifiez que le principal exécutant le flux de travail et le calcul spécifié pour le flux de travail répondent aux Exigences.

Ensuite, modifiez le code de formation du modèle dans le flux de travail cloné. Vous devrez peut-être cloner le notebook exécuté par le workflow, ou créer et cibler une nouvelle branche git dans le workflow cloné. Suivez ces étapes pour installer la version nécessaire de MLflow zr configurer le client pour cibler Unity Catalog dans votre code de formation. Ensuite, mettez à jour le code d’entraînement du modèle pour inscrire des modèles dans Unity Catalog. Consultez Effectuer l’apprentissage et inscrire des modèles compatibles avec Unity Catalog.

Workflow de modèle de déploiement

Clonez flux de workflow de déploiement de modèle. Vérifiez que le principal exécutant le flux de travail et le calcul spécifié pour le flux de travail répondent aux Exigences.

Si vous disposez d’une logique de validation de modèle dans votre flux de travail de déploiement, mettez-la à jour pour charger les versions de modèle à partir d’UC. Utilisez des alias pour gérer les déploiements de modèles de production.

Flux de travail d’inférence de modèle

Flux de travail d'inférence par lots

Clonez le flux de travail d’inférence par lots. Vérifiez que le principal exécutant le flux de travail et le calcul spécifié pour le flux de travail répondent aux Exigences.

Flux de travail de diffusion de modèles

Si vous utilisez le service de modèles Mosaic AI, vous n’avez pas besoin de cloner votre point de terminaison existant. Au lieu de cela, vous pouvez tirer parti de la fonctionnalité de répartition du trafic pour commencer à acheminer une petite fraction du trafic vers les modèles dans Unity Catalog. Lorsque vous passez en revue les résultats à l’aide d’Unity Catalog, augmentez la quantité de trafic jusqu’à ce que tout le trafic soit routé.

Promouvoir un modèle dans plusieurs environnements

La promotion d’un modèle entre les environnements fonctionne différemment avec les modèles dans Unity Catalog. Pour plus d’informations, consultez Promouvoir un modèle dans plusieurs environnements.

Utiliser des webhooks de travail pour approuver manuellement le déploiement de modèles

Databricks vous recommande si possible d’automatiser le déploiement de modèles, en utilisant des vérifications et des tests appropriés pendant le processus de déploiement de modèles. Toutefois, si vous devez effectuer des approbations manuelles pour déployer des modèles de production, vous pouvez utiliser des notifications de travail pour appeler des systèmes CI/CD externes afin de demander une approbation manuelle pour le déploiement d’un modèle, une fois le travail d’apprentissage de votre modèle terminé. Une fois l’approbation manuelle fournie, votre système CI/CD peut ensuite déployer la version du modèle pour traiter le trafic, par exemple en définissant l’alias « Champion » sur celui-ci.