Déployer une plate-forme d'analyse prédictive et fédérée pour les 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 de santé des patients. Comme le processus d'apprentissage fédéré se déroule localement dans n'importe quel hôpital, clinique ou pharmacie participant, les algorithmes de formation peuvent être paramétrés sans exporter les données patient en dehors du pare-feu d'un système.

SymetryML, basé 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 aux contributeurs et aux consommateurs de données ses modèles FL pour exploiter des milliards de pétaoctets de données anonymes 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 adhérer à des modèles de gouvernance stricts et à une configuration de fédération globale, l'application SymetryML contourne ces contraintes car elle ne contient aucun modèle de gouvernance. Au lieu de cela, l'application permet aux pairs de partager certaines connaissances sur leurs propres données avec les autres pairs, de manière conforme à la loi HIPAA, puis chaque pair peut créer le modèle de son choix ou accéder à diverses analyses à partir des connaissances partagées de la fédération SymetryML. Cette fonctionnalité de modélisation de gouvernance dynamique protège contre les fuites de données d'apprentissage fédérées courantes et élimine la nécessité pour chaque noeud homologue de fédération de disposer d'ensembles de données IID (Identitically Distributed) similaires, indépendants et distribués de manière identique. SymetryML permet la fédération entre plusieurs homologues, en utilisant différentes fonctions de distribution de probabilité et d'autres caractéristiques statistiques.

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

  • Les instances d'apprentissage automatique peuvent être provisionnées pour les machines virtuelles et le Bare Metal, tous deux exécutés sur des GPU NVIDIA
  • Les données des modèles d'apprentissage fédérés sont incluses à l'aide d'Oracle Cloud Infrastructure Streaming et les connaissances partagées obtenues, la matrice d'éléments de données (DEM), sont stockées dans les bases de données Redis et dans Oracle Cloud Infrastructure Object Storage.
  • Les modèles d'analyse de données en temps réel peuvent être exécutés 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 en tant que 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 cloud virtuel (VCN). Une instance SaaS est allouée à chaque client qui utilise l'application SymetryML.

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

Les consommateurs de données se voient allouer des instances d'application SaaS auxquelles ils peuvent se connecter et configurer l'environnement en fonction de leurs besoins. Les consommateurs ont le choix entre différentes instances d'apprentissage automatique en fonction de leurs besoins en matière d'analyse. Le client peut choisir entre des machines virtuelles ou des instances Bare Metal, à la fois avec des GPU NVIDIA. Une fois le type d'instance sélectionné, les instances sont provisionnées. A partir de l'instance SaaS, les utilisateurs peuvent exécuter des commandes permettant d'arrêter, de démarrer et de redémarrer des instances si nécessaire, ainsi que de vérifier les données traitées.

Le diagramme suivant illustre l'architecture :



symetryml-oci-architecture-oracle.zip

Afin de fournir des données pour le machine learning, un contributeur de données peut utiliser l'application de bureau SymetryML pour pointer vers diverses sources de données telles que des bases de données, des données de transmission en continu et des banques d'objets contenant des données brutes de patients.

Si un client a besoin d'analyses et de diffusion en continu en temps réel, il peut tirer parti de Kafka. Si le consommateur de données souhaite tirer parti de la fédération, il peut choisir de déployer un cluster NATS ou d'utiliser un cluster NATS en dehors du VCN OCI. Le cluster NATS est facultatif. Il n'est pas déployé automatiquement dans le cadre de l'architecture SymetryML, mais est requis pour activer l'apprentissage fédéré SymetryML.

Les éléments à prendre en compte pour la future feuille de route de SymetryML sont les suivants :

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

    Etant donné que SymetryML utilise des applications Java entièrement développées en interne exécutées en tant qu'applications Spark, Oracle suggère d'utiliser Data Flow, une plate-forme sans serveur basée sur le cloud qui traite les tâches sur des ensembles de données extrêmement volumineux. Il permet aux développeurs et aux analystes de données Spark de créer, de modifier et d'exécuter des travaux Spark à toute échelle, sans avoir besoin de clusters, d'une équipe des opérations ou de connaissances Spark hautement spécialisées. Comme il est sans serveur, il n'y a pas d'infrastructure à déployer ou à gérer. Il est entièrement basé sur les API REST, ce qui facilite l'intégration aux applications ou aux workflows. Vous pouvez également contrôler Data Flow à l'aide de l'API REST. En utilisant des pools Data Flow, vous pouvez prendre en charge les charges globales de session de transmission en continu de différents utilisateurs en même temps dans le même locataire. Les commandes Data Flow étant disponibles dans le cadre de l'interface de ligne de commande Oracle Cloud Infrastructure, les utilisateurs peuvent facilement :

    • vous connecter aux sources de données Apache Spark,
    • créer des applications Apache Spark réutilisables
    • Lancer les travaux Apache Spark en quelques secondes
    • Créer des applications Apache Spark à l'aide de SQL, Python, Java, Scala ou le script spark-submit
    • gérer toutes les applications Apache Spark à partir d'une seule plate-forme,
    • Traiter les données dans le cloud ou sur site dans votre centre de données
    • créer des blocs de création Big Data que vous pouvez facilement assembler en applications Big Data avancées
  • Remplacement d'Apache Kafka par le service Oracle Streaming

    Oracle Cloud Infrastructure Streaming permet aux utilisateurs d'Apache Kafka de se libérer de la configuration, de la maintenance et de la gestion de l'infrastructure requises par l'hébergement de votre propre cluster Zookeeper et Kafka. Oracle Cloud Infrastructure Streaming étant compatible avec la plupart des API Kafka, il vous permet d'utiliser des applications écrites pour Kafka afin d'envoyer et de recevoir des messages à partir du service de transmission en continu sans avoir à réécrire votre code. Oracle Cloud Infrastructure Streaming peut également utiliser l'écosystème Kafka Connect pour interagir directement avec des sources externes telles que des bases de données, des banques d'objets ou tout microservice dans Oracle Cloud. Les connecteurs Kafka peuvent créer, publier et distribuer facilement et automatiquement des rubriques tout en tirant parti du haut débit et de la durabilité du service de diffusion en continu. De plus, Oracle Cloud Infrastructure Streaming offre une solution de messagerie durable, évolutive et entièrement gérée permettant d'inclure des flux de données importants transmis en continu, que vous pouvez utiliser 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 Streaming réplique de manière synchrone les données des trois domaines de disponibilité, offrant ainsi une haute disponibilité et une durabilité des données. Dans les régions comportant un seul domaine de disponibilité, les données sont reproduites dans trois domaines de pannes. Voici quelques utilisations possibles d'Oracle Cloud Infrastructure Streaming :

    • Messagerie : les émetteurs et les destinataires peuvent utiliser Oracle Cloud Infrastructure Streaming comme un bus de messages asynchrones et agir de manière indépendante et à leur propre rythme.
    • Ingestion des mesures et des journaux : utilisez Oracle Cloud Infrastructure Streaming comme alternative aux approches traditionnelles d'inspection superficielle des fichiers afin que les données opérationnelles fondamentales soient rapidement disponibles pour l'indexation, l'analyse et la visualisation.
    • Ingestion de données d'activité Web ou mobiles : utilisez Oracle Cloud Infrastructure Streaming pour capturer l'activité des sites Web ou des applications mobiles, telles que les vues de page, les recherches ou d'autres actions utilisateur. Vous pouvez utiliser ces informations pour l'analyse et la surveillance en temps réel, et dans les systèmes d'entrepôt de données, pour la génération de rapports et le traitement hors ligne.
    • Traitement des événements d'application et d'infrastructure : utilisez Oracle Cloud Infrastructure Streaming comme point d'entrée unifié permettant aux composants cloud de rendre compte de leurs événements de cycle de vie en vue des activités d'audit, de comptabilité et d'autres activités associées.
  • Déployer Autonomous Database

    Oracle Autonomous Database (disponible uniquement sur l'infrastructure Exadata) est un service PaaS entièrement géré offrant l'indexation, le réglage, la sauvegarde, le provisionnement, l'application automatique de patches et les mises à niveau automatiques. Autonomous Database crypte également la base de données, les sauvegardes et toutes les connexions réseau. En plus de fournir un coffre, un masquage des données et un redimensionnement immédiat sans temps d'inactivité, 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 fournit une protection en cas de sinistre dans l'ensemble de la région principale. Certaines des caractéristiques importantes incluent :

    • Elasticité du cloud pour réduire les coûts en offrant un redimensionnement automatique jusqu'à 3 fois (et inversement)
    • Hiérarchiser les connexions de base de données pour une utilisation efficace des ressources
    • Hébergez la 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 données de secours, transparence totale pour les applications de l'utilisateur final et contrat de niveau de service de 99,995 %

Le schéma suivant illustre l'architecture future.



symetryml-oci-future-oracle.zip

L'architecture comporte les composants suivants :

  • Tenancy

    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 administrer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'une entreprise ou d'une organisation. Habituellement, une entreprise a une location unique et reflète sa structure organisationnelle au sein de cette location. Une location unique est généralement associée à un seul abonnement, et un seul abonnement n'a généralement qu'une location.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique précise 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 des pays voire des continents).

  • Domaine de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent le contrôle de l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud 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 via des passerelles.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité indiquant 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 autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.

  • Passerelle de service

    La passerelle de service fournit un accès à partir d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle transite par la structure réseau Oracle et ne traverse pas Internet.

  • Passerelle d'appairage local

    Une passerelle d'appairage local vous permet d'appairer un VCN avec un autre VCN dans la même région. L'appairage signifie que les réseaux cloud virtuels parlent à l'aide d'adresses IP privées, sans que le trafic ne passe par Internet ou ne soit acheminé via votre réseau on-premise.

  • Compute

    Le service Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul dans le cloud. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources en matière de CPU, de mémoire, de bande passante 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, associer et dissocier des volumes, et y mettre fin lorsque vous n'en avez plus besoin.

  • Bare Metal

    Les serveurs Bare Metal d'Oracle fournissent isolement, visibilité et contrôle à l'aide d'instances de calcul dédiées. Les serveurs prennent en charge les applications qui nécessitent un nombre de cœurs élevé, de grandes quantités de mémoire et une bande passante élevée. Ils peuvent évoluer jusqu'à 160 coeurs (le plus grand du secteur), 2 To de RAM et jusqu'à 1 Po de stockage de blocs. Les clients peuvent créer des environnements cloud sur les serveurs Bare Metal d'Oracle, avec des améliorations de performances significatives par rapport aux autres clouds publics et aux centres de données sur site.

  • Identity and Access Management (IAM)

    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 au sein du domaine d'identité. Chaque domaine d'identité OCI IAM représente une solution autonome de gestion des identités et des accès ou une population d'utilisateurs différente.

Présentez-vous dans Création et déploiement

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 cloud ? Laissez-vous guider.

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

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

  2. Regarder le tutoriel sur l'architecture

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

  3. Soumettre votre diagramme

    Envoyez-nous un courriel avec votre diagramme. Nos architectes cloud examineront votre diagramme et vous contacteront 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