Plateforme MLOps de Providence
Providence est une organisation de soins de santé comptant 120 000 soignants au service de plus de 50 hôpitaux et 1 000 cliniques répartis dans sept États. Providence est un pionnier dans le transfert de toutes les données des dossiers de santé électroniques (DSE) vers le cloud et un leader dans le domaine de la santé dans l’exploitation de la technologie cloud pour développer un vaste inventaire de modèles d’intelligence artificielle (IA) et d’apprentissage automatique (ML).
La popularité récente des grands modèles linguistiques (LLM) a créé une demande sans précédent de déploiement de LLM open source affinés sur le riche ensemble de données DSE de Providence. Les modèles AI/ML faits maison et les LLM affinés ont créé un inventaire encore plus complet de modèles AI/ML à Providence. L’équipe de science des données de Providence s’est lancée dans un projet ambitieux visant à créer une plateforme MLOps pour développer, valider et déployer un large inventaire de modèles IA/ML à grande échelle.
La plateforme MLOps de Providence repose sur trois piliers : le développement de modèles, la gestion des risques de modèle et le déploiement de modèles. L’équipe de science des données a élaboré des processus, des bonnes pratiques et une gouvernance dans le cadre des deux premiers piliers de la plateforme MLOps. Nous nous sommes associés à Databricks pour construire le troisième pilier de la plateforme MLOps : le déploiement de modèles.
Il existe plus de soixante-cinq espaces de travail Databricks à Providence. Chacun de ces espaces de travail dispose d’un inventaire de modèles, dont certains sont très demandés dans l’ensemble de l’entreprise. Le problème rencontré par Providence était de savoir comment déployer des modèles IA/ML très demandés sans rechercher de modèles dans les soixante-cinq espaces de travail. Une fois les modèles populaires identifiés, comment l’infrastructure de gouvernance peut-elle fournir un accès à ces modèles avec un minimum d’effort ?
Providence a présenté ce problème à Databricks qui a conçu une solution pour créer « Providence’s Model Marketplace », un espace de travail Databricks unique et centralisé avec un référentiel de modèles IA/ML populaires. Cette solution résout deux problèmes majeurs : (1) les soignants de l’entreprise ont simplement besoin d’accéder au « Models Marketplace » pour déployer n’importe quel modèle à partir de plus de soixante-cinq espaces de travail. (2) Le « Providence’s Model Marketplace » est un espace de travail dans lequel l’entreprise effectue des recherches lors du déploiement de modèles, réduisant ainsi la complexité de la gouvernance des modèles.
Pendant plusieurs semaines, l’équipe d’ingénieurs de plateforme, d’ingénieurs DevOps et de data scientists de Providence a travaillé en étroite collaboration avec l’équipe des services professionnels de Databricks pour créer le « marché modèle de Providence ». Les équipes Providence et Databricks se sont réunies plusieurs fois par semaine pour partager des mises à jour, résoudre les bloqueurs et transférer des connaissances. En conséquence, lorsque l’équipe Databricks a terminé le projet, Providence a repris le projet en toute transparence et a immédiatement commencé à utiliser et à améliorer la plate-forme.
Architecture de la plateforme MLOps

Les Data Scientists génèrent souvent des dizaines de centaines de modèles sur une courte période de temps. Pour mieux gérer les modèles existants, il est idéal de regrouper tous les modèles ML de production dans un seul espace de travail centralisé afin qu’ils puissent être facilement recherchés ou partagés entre les équipes.
Les espaces de travail Databricks représentent une division naturelle entre les groupes ou équipes métiers. Afin que toutes les versions de production des modèles ML vivent dans un seul espace de travail organisé, Databricks a proposé le diagramme d’architecture ci-dessus – en utilisant le stockage externe comme couche intermédiaire pour l’exportation et l’importation de modèles.
Dans ce projet, Providence était limité à l’utilisation des fonctionnalités Databricks généralement disponibles. Modèles dans le catalogue Unity la fonctionnalité n’a pas été prise en compte. En général, nous avons proposé 2 étapes de haut niveau.
- Exporter: une tâche planifiée quotidienne (exécutée par le principal du service) s’exécute dans chaque espace de travail pour exporter les dernières versions de production des modèles ML vers un stockage externe.
- Importer: Il existe une tâche planifiée quotidienne (également exécutée par le principal du service) en cours d’exécution dans l’espace de travail centralisé « Providence’s Models Marketplace » pour importer les dernières versions de production des modèles ML dans cet espace de travail « organisé » à partir d’un stockage externe.
Mise en œuvre
Tous les codes et travaux étaient exécutés par des principaux de service. Le code a été construit sur l’outil d’exportation/importation MLflow.
La logique de mise en œuvre est simple. Lorsque les data scientists sont prêts à mettre une version d’un modèle en production, ils passeront d’abord de l’étape du modèle à la « Production » dans le Registre de modèles MLflow dans leur espace de travail de développement Databricks. Après cela, les détails de la logique d’exportation et d’importation sont expliqués dans les sections suivantes.
Exporter:
Le code d’exportation est exécuté dans tous les espaces de travail de développement. L’algorithme, comme décrit ci-dessous, récupère la dernière version de production du modèle qui n’a pas été exportée auparavant. Ensuite, il exporte les fichiers correspondants dans DBFS et les copie dans un stockage externe. Ces fichiers incluent des fichiers de modèle ainsi que leurs Expériences MLflow et d’autres artefacts. Une fois cette dernière version de production du modèle exportée, nous mettons à jour la description comme « Exporté déjà le ……. ».
Algorithme
- Obtenez une liste qualifiée de modèles dans un espace de travail de développement (possède au moins 1 version de production)
- Récupérez le tableau delta récapitulatif d’exportation actuel à partir du stockage externe. S’il existe, écrasez-le dans une table Delta
- Pour chaque modèle de la liste qualifiée :
Vérifiez la dernière version de production de ce modèle :- Si la description contient un travail clé « Exporté déjà activé », ne continuez pas
- Sinon (la description ne contient pas le mot-clé « Exporté déjà activé ») :
- Procédez à l’exportation du modèle et des fichiers ;
- Modifiez la description du modèle d’origine en « Exporté déjà le … »
- Enregistrez les informations d’exportation en insérant une nouvelle ligne dans la table delta interne
- Remplacer le contenu de la table delta interne par la table delta « Résumé d’exportation » à partir du stockage externe
Après l’exportation, faites la description de la dernière version de production du modèle original comme « Exporté déjà le… »
client.update_model_version(
name=model_name,
version=latest_production_version,
description="Exported Already On " + todaysdate + ", old description: " + latest_description_production_version
)
Les deux captures d’écran ci-dessous montrent d’abord l’exportation du dernier modèle de production version 1 créé par Vivek dans l’espace de travail « dev01 », puis son importation dans l’espace de travail « Providence’s Models Marketplace » par un principal de service.
La capture d’écran d’exportation :

La capture d’écran d’importation :

Importer:
Jetons un coup d’œil à la logique d’importation des modèles de production depuis le stockage externe vers l’espace de travail « Providence Model Marketplace ».
Algorithme
- Filtrez le tableau d’exportation jusqu’à la date du jour, par espace de travail, par modèle, par dernière version exportée (ou dernier horodatage) uniquement.
- Récupérez la table delta récapitulative de l’importation actuelle à partir de l’emplacement de stockage externe et écrasez-la dans une table delta interne.
- Pour chaque ligne du tableau filtré de l’étape 1 :
- Récupérez les informations, model_name, original_workspace_id, version exportée, etc.
- Importer les fichiers de modèle et l’expérience MLflow
- Enregistrez ces informations d’importation en insérant une nouvelle ligne dans la même table delta interne
- Remplacer le contenu de la table delta interne par la table delta « Résumé d’importation » à partir du stockage externe
Étapes futures
Le projet a adopté une approche d’architecture évolutive pour gérer les fonctionnalités de Databricks qui ne sont pas encore disponibles en général (GA). Par exemple, « Modèles dans Unity Catalog » offre des fonctionnalités similaires, mais (au moment d’écrire ces lignes), elles sont en version préliminaire. En GA, les « Modèles dans le catalogue Unity » seraient exploités pour rendre les modèles sélectionnés disponibles dans l’espace de travail Providence Model Marketplace. Un workflow Databricks déclenché à partir de CI/CD serait toujours utilisé comme mécanisme pour appliquer les autorisations correspondantes aux modèles approuvés.
Providence continue de s’appuyer sur le travail effectué par Databricks. Ces derniers mois, les demandes d’implémentation de grands modèles de langage (LLM) dans diverses applications et processus à Providence ont considérablement augmenté. En conséquence, nous affinons les LLM open source sur les données DSE de Providence et les déployons sur la plateforme MLOps créée en partenariat avec Databricks.
L’équipe d’ingénierie DevOps de Providence crée un processus de demande d’extraction DevOps pour télécharger, distribuer et déployer des modèles open source en toute sécurité dans toute l’entreprise. La plateforme MLOps de Providence est sécurisée, ouverte et entièrement automatisée. Un soignant Providence peut facilement accéder à n’importe quel LLM maison ou open source en faisant simplement une pull request.
Conclusion
À Providence, notre force réside dans notre promesse : « Connaissez-moi, prenez soin de moi, facilitez-moi le chemin ». Travailler au sein de notre famille d’organisations signifie que quel que soit votre rôle, nous vous accompagnerons dans votre carrière, en vous soutenant afin que vous puissiez soutenir les autres. Nous offrons les meilleurs avantages sociaux et nous favorisons un lieu de travail inclusif où la diversité est valorisée et où chacun est essentiel, entendu et respecté. Ensemble, nos 120 000 soignants (tous employés) travaillent dans plus de 50 hôpitaux, plus de 1 000 cliniques et une gamme complète de services de santé et sociaux en Alaska, en Californie, au Montana, au Nouveau-Mexique, en Oregon, au Texas et à Washington. En tant qu’organisation de soins de santé globale, Providence sert plus de personnes, fait progresser les meilleures pratiques et perpétue notre tradition de plus de 100 ans au service des pauvres et des vulnérables.
Si vous êtes intéressé par une recherche d’emploi, n’hésitez pas à postuler pour rejoindre Providence et l’équipe. Voici le site Web des carrières de Providence : https://www.providenceiscalling.jobs/
À propos des auteurs:
Nous tenons à remercier Young Ling, Patrick Leyshock, Robert Kramer et Ramon Porras de Providence pour leur soutien au projet MLOps. Nous tenons également à remercier Andre Mesarovic, Antonio Pinheirofilho, Tejas Pandit et Greg Wood pour avoir développé l’outil MLflow-export-import : https://github.com/mlflow/mlflow-export-import.
À propos des auteurs
- Feifei Wang est un Data Scientist senior chez Databricks, travaillant avec les clients pour créer, optimiser et produire leurs pipelines ML. Auparavant, Feifei a passé 5 ans chez Disney en tant que scientifique décisionnel principal. Elle est titulaire d’un doctorat co-spécialisé en mathématiques appliquées et en informatique de l’Iowa State University, où ses recherches portaient sur la robotique.
- Luis Moros est consultant Staff Data Scientist au sein de ML Practice of Databricks. Il travaille dans le génie logiciel depuis plus de 20 ans, se concentrant sur la science des données et le Big Data au cours des 8 dernières années. Avant Databricks, Luis a appliqué l’apprentissage automatique et la science des données dans différents secteurs, notamment : les services financiers, la biotechnologie, le divertissement et Réalité augmentée.
- Vivek Tomer est directeur de la science des données chez Providence, où il est responsable de la création et de la direction de projets stratégiques d’entreprise IA/ML. Avant Providence, M. Tomer était vice-président du développement de modèles chez Umpqua Bank, où il a dirigé le développement des premiers modèles de risque de crédit et d’analyse client au niveau des prêts de la banque. M. Tomer est titulaire de deux maîtrises de l’Université de l’Illinois à Urbana-Champaign, l’une en statistiques théoriques et l’autre en finance quantitative, et possède plus d’une décennie d’expérience dans la résolution de problèmes commerciaux complexes à l’aide de modèles IA/ML.
- Lindsay Mico est responsable de la science des données pour Providence, avec un accent sur les solutions d’IA à l’échelle de l’entreprise et les architectures cloud natives. Initialement formé en tant que neuroscientifique cognitif et statisticien, il a travaillé dans des secteurs tels que la gestion des ressources naturelles, les télécommunications et la santé.