Despliegue una plataforma de análisis predictivo y federado de la sanidad en Oracle Cloud

El aprendizaje federado pronto puede convertirse en el estándar de facto para analizar los datos de atención médica de los pacientes a gran escala. Debido a que el proceso de aprendizaje federado se produce localmente en cualquier hospital, clínica o farmacia participante, los algoritmos de entrenamiento se pueden crear sin exportar los datos del paciente fuera del firewall de cualquier sistema.

SymetryML, con sede en Nueva Jersey, utiliza algoritmos de aprendizaje federado para ejecutar su plataforma de análisis predictivo de atención médica en Oracle Cloud Infrastructure (OCI), proporcionando a los contribuyentes y consumidores de datos sus modelos FL para aprovechar miles de millones de petabytes de datos de atención médica de pacientes anónimos casi en tiempo real.

Aunque los modelos de aprendizaje federado a menudo son difíciles de crear sin adherirse a modelos de gobernanza estrictos y una configuración de federación global, la aplicación de SymetryML omite estas restricciones porque no contiene ningún modelo de gobernanza en absoluto. En su lugar, la aplicación permite a los compañeros compartir algunos conocimientos sobre sus propios datos con los otros compañeros, de una manera compatible con la HIPAA, y luego cada igual puede crear cualquier modelo que desee o acceder a varios análisis desde el conocimiento compartido en la federación SymetryML. Esta capacidad de modelado de gobernanza dinámica protege contra la pérdida de datos de aprendizaje federado común y elimina la necesidad de que cada nodo peer de federación tenga conjuntos de datos similares, independientes e idénticamente distribuidos (IID). SymetryML permite la federación entre varios peers, mediante diferentes funciones de distribución de probabilidad y otras características estadísticas.

Entre los aspectos más destacados del despliegue de SymetryML en OCI se incluyen:

  • Se pueden aprovisionar instancias de aprendizaje automático para máquinas virtuales y hardware dedicado, las cuales se ejecutan en GPU NVIDIA.
  • Los datos de los modelos de aprendizaje federados se ingieren mediante Oracle Cloud Infrastructure Streaming y el conocimiento compartido resultante, la matriz de elementos de datos (DEM), se almacena en bases de datos Redis y en Oracle Cloud Infrastructure Object Storage.
  • Los modelos de análisis de datos en tiempo real se pueden ejecutar en Kafka, que se despliega en contenedores en OCI

Arquitectura

La aplicación SymetryML contiene dos sistemas: uno para la interfaz de aplicación de software como servicio (SaaS) y el otro para la interfaz de aprendizaje automático.

La aplicación SaaS se despliega en una única instancia de máquina virtual con una instancia de máquina virtual de base de datos Redis desplegada en una red virtual en la nube (VCN). A cada cliente que utiliza la aplicación SymetryML se le asigna una instancia SaaS.

La interfaz de aprendizaje automático se despliega en una segunda VCN que contiene una subred para el flujo y el análisis de datos, una subred de aprendizaje automático para autoML, modelado predictivo y métricas en tiempo real, una subred de base de datos para el almacenamiento de datos de persistencia mediante Redis y una subred opcional para la federación que contiene un cluster de NATS.

A los consumidores de datos se les asignan instancias de aplicación SaaS a las que pueden conectarse y configurar el entorno según sus necesidades. Los consumidores pueden elegir entre varias instancias de aprendizaje automático en función de sus requisitos de análisis. El cliente puede elegir entre máquinas virtuales o instancias con hardware dedicado, ambas con GPU NVIDIA. Después de seleccionar el tipo de instancia, se aprovisionan las instancias. Desde la instancia SaaS, los usuarios pueden emitir comandos para parar, iniciar y reiniciar instancias según sea necesario y revisar los datos que se han procesado.

En el siguiente diagrama se ilustra la arquitectura:



symetryml-oci-architecture-oracle.zip (en inglés)

Para proporcionar datos para el aprendizaje automático, un contribuyente de datos puede utilizar la aplicación de escritorio SymetryML para apuntar a una variedad de orígenes de datos, como bases de datos, datos de flujo y almacenes de objetos que contienen datos sin procesar del paciente.

Si un cliente necesita transmisión en tiempo real y análisis, puede aprovechar Kafka. Si el consumidor de datos desea aprovechar la federación, puede desplegar un cluster NATS o utilizar un cluster NATS fuera de la VCN de OCI. El cluster NATS es opcional; no se despliega automáticamente como parte de la arquitectura SymetryML, pero es necesario para activar el aprendizaje federado SymetryML.

Las consideraciones para la hoja de ruta de estado futura de SymetryML incluyen:

  • Despliegue de un servicio Apache Spark mediante Oracle Cloud Infrastructure Data Flow

    Dado que SymetryML utiliza aplicaciones Java totalmente autónomas que se ejecutan como aplicaciones Spark, Oracle sugiere utilizar Data Flow, que es una plataforma sin servidor basada en la nube que procesa tareas en juegos de datos extremadamente grandes. Permite a los desarrolladores y a los científicos de datos de Spark crear, editar y ejecutar trabajos de Spark a escala sin necesidad de disponer de clusters, de un equipo de operaciones o de conocimientos de Spark altamente especializados. Debido a que no tiene servidor, no hay infraestructura que desplegar ni gestionar. Las API de REST lo controlan completamente, lo que facilita la integración con aplicaciones o flujos de trabajo. También puede controlar Data Flow mediante la API de REST. Mediante los pools de Data Flow, puede soportar cargas de trabajo de sesión de flujo de varios usuarios al mismo tiempo en el mismo inquilino. Dado que los comandos de Data Flow están disponibles como parte de la interfaz de línea de comandos de Oracle Cloud Infrastructure, los usuarios pueden:

    • Conexión a orígenes de datos de Apache Spark
    • Crear aplicaciones Apache Spark reutilizables
    • Inicio de los trabajos de Apache Spark en segundos
    • Crear aplicaciones Apache Spark mediante SQL, Python, Java, Scala o el script spark-submit
    • Gestionar todas las aplicaciones Apache Spark desde una sola plataforma
    • Procesar datos en la nube o en la ubicación local en su centro de datos
    • Crear bloques de creación de Big Data que pueda ensamblar fácilmente en aplicaciones de Big Data avanzadas
  • Sustitución de Apache Kafka por Oracle Streaming Service

    Oracle Cloud Infrastructure Streaming permite a los usuarios de Apache Kafka descargar la gestión de configuración, mantenimiento e infraestructura que requiere el alojamiento de su propio cluster de Zookeeper y Kafka. Dado que Oracle Cloud Infrastructure Streaming es compatible con la mayoría de las API de Kafka, permite utilizar aplicaciones escritas para Kafka para enviar y recibir mensajes del servicio de transmisión sin tener que reescribir el código. Oracle Cloud Infrastructure Streaming también puede utilizar el ecosistema de Kafka Connect para interactuar directamente con orígenes externos como bases de datos, almacenes de objetos o cualquier microservicio en Oracle Cloud. Los conectores de Kafka pueden crear, publicar y entregar temas de forma sencilla y automática, al tiempo que aprovechan el alto rendimiento y la durabilidad del servicio de transmisión. Además, Oracle Cloud Infrastructure Streaming proporciona una solución de mensajería duradera, escalable y totalmente gestionada para la ingesta de flujos de datos continuos y de elevado volumen que puede utilizar y procesar en tiempo real. Oracle Cloud Infrastructure Streaming no tiene servidor y descarga la gestión de la infraestructura, desde la red hasta el almacenamiento, así como la configuración necesaria para transmitir los datos. No tiene que preocuparse por el aprovisionamiento de la infraestructura, el mantenimiento continuo o la aplicación de parches de seguridad. El servicio de transmisión replica de forma síncrona los datos en tres dominios de disponibilidad, lo que proporciona alta disponibilidad y durabilidad de los datos. En regiones con un único dominio de disponibilidad, los datos se replican en tres dominios de errores. Entre los posibles usos de Oracle Cloud Infrastructure Streaming se incluyen:

    • Mensajería: los productores y los consumidores pueden utilizar Oracle Cloud Infrastructure Streaming como un bus de mensajes asincrónico y actuar de manera independiente y a su propio ritmo.
    • Ingestión de registros y métricas: utilice Oracle Cloud Infrastructure Streaming como alternativa a los enfoques de raspado de archivos tradicionales para poder acceder rápidamente a datos operativos fundamentales para la indexación, el análisis y la visualización.
    • Ingesta de datos de actividad móvil o web: utilice Oracle Cloud Infrastructure Streaming para recopilar actividad a partir de aplicaciones móviles o sitios web, como vistas de páginas, búsquedas y otras acciones del usuario. Puede utilizar esta información para la supervisión y el análisis en tiempo real, así como en sistemas de almacenamiento de datos para la generación de informes y el procesamiento sin conexión.
    • Procesamiento de eventos de aplicaciones e infraestructuras: utilice Oracle Cloud Infrastructure Streaming como punto de entrada unificado para componentes en la nube a fin de informar sobre sus eventos de ciclo de vida para auditorías, contabilidad y actividades relacionadas.
  • Despliegue de Autonomous Database

    Oracle Autonomous Database (solo disponible en la infraestructura de Exadata) es un servicio PaaS totalmente gestionado que ofrece indexación automática, ajuste, copia de seguridad, aprovisionamiento, aplicación automática de parches y actualizaciones. Autonomous Database también cifra la base de datos, las copias de seguridad y todas las conexiones de red. Además de proporcionar un almacén, enmascaramiento de datos y ampliación inmediata sin tiempo de inactividad, Autonomous Database incluye dos opciones de recuperación ante desastres: Active Data Guard se puede aplicar de forma síncrona en la misma región y Data Guard se puede configurar de forma asíncrona entre regiones, lo que proporciona protección en caso de desastre en toda la región principal. Algunas de las funciones importantes incluyen:

    • Elasticidad en la nube para reducir costos al proporcionar escalabilidad automática hasta 3 veces (y retroceso)
    • Priorice las conexiones de base de datos para una utilización eficiente de los recursos
    • Host local y remoto en espera mediante Oracle Data Guard
    • El failover automático sin pérdida de datos en espera es completamente transparente para las aplicaciones de usuario final y proporciona un SLA del 99,995%

El siguiente diagrama ilustra la arquitectura futura.



symetryml-oci-future-oracle.zip

La arquitectura tiene los siguientes componentes:

  • Tenancy

    Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud al registrarse en Oracle Cloud Infrastructure. Puede crear, organizar y administrar sus recursos en Oracle Cloud dentro de su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un único arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una única suscripción, y una única suscripción normalmente solo tiene un arrendamiento.

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes entre sí y pueden separarse a grandes distancias (entre países e incluso continentes).

  • Dominio de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, un fallo en un dominio de disponibilidad no debería afectar a los otros dominios de disponibilidad de la región.

  • Red virtual en la nube (VCN) y subredes

    Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan el control de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • Tabla de rutas

    Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de una VCN, normalmente a través de gateways.

  • Lista de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • Gateway de Internet

    El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.

  • Gateway de servicio

    El gateway de servicio proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico de VCN a Oracle viaja por el tejido de red de Oracle y no por Internet.

  • Gateway de intercambio de tráfico local (LPG)

    Un LPG permite utilizar un peer de VCN con otra VCN en la misma región. El intercambio de tráfico significa que las redes virtuales en la nube se comunican mediante direcciones IP privadas, sin que el tráfico atraviese Internet ni el enrutamiento a través de la red local.

  • Compute

    El servicio Oracle Cloud Infrastructure Compute permite aprovisionar y gestionar hosts informáticos en la nube. Puede iniciar instancias informáticas con unidades que cumplan los requisitos de recursos de CPU, memoria, ancho de banda de red y almacenamiento. Después de crear una instancia informática, puede acceder a ella de forma segura, reiniciarla, asociar y desconectar volúmenes y terminarla cuando ya no la necesite.

  • Hardware dedicado

    Los servidores con hardware dedicado de Oracle proporcionan aislamiento, visibilidad y control mediante el uso de instancias informáticas dedicadas. Los servidores admiten aplicaciones que requieren un gran número de núcleos, grandes cantidades de memoria y un gran ancho de banda. Pueden ampliar hasta 160 núcleos (el más grande del sector), 2 TB de RAM y hasta 1 PB de almacenamiento de bloques. Los clientes tienen la posibilidad de crear entornos en la nube en los servidores con hardware dedicado de Oracle, lo que mejora considerablemente el rendimiento con respecto a otras nubes públicas y centros de datos locales.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario permiten gestionar los dominios de identidad y los recursos del dominio de identidad. Cada dominio de identidad de OCI IAM representa una solución de gestión de identidad y acceso independiente o una población de usuarios diferente.

Destacarse en la creación y el despliegue

¿Desea mostrar lo que ha creado en Oracle Cloud Infrastructure? ¿Desea compartir sus lecciones aprendidas, mejores prácticas y arquitecturas de referencia con nuestra comunidad global de arquitecturas en la nube? Vamos a ayudar a empezar.

  1. Descargar la plantilla (PPTX)

    Ilustra tu propia arquitectura de referencia arrastrando y soltando los iconos en el marco de alambre de ejemplo.

  2. Ver el tutorial de arquitectura

    Obtenga instrucciones paso a paso sobre cómo crear una arquitectura de referencia.

  3. Envíe su diagrama

    Envíenos un correo electrónico con su diagrama. Nuestros arquitectos en la nube revisarán su diagrama y se pondrán en contacto con usted para analizar su arquitectura.

Confirmaciones

  • 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