Aller au contenu principal

Mettre à niveau les workflows ML pour cibler les modèles dans Unity Catalog

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

Exigences

Privilèges requis

Pour exécuter un workflow de formation, de déploiement ou d'inférence de modèle dans Unity Catalog, le principal exécutant le workflow doit disposer des 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 disposer du privilège CREATE MODEL.
  • Pour charger ou déployer un modèle, le principal doit disposer du privilège EXECUTE sur le modèle enregistré.
  • Pour créer une nouvelle version de modèle, le principal doit être le propriétaire du modèle enregistré, ou disposer du privilège CREATE MODEL VERSION sur celui-ci.
  • Pour définir un alias sur un modèle enregistré, le mandant doit être le propriétaire du modèle enregistré.

Exigences en matière de compute

La ressource de compute spécifiée pour le workflow doit avoir accès à Unity Catalog. Voir les modes d'accès.

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

Pour mettre à niveau les workflows d'entraînement et d'inférence de modèles vers Unity Catalog, Databricks recommande une approche incrémentielle dans laquelle vous créez une pipeline parallèle d'entraînement, de déploiement et d'inférence qui exploite les modèles dans Unity Catalog. Lorsque les résultats obtenus avec Unity Catalog vous conviennent, vous pouvez faire basculer les consommateurs en aval pour lire la sortie d'inférence batch, ou augmenter le trafic acheminé vers les modèles dans Unity Catalog dans les endpoints de service.

Flux de travail d'entraînement de modèle

Clonez votre workflow d'entraînement de modèle. Veuillez confirmer que le principal exécutant le workflow et le compute spécifié pour le workflow satisfont aux exigences.

Ensuite, modifiez le code d'entraînement 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 Branch Git dans le workflow cloné. Suivez ces étapes pour installer la version nécessaire de MLflow et configurer le client afin de cibler Unity Catalog dans votre code d'entraînement. Ensuite, mettez à jour le code d'entraînement du modèle pour enregistrer les modèles dans Unity Catalog. Consultez Entraîner et enregistrer des modèles compatibles avec Unity Catalog.

Flux de travail de déploiement de modèle

Clonez votre workflow de déploiement de modèles. Veuillez confirmer que le principal exécutant le workflow et le compute spécifié pour le workflow satisfont aux exigences.

Si votre workflow de déploiement contient une logique de validation de modèle, mettez-la à jour pour charger les versions de modèle à partir d'Unity Catalog. Utilisez les alias pour gérer les déploiements de modèles en production.

Workflow d'inférence de modèle

Flux de travail d'inférence par batch

Cloner le workflow d'inférence par batch. Veuillez confirmer que le principal exécutant le workflow et le compute spécifié pour le workflow satisfont aux exigences.

Workflow de mise à disposition de modèles

Si vous utilisez Model Serving, vous n'avez pas besoin de cloner votre endpoint existant. Au lieu de cela, utilisez la fonctionnalité de répartition du trafic pour start à acheminer une petite fraction du trafic vers des modèles dans Unity Catalog. Lorsque vous examinez les résultats à l'aide d'Unity Catalog, augmentez la quantité de trafic jusqu'à ce que tout le trafic soit redirigé.

Promouvoir un modèle dans différents environnements

La promotion d'un modèle entre les environnements fonctionne différemment avec les modèles dans Unity Catalog. Pour plus de détails, consultez Promouvoir un modèle dans différents environnements.

Utiliser des webhooks de Job pour l'approbation manuelle du déploiement de modèle

Databricks recommande d'automatiser le déploiement de modèles si possible, en utilisant des vérifications et des tests appropriés pendant le processus de déploiement des modèles. Cependant, si vous devez effectuer des approbations manuelles pour déployer des modèles de production, vous pouvez utiliser les notifications de job pour appeler des systèmes CI/CD externes afin de demander une approbation manuelle pour le déploiement d'un modèle, après que votre job d'entraînement de modèle soit terminé avec succès. Une fois l'approbation manuelle fournie, votre système CI/CD peut alors déployer la version du modèle pour servir le trafic, par exemple en y définissant l'alias « Champion ».