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 應用程式部署在單一虛擬機器執行處理上,其中 Redis 資料庫虛擬機器執行處理部署在虛擬雲端網路 (VCN) 中。每個使用 SymetryML 應用程式的客戶都會配置一個 SaaS 執行處理。

機器學習介面部署在第二個 VCN 中,其中包含用於資料串流和分析的子網路、用於 autoML 的機器學習子網路、預測模型和即時指標、用於使用 Redis 保存資料儲存的資料庫子網路,以及包含 NATS 叢集之聯合項目的選擇性子網路。

資料取用者會配置 SaaS 應用程式執行處理,供他們登入及設定環境以滿足其需求。消費者可以根據自己的分析需求選擇機器學習執行個體。客戶可以選擇使用 NVIDIA GPU 的虛擬機器或裸機執行個體。選擇執行處理類型之後,就會啟動設定執行處理。使用者可以從 SaaS 執行處理發出命令,視需要停止、啟動及重新啟動執行處理,以及複查已處理的資料。

下圖說明架構:



symetryml-oci-architecture-oracle.zip

為了提供機器學習的資料,資料提供者可以使用 SymetryML 桌面應用程式指向各種資料來源,例如資料庫、串流資料,以及包含病患原始資料的物件存放區。

如果客戶需要即時串流和分析,可以利用 Kafka。如果資料用戶想要利用同盟,可以選擇部署 NATS 叢集,或使用 OCI VCN 以外的 NATS 叢集。NATS 叢集是選擇性的;它不會自動部署為 SymetryML 架構的一部分,但啟用 SymetryML 聯合學習是必要的。

SymetryML 未來狀態藍圖的考量包括:

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

    由於 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 應用程式
    • 處理資料中心內雲端或內部部署的資料
    • 建立大數據建置區塊,讓您輕鬆組合成進階大數據應用系統
  • 以 Oracle Streaming Service 取代 Apache Kafka

    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 從網站或行動 App 擷取活動,例如頁面檢視、搜尋或其他使用者動作。您可以將此資訊用於即時監控和分析,以及在資料倉儲系統中用來進行離線處理和報告。
    • 基礎架構和 App 事件處理:使用 Oracle Cloud Infrastructure Streaming 作為統一進入點,以供雲端元件呈報稽核、會計及相關活動的生命週期事件。
  • 部署 Autonomous Database

    Oracle Autonomous Database (僅適用於 Exadata 基礎架構) 是完全受管理的 PaaS 服務,提供自動編製索引、調整、備份、佈建、自動修正及升級。Autonomous Database 也會加密資料庫、備份及所有網路連線。除了提供保存庫、資料遮罩及立即擴展而不停機之外,Autonomous Database 還提供兩個災害復原選項:Active Data Guard 可同步在相同區域中套用,而 Data Guard 可以跨區域以非同步方式設定,在整個主要區域發生災害時提供保護。部分重要功能包括:

    • 提供高達 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 外部的目的地,通常透過閘道。

  • 安全清單

    您可以為每個子網路建立安全規則,指定子網路中必須允許進出的流量來源、目的地和類型。

  • 網際網路閘道

    網際網路閘道允許 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