Implemente uma Plataforma de Análise Avançada de Assistência Médica Federada Preditiva na Oracle Cloud

O aprendizado federado pode em breve se tornar o padrão de fato para analisar dados de saúde de pacientes em grande escala. Como o processo de aprendizado federado ocorre localmente em qualquer hospital, clínica ou farmácia participante, os algoritmos de treinamento podem ser criados sem exportar dados do paciente fora do firewall de qualquer sistema.

O SymetryML, com sede em Nova Jersey, usa algoritmos de aprendizado federado para executar sua plataforma de análise preditiva de assistência médica na Oracle Cloud Infrastructure (OCI), fornecendo aos colaboradores de dados e consumidores seus modelos FL para aproveitar bilhões de petabytes de dados de assistência médica anônimos quase em tempo real.

Embora os modelos de aprendizado federado geralmente sejam difíceis de criar sem aderir a modelos de governança rigorosos e a uma configuração de federação global, o aplicativo SymetryML ignora essas restrições porque não contém nenhum modelo de governança. Em vez disso, o aplicativo permite que os colegas compartilhem alguns conhecimentos sobre seus próprios dados com os outros colegas, de maneira compatível com HIPAA, e então cada colega pode criar qualquer modelo que quiser ou acessar várias análises do conhecimento compartilhado na federação SymetryML. Esse recurso de modelagem de governança dinâmica protege contra vazamento de dados de aprendizado federado comum e elimina a necessidade de cada nó de pareamento de federação ter conjuntos de dados semelhantes, independentes e distribuídos de forma idêntica (IID). SymetryML permite a federação entre vários pares, usando diferentes funções de distribuição de probabilidade e outras características estatísticas.

Os destaques da implantação do SymetryML no OCI incluem:

  • As instâncias de machine learning podem ser provisionadas para máquinas virtuais e bare metal, ambas executadas em GPUs NVIDIA
  • Os dados para os modelos de aprendizado federado são ingeridos usando o Oracle Cloud Infrastructure Streaming e o conhecimento compartilhado resultante, a matriz de elementos de dados (DEM), é armazenada nos bancos de dados Redis e no Oracle Cloud Infrastructure Object Storage
  • Modelos de análise de dados em tempo real podem ser executados no Kafka, que é implantado em contêineres na OCI

Arquitetura

O aplicativo SymetryML contém dois sistemas: um para a interface do aplicativo software como serviço (SaaS) e o outro para a interface de machine learning.

O aplicativo SaaS é implantado em uma única instância de máquina virtual com uma instância de máquina virtual do banco de dados Redis implantada em uma rede virtual na nuvem (VCN). Cada cliente que usa o aplicativo SymetryML recebe uma instância SaaS.

A interface de machine learning é implantada em uma segunda VCN que contém uma sub-rede para streaming e análise de dados, uma sub-rede de machine learning para autoML, modelagem preditiva e métricas em tempo real, uma sub-rede de banco de dados para armazenamento de dados de persistência usando Redis e uma sub-rede opcional para federação que contém um cluster NATS.

Os consumidores de dados recebem instâncias do aplicativo SaaS nas quais podem fazer log-on e configurar o ambiente de acordo com suas necessidades. Os consumidores têm a opção de escolher instâncias de machine learning com base em seus requisitos de análise. O cliente pode escolher entre máquinas virtuais ou instâncias bare metal, ambas com GPUs NVIDIA. Depois de escolher o tipo de instância, as instâncias são provisionadas. Na instância SaaS, os usuários podem emitir comandos para interromper, iniciar e reiniciar instâncias, conforme necessário, e revisar os dados que foram processados.

O diagrama a seguir mostra a arquitetura:



symetryml-oci-architecture-oracle.zip

Para fornecer dados para machine learning, um colaborador de dados pode usar o Aplicativo de Desktop SymetryML para apontar para uma variedade de origens de dados, como bancos de dados, dados de streaming e armazenamentos de objetos que contêm dados brutos do paciente.

Se um cliente precisar de streaming e análise em tempo real, ele poderá aproveitar o Kafka. Se o consumidor de dados quiser aproveitar a federação, ele poderá optar por implantar um cluster NATS ou usar um cluster NATS fora da VCN do OCI. O cluster NATS é opcional; ele não é implantado automaticamente como parte da arquitetura SymetryML, mas é necessário para ativar o aprendizado federado SymetryML.

Considerações para o futuro roteiro de estado do SymetryML incluem:

  • Implantar um Serviço Apache Spark, usando o Oracle Cloud Infrastructure Data Flow

    Como o SymetryML usa aplicativos Java totalmente desenvolvidos internamente em execução como aplicativos Spark, a Oracle sugere o uso do serviço Data Flow, que é uma plataforma sem servidor baseada em nuvem que processa tarefas em conjuntos de dados extremamente grandes. Ele permite que desenvolvedores do Spark e cientistas de dados possam criar, editar e executar jobs do Spark em qualquer escala, sem a necessidade de clusters, uma equipe de operações ou conhecimento altamente especializado do Spark. Por ser sem servidor, não há infraestrutura para implantar ou gerenciar. Ele é totalmente orientado pelas APIs REST, facilitando a integração com aplicativos ou workflows. Você também pode controlar o serviço Data Flow usando a API REST. Usando Pools do serviço Data Flow, você pode suportar cargas de trabalho de sessão de streaming de vários usuários ao mesmo tempo no mesmo tenant. Como os comandos do serviço Data Flow estão disponíveis como parte da interface de linha de comando do Oracle Cloud Infrastructure, os usuários podem facilmente:

    • Estabelecer conexão com as origens de dados do Apache Spark
    • Criar aplicativos Apache Spark reutilizáveis
    • Iniciar jobs do Apache Spark em segundos
    • Criar aplicativos Apache Spark usando SQL, Python, Java, Scala ou o script spark-submit
    • Gerenciar todos os aplicativos Apache Spark em uma única plataforma
    • Processar dados na Nuvem ou locais em seu data center
    • Crie blocos de construção de Big Data que você pode montar facilmente em aplicativos de Big Data avançados
  • Substitua o Apache Kafka pelo Oracle Streaming Service

    O Oracle Cloud Infrastructure Streaming permite que os usuários do Apache Kafka descarreguem o gerenciamento de configuração, manutenção e infraestrutura requeridos para hospedar seu próprio cluster Zookeeper e Kafka. Como o Oracle Cloud Infrastructure Streaming é compatível com a maioria das APIs Kafka, ele permite que você use aplicativos criados para Kafka para enviar e receber mensagens do serviço de streaming sem precisar reescrever seu código. O Oracle Cloud Infrastructure Streaming também pode usar o ecossistema Kafka Connect para estabelecer interface diretamente com origens externas como bancos de dados, armazenamentos de objetos ou qualquer microsserviço no Oracle Cloud. Os conectores Kafka podem criar, publicar e entregar tópicos de forma fácil e automática, aproveitando ao mesmo tempo o alto rendimento e a durabilidade do serviço de streaming. Além disso, o Oracle Cloud Infrastructure Streaming fornece uma solução de mensagens totalmente gerenciada, escalável e durável para a ingestão de streams contínuos de alto volume de dados que você pode consumir e processar em tempo real. O Oracle Cloud Infrastructure Streaming é sem servidor e descarrega o gerenciamento de infraestrutura, desde rede até armazenamento e a configuração necessária para transmitir seus dados. Você não precisa se preocupar com o provisionamento de infraestrutura, manutenção contínua ou aplicação de patches de segurança. O serviço de streaming replica de forma síncrona os dados em três domínios de disponibilidade, fornecendo alta disponibilidade e durabilidade dos dados. Em regiões com um único domínio de disponibilidade, os dados são replicados em três domínios de falha. Alguns usos possíveis do Oracle Cloud Infrastructure Streaming incluem:

    • Mensagens: Os produtores e consumidores podem usar o Oracle Cloud Infrastructure Streaming como um barramento de mensagens assíncrono e agir de forma independente e no seu próprio ritmo.
    • Métrica e ingestão de log: Use o Oracle Cloud Infrastructure Streaming como uma alternativa às abordagens tradicionais de extração de arquivos para ajudar a disponibilizar dados operacionais críticos rapidamente para indexação, análise e visualização.
    • Consumo de dados de atividade na Web ou móvel: Use o Oracle Cloud Infrastructure Streaming para capturar atividade de sites ou aplicativos móveis, como views de páginas, pesquisas ou outras ações do usuário. Você pode usar essas informações para monitoramento e análise em tempo real e em sistemas de dados para processamento e geração de relatórios off-line.
    • Infraestrutura e processamento de eventos de aplicativos: Use o Oracle Cloud Infrastructure Streaming como um ponto de entrada unificado para que os componentes de nuvem reportem seus eventos de ciclo de vida com fins de auditoria, contabilidade e atividades relacionadas.
  • Implantar o Autonomous Database

    O Oracle Autonomous Database (disponível apenas na infraestrutura do Exadata) é um serviço PaaS totalmente gerenciado que oferece indexação, ajuste, backup, provisionamento, aplicação automática de patches e upgrades automáticos. O Autonomous Database também criptografa o banco de dados, os backups e todas as conexões de rede. Além de fornecer um vault, mascaramento de dados e dimensionamento imediato sem tempo de inatividade, o Autonomous Database vem com duas opções de recuperação de desastre: o Active Data Guard pode ser aplicado de forma síncrona na mesma região e o Data Guard pode ser configurado de forma assíncrona entre regiões, o que fornece proteção em caso de desastre em toda a região principal. Alguns dos recursos importantes incluem:

    • Elasticidade na nuvem para reduzir custos, fornecendo dimensionamento automático até 3 vezes (e reduzindo)
    • Priorize conexões de banco de dados para utilização eficiente de recursos
    • Host stand-by local e remoto usando o Oracle Data Guard
    • O failover automático com perda de dados zero para stand-by é completamente transparente para aplicativos do usuário final e fornece SLA de 99,995%

O diagrama a seguir ilustra a arquitetura futura.



symetryml-oci-future-oracle.zip

A arquitetura tem os seguintes componentes:

  • Tenancy

    Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você acessa o Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud em sua tenancy. Uma tenancy é sinônimo de uma empresa ou organização. Geralmente, uma empresa terá uma única tenancy e refletirá sua estrutura organizacional dentro dessa tenancy. Uma única tenancy geralmente está associada a uma única assinatura, e uma única assinatura geralmente só tem uma tenancy.

  • Região

    Região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regioes sao independentes de outras regioes, e grandes distancias podem separá-las (entre paises ou ate continentes).

  • Domínio de disponibilidade

    Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, uma falha em um domínio de disponibilidade não deve afetar os outros domínios de disponibilidade na região.

  • Rede virtual na nuvem (VCN) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Tabela de roteamento

    As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.

  • Lista de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

  • Gateway de internet

    O gateway de internet permite tráfego entre as sub-redes públicas em uma VCN e a internet pública.

  • Gateway de serviço

    O gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle percorre a malha da rede Oracle e não passa pela internet.

  • LPG (Local Peering Gateway)

    Um LPG permite que você pareie uma VCN com outra VCN na mesma região. Pareamento significa que as VCNs se comunicam usando endereços IP privados, ou seja, sem o tráfego que passa pela internet ou que é roteado pela sua rede local.

  • Computação

    O serviço Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda de rede e armazenamento. Depois de criar uma instância de computação, você pode acessá-la com segurança, reinicializá-la, anexar e desconectar volumes e encerrá-la quando não precisar mais dela.

  • Bare metal

    Os servidores bare metal da Oracle fornecem isolamento, visibilidade e controle usando instâncias de computação dedicadas. Os servidores suportam aplicativos que requerem uma contagem alta de núcleos, grandes volumes de memória e largura de banda. Eles podem dimensionar até 160 núcleos (o maior do setor), 2 TB de RAM e até 1 PB de armazenamento em blocos. Os clientes podem criar ambientes de nuvem nos servidores bare metal da Oracle com melhorias significativas no desempenho em relação a nuvens públicas e data centers locais.

  • Serviço IAM (Identity and Access Management)

    O Oracle Cloud Infrastructure Identity and Access Management (IAM) é o plano de controle de acesso para o Oracle Cloud Infrastructure (OCI) e o Oracle Cloud Applications. A API do serviço IAM e a interface do usuário permitem que você gerencie domínios de identidade e os recursos dentro do domínio de identidades. Cada domínio de identidades do OCI IAM representa uma solução independente de gerenciamento de identidade e acesso ou uma população de usuários diferente.

Seja Destaque na Criação e Implantação

Deseja mostrar o que você criou no Oracle Cloud Infrastructure? Quer compartilhar suas lições aprendidas, melhores práticas e arquiteturas de referência com nossa comunidade global de arquitetos de nuvem? Vamos ajudá-lo a começar.

  1. Baixe o modelo (PPTX)

    Ilustre sua própria arquitetura de referência arrastando e soltando os ícones no wireframe de amostra.

  2. Assista ao tutorial de arquitetura

    Obtenha instruções passo a passo sobre como criar uma arquitetura de referência.

  3. Envie seu diagrama

    Envie um e-mail com seu diagrama. Nossos arquitetos de nuvem revisarão seu diagrama e entrarão em contato com você para discutir sua arquitetura.

Confirmação

  • 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