Déployer une plate-forme d'analyse fédérée et prédictive des soins de santé sur Oracle Cloud

L'apprentissage fédéré pourrait bientôt devenir la norme de facto pour l'analyse massive des données sur les soins de santé des patients. Parce que le processus d'apprentissage fédéré se produit localement dans n'importe quel hôpital, clinique ou pharmacie participant, les algorithmes de formation peuvent être construits sans exporter les données des patients en dehors du pare-feu d'un système.

SymetryML, basée au New Jersey, utilise des algorithmes d'apprentissage fédérés pour exécuter sa plate-forme d'analyse prédictive des soins de santé sur Oracle Cloud Infrastructure (OCI), fournissant ainsi aux contributeurs de données et aux consommateurs ses modèles de FL afin de tirer parti de milliards de pétaoctets de données anonymisées sur les soins de santé des patients en temps quasi réel.

Bien que les modèles d'apprentissage fédérés soient souvent difficiles à créer sans respecter des modèles de gouvernance rigoureux et une configuration de fédération globale, l'application SymetryML contourne ces contraintes car elle ne contient aucun modèle de gouvernance. À la place, l'application permet aux pairs de partager certaines connaissances sur leurs propres données avec les autres pairs, d'une manière conforme à la loi HIPAA, puis à chaque pair de créer le modèle qu'il souhaite ou d'accéder à diverses analyses à partir des connaissances partagées dans la fédération SymetryML. Cette capacité de modélisation de gouvernance dynamique protège contre les fuites de données d'apprentissage fédéré communes et élimine la nécessité pour chaque noeud pair de fédération d'avoir des jeux de données (IID) similaires, indépendants et distribués de manière identique. SymetryML permet la fédération entre plusieurs pairs, en utilisant différentes fonctions de distribution de probabilités et d'autres caractéristiques statistiques.

Les points saillants du déploiement SymetryML sur OCI sont les suivants :

  • Les instances d'apprentissage automatique peuvent être provisionnées pour des machines virtuelles et des instances sans système d'exploitation, qui s'exécutent toutes deux sur des processeurs graphiques NVIDIA
  • Les données des modèles d'apprentissage fédérés sont ingérées à l'aide d'Oracle Cloud Infrastructure Streaming et les connaissances partagées qui en résultent, la matrice des éléments de données, sont stockées dans les bases de données Redis et dans Oracle Cloud Infrastructure Object Storage
  • Des modèles d'analyse de données en temps réel peuvent s'exécuter sur Kafka, qui est déployé dans des conteneurs sur OCI

Architecture

L'application SymetryML contient deux systèmes : l'un pour l'interface d'application de logiciel-service (SaaS) et l'autre pour l'interface d'apprentissage automatique.

L'application SaaS est déployée sur une seule instance de machine virtuelle avec une instance de machine virtuelle de base de données Redis déployée dans un réseau en nuage virtuel (VCN). Une instance SaaS est affectée à chaque client qui utilise l'application SymetryML.

L'interface d'apprentissage automatique est déployée dans un deuxième VCN qui contient un sous-réseau pour la diffusion et l'analyse de données, un sous-réseau d'apprentissage automatique pour autoML, la modélisation prédictive et les mesures en temps réel, un sous-réseau de base de données pour le stockage de données de persistance à l'aide de Redis et un sous-réseau facultatif pour la fédération qui contient une grappe NATS.

Des instances d'application SaaS sont affectées aux consommateurs de données, auxquelles ils peuvent se connecter et configurer l'environnement en fonction de leurs besoins. Les consommateurs ont le choix entre des instances d'apprentissage automatique en fonction de leurs exigences d'analyse. Le client peut choisir entre des machines virtuelles ou des instances sans système d'exploitation, toutes deux avec des processeurs graphiques NVIDIA. Après avoir sélectionné le type d'instance, les instances sont provisionnées. À partir de l'instance SaaS, les utilisateurs peuvent exécuter des commandes pour arrêter, démarrer et redémarrer des instances, au besoin, et pour vérifier les données traitées.

Le diagramme suivant illustre l'architecture :



symetryml-oci-architecture-oracle.zip

Pour fournir des données aux fins d'apprentissage automatique, un contributeur de données peut utiliser l'application de bureau SymetryML pour pointer vers une variété de sources de données, telles que les bases de données, les données en continu et les magasins d'objets, qui contiennent des données brutes des patients.

Si un client a besoin de flux et d'analyses en temps réel, il peut profiter de Kafka. Si le consommateur de données veut tirer parti de la fédération, il peut choisir de déployer une grappe NATS ou d'utiliser une grappe NATS en dehors du VCN OCI. La grappe NATS est facultative; elle n'est pas déployée automatiquement dans le cadre de l'architecture SymetryML, mais elle est requise pour activer l'apprentissage fédéré SymetryML.

Voici les points à considérer pour la feuille de route de l'état futur de SymetryML :

  • Déployer un service Apache Spark à l'aide d'Oracle Cloud Infrastructure Data Flow

    Comme SymetryML utilise des applications Java entièrement conçues pour la maison s'exécutant en tant qu'applications Spark, Oracle suggère d'utiliser le service de flux de données, une plate-forme sans serveur en nuage qui traite les tâches sur des jeux de données extrêmement volumineux. Il permet aux développeurs Spark et aux spécialistes des données de créer, de modifier et d'exécuter des tâches Spark, quelle que soit l'échelle, sans grappe, équipe d'exploitation ni connaissances hautement spécialisées sur Spark. Comme il s'agit d'une infrastructure sans serveur, il n'y a pas d'infrastructure à déployer ou à gérer. Il est entièrement piloté par des API REST, ce qui facilite l'intégration aux applications ou aux flux de travail. Vous pouvez également contrôler le service de flux de données à l'aide de l'API REST. En utilisant des groupes de flux de données, vous pouvez prendre en charge les charges de travail de session en continu de divers utilisateurs en même temps dans le même locataire. Comme les commandes du service de service de flux de données sont disponibles dans l'interface de ligne de commande d'Oracle Cloud Infrastructure, les utilisateurs peuvent facilement :

    • Connexion à des sources de données Apache Spark
    • Créer des applications Apache Spark réutilisables
    • Lancer des tâches Apache Spark en quelques secondes
    • Créer des applications Apache Spark en SQL, Python, Java ou Scala ou le script spark-submit
    • Gérer toutes les applications Apache Spark à partir d'une seule plateforme
    • Traiter les données dans le nuage ou sur place dans votre centre de données
    • Créer des blocs de Big Data qu'il est possible d'assembler facilement dans des applications Big Data avancées
  • Remplacer Apache Kafka par le service de diffusion en continu Oracle

    Oracle Cloud Infrastructure Streaming permet aux utilisateurs d'Apache Kafka de décharger la configuration, la maintenance et la gestion de l'infrastructure qui hébergent votre propre grappe Zookeeper et Kafka requise. Comme Oracle Cloud Infrastructure Streaming est compatible avec la plupart des API Kafka, il vous permet d'utiliser des applications écrites pour Kafka pour envoyer et recevoir des messages du service de flux sans avoir à réécrire votre code. Oracle Cloud Infrastructure Streaming peut également utiliser l'écosystème Kafka Connect pour interfacer directement avec des sources externes telles que les bases de données, les magasins d'objets ou tout microservice dans Oracle Cloud. Les connecteurs Kafka peuvent créer facilement et automatiquement, publier sur et fournir des rubriques tout en tirant parti du haut débit et de la durabilité du service de flux. En outre, Oracle Cloud Infrastructure Streaming fournit une solution de messagerie entièrement gérée, évolutive et durable pour l'acquisition de flux de données en continu à volume élevé que vous pouvez consommer et traiter en temps réel. Oracle Cloud Infrastructure Streaming est sans serveur et décharge la gestion de l'infrastructure, allant du réseau au stockage, en passant par la configuration nécessaire pour diffuser vos données. Vous n'avez pas à vous soucier du provisionnement de l'infrastructure, de la maintenance continue ou de l'application de correctifs de sécurité. Le service de flux réplique les données de manière synchrone dans trois domaines de disponibilité, assurant ainsi une haute disponibilité et une grande durabilité des données. Dans les régions ayant un seul domaine de disponibilité, les données sont reproduites dans trois domaines d'erreur. Voici quelques utilisations possibles d'Oracle Cloud Infrastructure Streaming :

    • Messagerie : Les producteurs et les consommateurs peuvent utiliser Oracle Cloud Infrastructure Streaming comme bus de messages asynchrone et agir de manière indépendante et à leur propre rythme.
    • L'ingestion des mesures et journaux : Utilisez Oracle Cloud Infrastructure Streaming comme alternative aux approches traditionnelles de regroupement de fichiers pour rendre les données opérationnelles rapidement disponibles pour l'indexation, l'analyse et la visualisation.
    • Ingestion des données d'activité Web ou mobile : Utilisez Oracle Cloud Infrastructure Streaming pour saisir l'activité de sites Web ou d'applications mobiles, telles que les vues de page, les recherches ou d'autres actions d'utilisateur. Vous pouvez utiliser ces informations dans des systèmes d'entreposage de données ou de surveillance en temps réel pour un traitement hors ligne et la production de rapports.
    • Traitement des événements liés aux applications et à l'infrastructure : Utilisez Oracle Cloud Infrastructure Streaming comme point d'entrée unifié des composants en nuage afin de signaler les événements de cycle de vie pour les activités de vérification, de comptabilisation et connexes.
  • Déployer Autonomous Database

    Oracle Autonomous Database (disponible uniquement sur l'infrastructure Exadata) est un service PaaS entièrement géré offrant l'indexation automatique, le réglage, la sauvegarde, le provisionnement, l'application automatique de correctifs et les mises à niveau. Autonomous Database chiffre également la base de données, les sauvegardes et toutes les connexions réseau. En plus de fournir une chambre forte, un masquage des données et une mise à l'échelle immédiate sans temps d'arrêt, Autonomous Database propose deux options de récupération après sinistre : Active Data Guard peut être appliqué de manière synchrone dans la même région et Data Guard peut être configuré de manière asynchrone entre les régions, ce qui assure la protection en cas de sinistre dans l'ensemble de la région principale. Certaines des fonctions importantes sont :

    • L'élasticité du nuage pour réduire les coûts en offrant un ajustement automatique jusqu'à 3 fois (et une réduction)
    • Donner la priorité aux connexions à la base de données pour une utilisation efficace des ressources
    • Héberger une base de données de secours locale et distante à l'aide d'Oracle Data Guard
    • Basculement automatique sans perte de données vers la base de secours, entièrement transparent pour les applications de l'utilisateur final, et offre un CNS de 99,995 %

Le diagramme suivant illustre l'architecture future.



symetryml-oci-future-oracle.zip

L'architecture comprend les composants suivants :

  • Location

    Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lors de votre inscription à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et gérer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'une société ou d'une organisation. Habituellement, une société aura une seule location et reflétera sa structure organisationnelle au sein de cette location. Une seule location est généralement associée à un seul abonnement, et un seul abonnement n'a généralement qu'une seule location.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres, et de grandes distances peuvent les séparer (dans différents pays ou continents).

  • Domaine de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Par conséquent, une défaillance dans un domaine de disponibilité ne devrait pas avoir d'incidence sur les autres domaines de disponibilité de la région.

  • Réseau en nuage virtuel (VCN) et sous-réseau

    Un VCN est un réseau défini par logiciel personnalisable, configuré dans une région Oracle Cloud Infrastructure. À l'instar des réseaux de centre de données traditionnels, ces derniers vous permettent de contrôler votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • Table de routage

    Les tables de routage virtuelles contiennent des règles pour acheminer le trafic des sous-réseaux vers des destinations en dehors d'un VCN, généralement au moyen de passerelles.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés à entrer et à sortir du sous-réseau.

  • Passerelle Internet

    La passerelle Internet permet le trafic entre les sous-réseaux publics d'un VCN et l'Internet public.

  • Passerelle de service

    La passerelle de service fournit l'accès d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic entre le réseau VCN et le service Oracle circule sur la matrice réseau Oracle et ne passe pas par Internet.

  • Passerelle d'appairage local (LPG)

    Une passerelle LPG vous permet d'appairer un VCN à un autre dans la même région. L'appairage signifie que les réseaux en nuage virtuels communiquent à l'aide d'adresses IP privées, sans que le trafic passe par Internet ou passe par votre réseau sur place.

  • Calcul

    Le service Oracle Cloud Infrastructure Compute permet de provisionner et de gérer des hôtes pour les calculs dans le nuage. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources d'UC, de mémoire, de bande passante de réseau et de stockage. Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et détacher des volumes, et l'arrêter quand vous n'en avez plus besoin.

  • Sans système d'exploitation

    Les serveurs sans système d'exploitation d'Oracle assurent l'isolement, la visibilité et le contrôle à l'aide d'instances de calcul dédiées. Les serveurs prennent en charge des applications qui requièrent un grand nombre de cœurs, une grande quantité de mémoire et une bande passante élevée. Ils peuvent mettre à l'échelle jusqu'à 160 coeurs (le plus grand du secteur), 2 To de mémoire vive et jusqu'à 1 Po de stockage par blocs. Les clients peuvent créer des environnements en nuage sur les serveurs sans système d'exploitation d'Oracle et bénéficier d'améliorations de performance par rapport aux autres nuages publics et centres de données sur place.

  • Service de gestion des identités et des accès (GIA)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) est le plan de contrôle d'accès pour Oracle Cloud Infrastructure (OCI) et Oracle Cloud Applications. L'API IAM et l'interface utilisateur vous permettent de gérer les domaines d'identité et les ressources du domaine d'identité. Chaque domaine d'identité IAM OCI représente une solution autonome de gestion des identités et des accès ou une population d'utilisateurs différente.

Intégration et déploiement des fonctionnalités

Vous voulez montrer ce que vous avez créé sur Oracle Cloud Infrastructure? Vous souhaitez partager vos leçons apprises, vos meilleures pratiques et vos architectures de référence avec notre communauté mondiale d'architectes en nuage? Laissez-nous vous aider à démarrer.

  1. Télécharger le modèle (PPTX)

    Illustrez votre propre architecture de référence en faisant glisser et en déposant les icônes dans l'exemple d'image filaire.

  2. Visionner le didacticiel sur l'architecture

    Obtenez des instructions étape par étape sur la création d'une architecture de référence.

  3. Soumettre votre diagramme

    Nous envoyer un courriel avec votre diagramme. Nos architectes en nuage examineront votre diagramme et communiqueront avec vous pour discuter de votre architecture.

Remerciements

  • Authors: Robert Huie, Sasha Banks-Louie
  • Contributors: Brad Goodwin, Kyle Finnerty, Kyle Adams, Puneet Khana, Ganesh Pitchaiah, Robert Lies

    SymetryML Team: Dustin O'Dell, Neil Couture