Stellen Sie eine prädiktive, föderierte Analyseplattform für das Gesundheitswesen auf Oracle Cloud bereit

Föderiertes Lernen könnte bald zum De-facto-Standard für die massive Analyse von Patientengesundheitsdaten werden. Da der föderierte Lernprozess lokal in jedem teilnehmenden Krankenhaus, jeder Klinik oder Apotheke stattfindet, können die Trainingsalgorithmen erstellt werden, ohne Patientendaten außerhalb der Firewall eines Systems zu exportieren.

Die in New Jersey ansässige SymetryML verwendet föderierte Lernalgorithmen, um ihre Vorhersageanalyseplattform für das Gesundheitswesen auf Oracle Cloud Infrastructure (OCI) auszuführen und Datenbeitragenden und Verbrauchern ihre FL-Modelle zur Verfügung zu stellen, um Milliarden Petabyte an anonymisierten Patientengesundheitsdaten nahezu in Echtzeit zu nutzen.

Obwohl föderierte Lernmodelle oft schwierig zu erstellen sind, ohne strenge Governance-Modelle und eine globale Federation-Konfiguration einzuhalten, umgeht die App von SymetryML diese Constraints, da sie überhaupt kein Governance-Modell enthält. Stattdessen ermöglicht die App es Peers, einige Kenntnisse über ihre eigenen Daten mit den anderen Peers auf HIPAA-konforme Weise zu teilen. Anschließend kann jeder Peer jedes gewünschte Modell erstellen oder auf verschiedene Analysen aus dem gemeinsamen Wissen in der Föderation SymetryML zugreifen. Diese dynamische Governance-Modellierungsfunktion schützt vor gemeinsamen Datenlecks beim föderierten Lernen und macht es für jeden Peer-Knoten der Föderation nicht erforderlich, ähnliche, unabhängige und identisch verteilte (IID-)Datasets zu haben. SymetryML ermöglicht die Föderation zwischen mehreren Peers unter Verwendung verschiedener Wahrscheinlichkeitsverteilungsfunktionen und anderer statistischer Merkmale.

Zu den Highlights des SymetryML-Deployments auf OCI gehören:

  • Instanzen für maschinelles Lernen können für virtuelle Maschinen und Bare Metal bereitgestellt werden, die beide auf NVIDIA-GPUs ausgeführt werden
  • Daten für die föderierten Lernmodelle werden mit Oracle Cloud Infrastructure Streaming aufgenommen, und das daraus resultierende gemeinsame Wissen, die Datenelementmatrix (DEM), wird in Redis-Datenbanken und in Oracle Cloud Infrastructure Object Storage gespeichert
  • Echtzeit-Datenanalysemodelle können auf Kafka ausgeführt werden, das in Containern auf OCI bereitgestellt wird

Architektur

Die App SymetryML enthält zwei Systeme: eines für die Software-as-a-Service-(SaaS-)Anwendungsschnittstelle und das andere für die Machine-Learning-Schnittstelle.

Die Anwendung SaaS wird auf einer einzelnen VM-Instanz mit einer Virtual-Machine-Instanz der Redis-Datenbank bereitgestellt, die in einem virtuellen Cloud-Netzwerk (VCN) bereitgestellt ist. Jedem Kunden, der die App SymetryML verwendet, wird eine SaaS-Instanz zugewiesen.

Die Schnittstelle für maschinelles Lernen wird in einem zweiten VCN bereitgestellt, das ein Subnetz für Datenstreaming und -analysen, ein Subnetz für maschinelles Lernen für autoML, Vorhersagemodellierung und Echtzeitmetriken, ein Datenbanksubnetz für Persistenzdatenspeicher mit Redis und ein optionales Subnetz für Föderation enthält, das ein NATS-Cluster enthält.

Daten-Consumern werden SaaS-Anwendungsinstanzen zugewiesen, bei denen sie sich anmelden und die Umgebung entsprechend ihren Anforderungen konfigurieren können. Verbraucher haben eine Auswahl an Instanzen für maschinelles Lernen, aus denen sie je nach ihren Analyseanforderungen wählen können. Der Kunde kann zwischen virtuellen Maschinen oder Bare-Metal-Instanzen wählen, beide mit NVIDIA-GPUs. Nachdem Sie den Instanztyp ausgewählt haben, werden die Instanzen bereitgestellt. In der Instanz SaaS können Benutzer Befehle zum Stoppen, Starten und Neustarten von Instanzen ausführen und die verarbeiteten Daten prüfen.

Im folgenden Diagramm wird die Architektur dargestellt:



symetryml-oci-architecture-oracle.zip

Um Daten für maschinelles Lernen bereitzustellen, kann ein Datenbeitragender mit der Desktopanwendung SymetryML auf eine Vielzahl von Datenquellen verweisen, wie Datenbanken, Streamingdaten und Objektspeicher, die Patientenrohdaten enthalten.

Wenn ein Kunde Echtzeit-Streaming und -Analysen benötigt, kann er von Kafka profitieren. Wenn der Daten-Consumer die Föderation nutzen möchte, kann er ein NATS-Cluster bereitstellen oder ein NATS-Cluster außerhalb des OCI-VCN verwenden. Das NATS-Cluster ist optional. Es wird nicht automatisch als Teil der Architektur SymetryML bereitgestellt, ist jedoch erforderlich, um föderiertes Lernen in SymetryML zu aktivieren.

Zu den Überlegungen für die zukünftige staatliche Roadmap von SymetryML gehören:

  • Apache Spark-Service mit Oracle Cloud Infrastructure Data Flow bereitstellen

    Da SymetryML vollständig selbst entwickelte Java-Anwendungen verwendet, die als Spark-Anwendungen ausgeführt werden, empfiehlt Oracle die Verwendung von Data Flow, einer cloudbasierten serverlosen Plattform, die Aufgaben auf extrem großen Datasets verarbeitet. Sie ermöglicht es Spark-Entwicklern und Data Scientists, Spark-Jobs in beliebiger Größe zu erstellen, zu bearbeiten und auszuführen, ohne dass Cluster, Administrationsteams oder hochspezifische Spark-Kenntnisse erforderlich sind. Da es serverlos ist, muss keine Infrastruktur bereitgestellt oder verwaltet werden. Sie wird vollständig von REST-APIs gesteuert und lässt sich so einfach in Anwendungen oder Workflows integrieren. Sie können Data Flow auch mit der REST-API kontrollieren. Mit Data Flow-Pools können Sie Streaming-Session-Workloads von verschiedenen Benutzern gleichzeitig im selben Mandanten unterstützen. Da Data Flow-Befehle als Teil der Oracle Cloud Infrastructure-Befehlszeilenschnittstelle verfügbar sind, können Benutzer ganz einfach:

    • Verbindung zu Apache Spark-Datenquellen herstellen
    • Wieder verwendbare Apache Spark-Anwendungen erstellen.
    • Apache Spark-Jobs in Sekunden starten
    • Apache Spark-Anwendungen mit SQL, Python, Java, Scala oder dem Skript spark-submit erstellen
    • Alle Apache Spark-Anwendungen über eine einzige Plattform verwalten
    • Daten in der Cloud oder On Premise in Ihrem Data Center verwalten
    • Big Data-Bausteine erstellen, die Sie einfach mit erweiterten Big Data-Anwendungen assemblieren können
  • Apache Kafka durch Oracle Streaming Service ersetzen

    Mit Oracle Cloud Infrastructure Streaming können Benutzer von Apache Kafka das Setup, die Wartung und das Infrastrukturmanagement herunterladen, die für ihr eigenes Zookeeper- und Kafka-Cluster erforderlich sind. Da Oracle Cloud Infrastructure Streaming mit den meisten Kafka-APIs kompatibel ist, können Sie für Kafka geschriebene Anwendungen zum Senden und Empfangen von Nachrichten vom Streaming-Service verwenden, ohne Ihren Code ändern zu müssen. Oracle Cloud Infrastructure Streaming kann auch das Kafka Connect-System für die direkte Verbindung mit externen Quellen wie Datenbanken, Objektspeichern oder Microservices in Oracle Cloud verwenden. Kafka-Connectors können Topics einfach und automatisch erstellen und bereitstellen sowie Daten dort veröffentlichen. Sie nutzen dabei den hohen Durchsatz und die hohe Dauerhaftigkeit des Streaming-Service. Darüber hinaus bietet Oracle Cloud Infrastructure Streaming eine vollständig verwaltete, skalierbare und dauerhafte Messaging-Lösung für die Aufnahme kontinuierlicher hochvolumiger Datenströme, die Sie in Echtzeit verwenden und verarbeiten können. Oracle Cloud Infrastructure Streaming ist serverlos und verlagert das Infrastrukturmanagement von Networking über Storage bis hin zur Konfiguration, die zum Streamen Ihrer Daten erforderlich ist. Sie müssen sich nicht um das Provisioning der Infrastruktur, die laufende Wartung oder das Sicherheitspatching kümmern. Der Streaming-Service repliziert Daten synchron über drei Availability-Domains hinweg und bietet High Availability und Datendauerhaftigkeit. In Regionen mit einer einzelnen Availability-Domain werden die Daten über drei Fehlerdomänen hinweg repliziert. Zu den möglichen Verwendungsmöglichkeiten für Oracle Cloud Infrastructure Streaming gehören:

    • Messaging: Producers und Consumer können Oracle Cloud Infrastructure Streaming als asynchronen Nachrichtenbus verwenden und unabhängig und in ihrem eigenen Tempo handeln.
    • Metrik- und Logaufzeichnung: Verwenden Sie Oracle Cloud Infrastructure Streaming als Alternative zu traditionellen Datei-Scraping- Ansätzen, um kritische Betriebsdaten schnell für Indexierung, Analyse und Visualisierung verfügbar zu machen.
    • Aufnahme von Web- oder Mobilaktivitätsdaten: Erfassen Sie mit Oracle Cloud Infrastructure Streaming Aktivitäten von Websites oder Apps, wie Pageviews, Suchen oder andere Benutzeraktionen. Sie können diese Informationen für Echtzeit-Überwachung und -Analyse sowie in Data-Storage-Systemen für Offline-Verarbeitung und -Reporting nutzen.
    • Infrastruktur- und Apps-Ereignisverarbeitung: Verwenden Sie Oracle Cloud Infrastructure Streaming als zentralen Einstiegspunkt für Cloud-Komponenten zur Erfassung von Lebenszyklusereignissen für Audit, Buchhaltung und damit zusammenhängende Aktivitäten.
  • Autonomous Database bereitstellen

    Oracle Autonomous Database (nur auf Exadata-Infrastruktur verfügbar) ist ein vollständig verwalteter PaaS-Service, der automatische Indizierung, Optimierung, Backup, Provisioning, automatisches Patching und Upgrades bietet. Autonomous Database verschlüsselt auch die Datenbank, Backups und alle Netzwerkverbindungen. Neben einem Vault, einer Datenmaskierung und einer sofortigen Skalierung ohne Ausfallzeit bietet Autonomous Database zwei Disaster Recovery-Optionen: Active Data Guard kann synchron in derselben Region angewendet werden, und Data Guard kann regionsübergreifend asynchron konfiguriert werden. So erhalten Sie Schutz bei einem Ausfall in der gesamten primären Region. Zu den wichtigen Funktionen gehören:

    • Cloud-Elastizität zur Kostensenkung durch automatische Skalierung bis zu 3-mal (und zurück)
    • Priorisieren von Datenbankverbindungen für eine effiziente Ressourcenauslastung
    • Lokale und Remotestandbydatenbank mit Oracle Data Guard hosten
    • Automatisches Failover ohne Datenverlust in den Standby-Modus, vollständig transparent für Endbenutzeranwendungen und bietet 99,995% SLA

Das folgende Diagramm veranschaulicht die zukünftige Architektur.



symetryml-oci-future-oracle.zip

Die Architektur umfasst die folgenden Komponenten:

  • Tenancy

    Ein Mandant ist eine sichere und isolierte Partition, die Oracle bei der Registrierung für Oracle Cloud Infrastructure in Oracle Cloud einrichtet. Sie können Ihre Ressourcen in Oracle Cloud in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant ist gleichbedeutend mit einem Unternehmen oder einer Organisation. Normalerweise verfügt ein Unternehmen über einen einzelnen Mandanten und spiegelt seine Organisationsstruktur in diesem Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Availability-Domain

    Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz sicherstellt. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Ein Fehler in einer Availability-Domain darf sich also nicht auf die anderen Availability-Domains in der Region auswirken.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, benutzerdefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie traditionelle Data Center-Netzwerke erhalten Sie mit VCNs Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Routentabelle

    Virtuelle Routentabellen enthalten Regeln zum Weiterleiten von Traffic von Subnetzen zu Zielen außerhalb eines VCN, in der Regel über Gateways.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der in und aus dem Subnetz zulässig sein muss.

  • Internetgateway

    Das Internetgateway ermöglicht Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.

  • Servicegateway

    Das Servicegateway ermöglicht den Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Traffic vom VCN zum Oracle-Service durchläuft die Oracle-Netzwerkstruktur und nicht das Internet.

  • Lokales Peering-Gateway (LPG)

    Mit einem LPG können Sie ein VCN per Peering mit einem anderen VCN in derselben Region verbinden. Peering bedeutet, dass die VCNs über private IP-Adressen kommunizieren, ohne dass der Traffic über das Internet oder das On-Premise-Netzwerk geleitet wird.

  • Compute

    Mit dem Oracle Cloud Infrastructure Compute-Service können Sie Compute-Hosts in der Cloud bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihren Ressourcenanforderungen für CPU, Arbeitsspeicher, Netzwerkbandbreite und Speicher entsprechen. Nachdem Sie eine Compute-Instanz erstellt haben, können Sie sicher auf sie zugreifen, sie neu starten, Volumes hinzufügen und trennen und sie beenden, wenn Sie sie nicht mehr benötigen.

  • Bare Metal

    Die Bare Metal-Server von Oracle bieten Isolation, Visibilität und Kontrolle über dedizierte Compute-Instanzen. Die Server unterstützen Anwendungen, die eine hohe Kernanzahl, große Mengen an Speicher und eine hohe Bandbreite erfordern. Sie können bis zu 160 Kerne (die größten in der Branche), 2 TB RAM und bis zu 1 PB Blockspeicher skalieren. Kunden können Cloud-Umgebungen auf den Bare-Metal-Servern von Oracle mit erheblichen Performanceverbesserungen gegenüber anderen Public Clouds und On-Premise-Data Centern erstellen.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) ist die Zugriffskontrollebene für Oracle Cloud Infrastructure (OCI) und Oracle Cloud Applications. Mit der IAM-API und der Benutzeroberfläche können Sie Identitätsdomains und die Ressourcen innerhalb der Identitätsdomain verwalten. Jede OCI IAM-Identitätsdomain stellt eine eigenständige Identity and Access Management-Lösung oder eine andere Benutzerpopulation dar.

Entwickeln und bereitstellen

Möchten Sie zeigen, was Sie auf Oracle Cloud Infrastructure entwickelt haben? Möchten Sie Ihre gewonnenen Erkenntnisse, Best Practices und Referenzarchitekturen mit unserer globalen Community von Cloud-Architekten teilen? Anleitung zum Einstieg.

  1. Vorlage herunterladen (PPTX)

    Veranschaulichen Sie Ihre eigene Referenzarchitektur, indem Sie die Symbole per Drag-and-Drop in den Beispieldrahtrahmen ziehen.

  2. Architekturtutorial ansehen

    Schritt-für-Schritt-Anweisungen zum Erstellen einer Referenzarchitektur.

  3. Senden Sie Ihr Diagramm

    Senden Sie uns eine E-Mail mit Ihrem Diagramm. Unsere Cloud-Architekten prüfen Ihr Diagramm und setzen sich mit Ihnen in Verbindung, um Ihre Architektur zu besprechen.

Bestätigungen

  • 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