Comment Databricks prend-il en charge le CI/CD pour le machine learning ?
Le CI/CD (intégration et livraison continues) désigne un processus automatisé pour le développement, le déploiement, le monitoring et la maintenance de vos applications. En automatisant la création, le test et le déploiement de code, les équipes de développement peuvent livrer des versions plus fréquemment et de manière plus fiable que les processus manuels encore répandus au sein de nombreuses équipes de Data Engineering et de Data Science. Le CI/CD pour le Machine Learning rassemble les techniques de MLOps, DataOps, ModelOps et DevOps.
Cet article décrit comment Databricks prend en charge le CI/CD pour les solutions de machine learning. Dans les applications de machine learning, le CI/CD est important non seulement pour les assets de code, mais il s'applique également aux pipelines de données, y compris les données d'entrée et les résultats générés par le modèle.

Éléments de Machine Learning nécessitant du CI/CD
L’un des défis du développement de ML est que différentes équipes sont responsables de différentes parties du processus. Les équipes peuvent s’appuyer sur différents outils et avoir des calendriers de publication différents. Databricks fournit une plateforme de données et de ML unifiée et unique avec des outils intégrés pour améliorer l'efficacité des équipes et garantir la cohérence et la répétabilité des Pipelines de ML.
En général, pour les tâches de Machine Learning, les éléments suivants doivent être suivis dans un workflow CI/CD automatisé :
- Données d'entraînement, y compris la qualité des données, les modifications de schéma et les modifications de distribution.
- Pipelines de données d'entrée.
- Code pour l'entraînement, la validation et le service du modèle.
- Prédictions et performances du modèle.
Intégrer Databricks dans vos processus CI/CD
MLOps, DataOps, ModelOps et DevOps désignent l'intégration des processus de développement avec les « opérations » – rendant les processus et l'infrastructure prévisibles et fiables. Cet ensemble d'articles décrit comment intégrer les principes d'Opérations (« ops ») dans vos workflows ML sur la plateforme Databricks.
Databricks intègre tous les composants requis pour le cycle de vie du ML, y compris des outils pour créer « la configuration en tant que code » pour assurer la reproductibilité et « l'infrastructure en tant que code » pour automatiser le provisionnement des services cloud. Il comprend également des services de journalisation et d'alerte pour vous aider à détecter et à résoudre les problèmes lorsqu'ils surviennent.
DataOps: Fiabilité et sécurité des données
Les bons modèles ML dépendent de pipelines de données et d'une infrastructure fiables. Avec la Databricks Data Intelligence Platform, l'ensemble du pipeline de données, de l'ingestion des données aux sorties du modèle servi, se trouve sur une seule plateforme et utilise le même ensemble d'outils, ce qui facilite la productivité, la reproductibilité, le partage et le dépannage.

Tâches et outils DataOps dans Databricks
Le tableau répertorie les tâches et outils DataOps courants dans Databricks :
Tâche DataOps | Outil dans Databricks |
|---|---|
Ingérer et transformer des données | Auto Loader et Apache Spark |
Suivre les modifications des données, y compris la gestion des versions et la traçabilité | |
Construire, gérer et surveiller les pipelines de traitement des données | |
Assurez la sécurité et la gouvernance des données | |
Analyse exploratoire des données et tableaux de bord | |
Codage général | |
Planifier les pipelines de données | |
Automatiser les workflows généraux | |
Créer, stocker, gérer et découvrir des fonctionnalités pour l'entraînement de modèles | |
Data monitoring |
ModelOps : développement et cycle de vie du modèle
Le développement d'un modèle nécessite une série d'expérimentations et un moyen de suivre et de comparer les conditions et les résultats de ces expérimentations. La Databricks Data Intelligence Platform inclut MLflow pour le suivi du développement de modèles et le MLflow Model Registry pour gérer le cycle de vie du modèle, y compris la mise en scène, le déploiement et le stockage des artefacts de modèle.
Après la mise en production d'un modèle, de nombreux éléments peuvent changer qui pourraient affecter ses performances. En plus de monitoring la performance de prédiction du modèle, vous devriez également surveiller les données d'entrée pour les changements de qualité ou de caractéristiques statistiques qui pourraient nécessiter un réentraînement du modèle.

Tâches et outils ModelOps dans Databricks
Le tableau répertorie les tâches ModelOps courantes et les outils fournis par Databricks :
Tâche ModelOps | Outil dans Databricks |
|---|---|
Suivre le développement de modèles | |
Gérer le cycle de vie du modèle | |
Gestion de versions et partage du code de modèle | |
Développement de modèles sans code | |
Supervision des modèles |
DevOps : production et automatisation
La plateforme Databricks prend en charge les modèles ML en production avec les éléments suivants :
- Traçabilité des données et des modèles de bout en bout : des modèles en production à la source de données brutes, sur la même plateforme.
- Model Serving de niveau production : monte en charge automatiquement à la hausse ou à la baisse en fonction de vos besoins commerciaux.
- Jobs : Automatise les jobs et crée des workflows de machine learning planifiés.
- Dossiers Git : le versionnage et le partage de code depuis le Workspace aident également les équipes à suivre les bonnes pratiques d'ingénierie logicielle.
- Bundles d'automatisation déclarative: Automatise la création et le déploiement de ressources Databricks, telles que les Job, les modèles enregistrés et les Endpoint de diffusion.
- Fournisseur Terraform Databricks: automatise l'infrastructure de déploiement sur plusieurs clouds pour les Jobs d'inférence ML, les endpoints de diffusion et les Jobs de featurisation.
Mise à disposition de modèles
Pour le déploiement de modèles en production, MLflow simplifie considérablement le processus, en offrant un déploiement en un clic en tant que Job batch pour de grandes quantités de données ou en tant qu'Endpoint REST sur un cluster à mise à l'échelle automatique. L'intégration de Databricks Magasin de fonctionnalités avec MLflow assure également la cohérence des fonctionnalités pour l'entraînement et le service ; de plus, les modèles MLflow peuvent rechercher automatiquement les fonctionnalités dans le Magasin de fonctionnalités, même pour le service en ligne à faible latence.
La plateforme Databricks prend en charge de nombreuses options de déploiement de modèles :
- Code et conteneurs.
- Batch serving.
- Service en ligne à faible latence.
- Service sur l'appareil ou en périphérie.
- Multi-cloud, par exemple, former le modèle sur un cloud et le déployer avec un autre.
Pour plus d'informations, consultez Model Serving.
Jobs
Les Lakeflow Jobs vous permettent d'automatiser et de planifier tout type de tâche, de l'ETL au ML. Databricks prend également en charge les intégrations avec des orchestrateurs tiers populaires comme Airflow.
Dossiers Git
La plateforme Databricks inclut la prise en charge de Git dans le Workspace pour aider les équipes à suivre les meilleures pratiques de Data Engineering en effectuant des opérations Git via l'interface utilisateur. Les administrateurs et les ingénieurs DevOps peuvent utiliser des APIs pour mettre en place l'automatisation avec leurs outils CI/CD préférés. Databricks prend en charge tout type de déploiement Git, y compris les réseaux privés.
Pour plus d'informations sur les bonnes pratiques de développement de code à l'aide des dossiers Git de Databricks, consultez Workflows CI/CD avec intégration Git et dossiers Git Databricks et Utiliser CI/CD. Ces techniques, associées à l'API REST Databricks, vous permettent de créer des processus de déploiement automatisés avec GitHub Actions, les pipelines Azure DevOps ou les jobs Jenkins.
Unity Catalog pour la gouvernance et la sécurité
La plateforme Databricks inclut Unity Catalog, qui permet aux administrateurs de définir un contrôle d'accès précis, des politiques de sécurité et une gouvernance pour tous les assets de données et d'IA sur l'ensemble de Databricks.