Oracle Cloud 上部署预测性联合医疗保健分析平台

联合学习可能很快成为大规模分析患者医疗保健数据的事实标准。由于联合学习过程发生在任何参与医院、诊所或药房的本地,因此无需将患者数据导出到任何系统的防火墙之外即可构建训练算法。

新的基于 Jersey 的 SymetryML 使用联合学习算法在 Oracle Cloud Infrastructure (OCI) 上运行其预测性医疗保健分析平台,为数据贡献者和消费者提供 FL 模型,以近乎实时地利用数十亿 PB 的匿名患者医疗保健数据。

虽然联合学习模型通常很难在不遵循严格的治理模型和全局联合配置的情况下创建,但 SymetryML 的应用程序会绕过这些约束,因为它根本不包含任何治理模型。相反,该应用允许对等节点以符合 HIPAA 的方式与其他对等节点共享一些关于自身数据的知识,然后每个对等节点可以构建他们想要的任何模型,或者从 SymetryML 联盟中的共享知识访问各种分析。这种动态治理建模功能可防止常见的联合学习数据泄露,并消除每个联盟对等节点具有相似、独立和相同分布式 (IID) 数据集的需要。SymetryML 允许多个对等点之间的联合,使用不同的概率分布函数和其他统计特征。

OCI 上 SymetryML 部署的亮点包括:

  • 可以为在 NVIDIA GPU 上运行的虚拟机和裸金属预配机器学习实例
  • 使用 Oracle Cloud Infrastructure Streaming 摄取联合学习模型的数据,生成共享知识(数据元素矩阵 (DEM) 存储在 Redis 数据库和 Oracle Cloud Infrastructure Object Storage
  • 实时数据分析模型可以在部署在 OCI 容器中的 Kafka 上运行

体系结构

SymetryML 应用程序包含两个系统:一个用于软件即服务 (SaaS) 应用程序接口,另一个用于机器学习接口。

SaaS 应用程序部署在单个虚拟机实例上,在虚拟云网络 (VCN) 中部署了 Redis 数据库虚拟机实例。使用 SymetryML 应用程序的每个客户都分配有一个 SaaS 实例。

机器学习接口部署在另一个 VCN 中,该 VCN 包含用于数据流和分析的子网、用于 autoML 的机器学习子网、预测建模和实时度量、用于使用 Redis 进行持久性数据存储的数据库子网以及用于包含 NATS 集群的联盟的可选子网。

将为数据使用者分配 SaaS 应用程序实例,他们可以登录这些实例并根据他们的需求配置环境。消费者可以选择基于分析需求的机器学习实例。客户可以选择虚拟机或裸金属实例,它们都具有 NVIDIA GPU。选择实例类型后,将预配实例。在 SaaS 实例中,用户可以根据需要发出命令来停止、启动和重新启动实例,以及查看已处理的数据。

下图展示了体系结构:



symetryml-oci-architecture-oracle.zip

为了提供机器学习数据,数据提供者可以使用 SymetryML 桌面应用程序指向各种数据源,例如包含患者原始数据的数据库、流数据和对象存储。

如果客户需要实时流处理和分析,他们可以利用 Kafka。如果数据使用者希望利用联盟,可以选择在 OCI VCN 外部部署 NATS 集群或使用 NATS 集群。NATS 集群是可选的;它不会作为 SymetryML 体系结构的一部分自动部署,但对于启用 SymetryML 联合学习是必需的。

SymetryML 的未来状态路线图的注意事项包括:

  • 使用 Oracle Cloud Infrastructure Data Flow 部署 Apache Spark 服务

    由于 SymetryML 使用作为 Spark 应用程序运行的完全自主开发的 Java 应用程序,因此 Oracle 建议使用数据流,它是一个基于云的无服务器平台,用于处理超大型数据集上的任务。它允许 Spark 开发人员和数据科学家创建,编辑和运行任何规模的 Spark 作业,而无需集群,运营团队或高度专业的 Spark 知识。由于它是无服务器的,因此没有可部署或管理的基础结构。它完全由 REST API 驱动,因此可以轻松地与应用或工作流集成。您还可以使用 REST API 控制数据流。通过使用数据流池,可以在同一租户中同时支持来自不同用户的流处理会话工作量。由于数据流命令在 Oracle Cloud Infrastructure 命令行界面中可用,因此用户可以轻松:

    • 连接到 Apache Spark 数据源
    • 创建可重用的 Apache Spark 应用程序
    • 在几秒内启动 Apache Spark 作业
    • 使用 SQL、Python、Java、Scala 或 spark-submit 脚本创建 Apache Spark 应用程序
    • 通过单一平台管理所有 Apache Spark 应用
    • 在云端或本地数据中心处理数据
    • 创建大数据构建块,您可以轻松地将其组合到高级大数据应用中
  • 将 Apache Kafka 替换为 Oracle 流处理服务

    Oracle Cloud Infrastructure Streaming 支持 Apache Kafka 用户分流托管您自己的 Zookeeper 和 Kafka 集群所需的设置、维护和基础设施管理。由于 Oracle Cloud Infrastructure Streaming 与大多数 Kafka API 兼容,因此您可以使用为 Kafka 编写的应用程序从流处理服务发送和接收消息,而无需重新编写代码。Oracle Cloud Infrastructure Streaming 还可以使用 Kafka Connect 生态系统直接与外部源(例如 Oracle Cloud 中的数据库、对象存储或任何微服务)交互。Kafka 连接器可以轻松、自动地创建、发布和交付主题,同时利用流处理服务的高吞吐量和持久性。此外,Oracle Cloud Infrastructure Streaming 还提供完全托管、可扩展且持久的消息传递解决方案,可摄取连续的大量数据流,以便您实时使用和处理这些数据流。Oracle Cloud Infrastructure Streaming 无服务器,可分流基础设施管理,包括网络、存储以及数据流处理所需的配置。您不必担心基础设施的预配、持续维护或安全修补。流处理服务在三个可用性域之间同步复制数据,从而提供高可用性和数据持久性。在具有单个可用性域的区域中,数据会在三个容错域之间复制。Oracle Cloud Infrastructure Streaming 的一些可能用途包括:

    • 消息传递:生成者和使用者可以使用 Oracle Cloud Infrastructure Streaming 作为异步消息总线,并按照自己的节奏独立行动。
    • 度量和日志摄取:使用 Oracle Cloud Infrastructure Streaming 作为传统文件搜集方法的替代方案,可帮助快速将关键运营数据用于索引编制、分析和可视化。
    • Web 或移动活动数据采集:使用 Oracle Cloud Infrastructure Streaming 捕获来自网站或移动应用(例如页面查看、搜索或其他用户操作)的活动。您可以将这些信息用于实时监视和分析,并在数据仓库系统中用于脱机处理和报告。
    • 基础结构和应用程序事件处理:使用 Oracle Cloud Infrastructure Streaming 作为云组件的统一入口点,用于报告组件的生命周期事件,以便进行审计、会计和相关活动。
  • 部署 Autonomous Database

    Oracle Autonomous Database (仅适用于 Exadata 基础设施)是一项完全托管的 PaaS 服务,提供自动索引、调优、备份、预配、自动打补丁和升级。Autonomous Database 还会加密数据库、备份和所有网络连接。Autonomous Database 除了提供 Vault、数据屏蔽和即时扩展(无需停机),还提供两种灾难恢复选项:可以在同一区域中同步应用活动数据卫士,并且可以在不同区域之间异步配置数据卫士,以便在整个主区域发生灾难时提供保护。部分重要功能包括:

    • 通过提供高达 3 倍(和倒退)的自动缩放,实现云弹性,可降低成本
    • 确定数据库连接的优先级,以实现高效的资源利用率
    • 使用 Oracle Data Guard 主机本地和远程备用
    • 自动故障转移,零数据丢失到备用,对最终用户应用程序完全透明,并提供 99.995% 的 SLA

下图说明了未来的体系结构。



symetryml-oci-future-oracle.zip

该体系结构具有以下组成部分:

  • Tenancy

    租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在您的租户内的 Oracle Cloud 中创建、组织和管理您的资源。租户是公司或组织的同义词。通常,公司将具有单个租户,并在该租户内反映其组织结构。单个租户通常与单个订阅关联,而单个订阅通常只有一个租户。

  • 区域

    Oracle Cloud Infrastructure 区域是一个本地化的地理区域,其中包含一个或多个称为可用性域的数据中心。区域独立于其他区域,远距离可以区分它们(跨国家甚至大陆)。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错功能。可用性域不共享基础设施,例如电源或冷却设备,也不共享内部可用性域网络。因此,一个可用性域出现故障不应影响区域中的其他可用性域。

  • 虚拟云网络 (VCN) 和子网

    VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 可以让您控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定在某个区域或可用性域中。每个子网包含一系列不与 VCN 中的其他子网重叠的地址。您可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • 路由表

    虚拟路由表包含用于将流量从子网路由到 VCN 外部(通常通过网关)的目标的规则。

  • 安全列表

    对于每个子网,您可以创建安全规则来指定必须允许进出子网的通信的源、目的地和类型。

  • Internet 网关

    互联网网关允许 VCN 中的公共子网与公共互联网之间的通信。

  • 服务网关

    通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会通过互联网传输。

  • 本地对等连接网关 (LPG)

    通过 LPG,您可以在同一区域中将一个 VCN 与另一个 VCN 对等。对等连接是指 VCN 使用专用 IP 地址进行通信,而不会有流量通过互联网或通过内部部署网络进行路由。

  • 计算

    借助 Oracle Cloud Infrastructure Compute 服务,您可以在云中设置和管理计算主机。您可以启动计算实例并使用配置来满足对 CPU、内存、网络带宽和存储的资源要求。创建计算实例后,可以安全地访问计算实例,重新启动计算实例,附加和分离卷,然后在不再需要时终止计算实例。

  • 裸金属

    Oracle 裸金属服务器使用专用计算实例提供隔离、可见性和控制。服务器支持需要大量核心、大量内存和高带宽的应用程序。它们可以扩展到 160 个核心(行业中最大的)、2 TB RAM 和 1 PB 的块存储。客户可以在 Oracle 裸金属服务器上构建云环境,并且相比其他公共云和内部部署数据中心,性能有很大的改进。

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) 是 Oracle Cloud Infrastructure (OCI) 和 Oracle Cloud Applications 的访问控制层。通过 IAM API 和用户界面,您可以管理身份域和身份域中的资源。每个 OCI IAM 身份域表示一个独立的身份和访问管理解决方案或不同的用户群体。

成为精选的内置和部署

想要展示您在 Oracle Cloud Infrastructure 上构建的内容?愿意与我们的全球云架构师社区分享您的经验教训、优秀实践和参考架构?让我们帮助您开始。

  1. 下载模板 (PPTX)

    通过将图标拖放到样例线框中来说明您自己的参考体系结构。

  2. 观看架构教程

    获取有关如何创建引用体系结构的逐步说明。

  3. 提交您的图表

    请给我们发电子邮件,其中包含您的关系图。我们的云架构师将查看您的图表并与您联系以讨论您的架构。

确认

  • 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