Oracle Cloud에 예측 가능한 통합 의료 애널리틱스 플랫폼 배포

페더레이션 학습은 곧 대규모의 환자 의료 데이터를 분석하기 위한 실질적인 표준이 될 수 있습니다. 통합 학습 프로세스는 참여하는 병원, 클리닉 또는 약국에서 로컬로 발생하기 때문에 환자 데이터를 시스템 방화벽 외부로 내보내지 않고도 교육 알고리즘을 구축할 수 있습니다.

새로운 Jersey 기반 SymetryML는 페더레이션 학습 알고리즘을 사용하여 Oracle Cloud Infrastructure(OCI)에서 예측 의료 분석 플랫폼을 실행함으로써 데이터 기여자 및 소비자에게 FL 모델을 제공하여 수십억 페타바이트의 익명화된 환자 의료 데이터를 거의 실시간으로 활용합니다.

통합 학습 모델은 엄격한 거버넌스 모델과 글로벌 페더레이션 구성을 준수하지 않고 생성하기가 어려운 경우가 많지만 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 인스턴스가 할당됩니다.

머신 러닝 인터페이스는 데이터 스트리밍 및 분석을 위한 서브넷, autoML용 머신 러닝 서브넷, 예측 모델링 및 실시간 측정지표, Redis를 사용하는 지속성 데이터 스토리지를 위한 데이터베이스 서브넷, NATS 클러스터를 포함하는 통합을 위한 선택적 서브넷을 포함하는 두번째 VCN에 배치됩니다.

데이터 소비자에게는 로그온하고 필요에 맞게 환경을 구성할 수 있는 SaaS 애플리케이션 인스턴스가 할당됩니다. 소비자는 분석 요구사항에 따라 선택할 수 있는 머신 러닝 인스턴스를 선택할 수 있습니다. 고객은 NVIDIA GPU를 통해 가상 머신 또는 베어메탈 인스턴스 중에서 선택할 수 있습니다. 인스턴스 유형을 선택하면 인스턴스가 프로비전됩니다. SaaS 인스턴스에서 사용자는 필요에 따라 인스턴스를 정지, 시작 및 재시작하고 처리된 데이터를 검토하는 명령을 실행할 수 있습니다.

다음 다이어그램에는 아키텍처가 설명되어 있습니다.



symetryml-oci-아키텍처-oracle.zip

데이터 제공자는 머신 러닝을 위한 데이터를 제공하기 위해 SymetryML 데스크톱 애플리케이션을 사용하여 환자 원시 데이터를 포함하는 데이터베이스, 스트리밍 데이터 및 객체 저장소와 같은 다양한 데이터 소스를 가리킬 수 있습니다.

실시간 스트리밍 및 분석이 필요한 고객은 Kafka를 활용할 수 있습니다. 데이터 소비자가 통합을 활용하려는 경우 NATS 클러스터를 배치하거나 OCI VCN 외부의 NATS 클러스터를 사용하도록 선택할 수 있습니다. NATS 클러스터는 선택사항입니다. NATS 클러스터는 SymetryML 구조의 일부로 자동으로 배치되지 않지만 SymetryML 통합 학습을 사용으로 설정하는 데 필요합니다.

SymetryML의 미래 상태 로드맵에 대한 고려 사항은 다음과 같습니다.

  • Oracle Cloud Infrastructure Data Flow를 사용하여 Apache Spark Service를 배포합니다.

    SymetryML는 Spark 애플리케이션으로 실행되는 완전히 자체 개발된 Java 애플리케이션을 사용하기 때문에 Oracle은 매우 큰 데이터세트에서 작업을 처리하는 클라우드 기반 서버리스 플랫폼인 데이터 플로우 사용을 권장합니다. 이를 통해 Spark 개발자 및 데이터 과학자는 클러스터, 운영 팀 또는 고도로 전문화된 Spark 지식 없이도 모든 규모에서 Spark 작업을 생성, 편집 및 실행할 수 있습니다. 서버리스이므로 배포하거나 관리할 인프라가 없습니다. 전적으로 REST API를 기반으로 하므로 애플리케이션 또는 워크플로우와 쉽게 통합할 수 있습니다. REST API를 사용하여 데이터 플로우를 제어할 수도 있습니다. 데이터 플로우 풀을 사용하면 여러 사용자의 세션 작업 로드를 동일한 테넌트에서 동시에 스트리밍할 수 있습니다. Data Flow 명령은 Oracle Cloud Infrastructure 명령행 인터페이스의 일부로 사용할 수 있으므로 사용자는 쉽게 다음을 수행할 수 있습니다.

    • Apache Spark 데이터 소스에 접속
    • 재사용 가능한 Apache Spark 애플리케이션 생성
    • 몇 초 내에 Apache Spark 작업 실행
    • SQL, Python, Java, Scala 또는 spark-submit 스크립트를 사용하여 Apache Spark 애플리케이션 생성
    • 단일 플랫폼에서 모든 Apache Spark 애플리케이션 관리
    • 클라우드 또는 데이터 센터의 온프레미스 데이터 처리
    • 고급 Big Data 애플리케이션으로 쉽게 어셈블할 수 있는 Big Data 구성 요소 생성
  • Apache Kafka를 Oracle Streaming Service로 대체

    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은 서버리스이며 네트워킹, 스토리지, 데이터 스트리밍에 필요한 구성 등 인프라 관리를 오프로드합니다. 인프라 프로비저닝, 지속적인 유지 관리 또는 보안 패치에 대해 걱정할 필요가 없습니다. 스트리밍 서비스는 3개의 가용성 도메인에 걸쳐 데이터를 동기적으로 복제하여 고가용성 및 데이터 내구성을 제공합니다. 단일 가용성 도메인이 있는 지역에서는 데이터가 3개의 장애 도메인에 걸쳐 복제됩니다. Oracle Cloud Infrastructure Streaming은 다음과 같은 용도로 사용할 수 있습니다.

    • 메시징: 생산자와 소비자는 Oracle Cloud Infrastructure Streaming을 비동기 메시지 버스로 사용하고 자체 속도에 따라 독립적으로 행동할 수 있습니다.
    • 측정지표 및 로그 입수: Oracle Cloud Infrastructure Streaming을 기존의 파일 스크래핑 방법 대신 사용하여 인덱싱, 분석 및 시각화에 중요한 운영 데이터를 신속하게 활용할 수 있습니다.
    • 웹 또는 모바일 작업 데이터 수집: 페이지 뷰, 검색 또는 기타 사용자 작업과 같은 웹 사이트 또는 모바일 앱의 작업을 캡처하려면 Oracle Cloud Infrastructure Streaming을 사용합니다. 이 정보는 실시간 모니터링 및 분석과 오프라인 처리 및 보고를 위한 데이터 웨어하우징 시스템에서 사용할 수 있습니다.
    • 인프라 및 앱 이벤트 처리: 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 Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 격리된 보안 분할영역입니다. Oracle Cloud에서 테넌시 내의 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 가지며 해당 테넌시 내의 조직 구조를 반영합니다. 일반적으로 단일 테넌시는 단일 구독과 연관되며, 단일 구독에는 일반적으로 하나의 테넌시만 포함됩니다.

  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지리적 영역입니다. 지역은 다른 지역과는 독립적이며, 거리는 국가 또는 대륙에 걸쳐 분리될 수 있습니다.

  • 가용성 도메인

    가용성 도메인은 한 지역 내의 독립형 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원이나 냉각과 같은 인프라나 내부 가용성 도메인 네트워크를 공유하지 않습니다. 따라서 한 가용성 도메인에서 장애가 발생해도 해당 지역의 다른 가용성 도메인에 영향을 미치지 않습니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN을 통해 네트워크 환경을 제어할 수 있습니다. VCN은 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록을 가질 수 있습니다. VCN을 서브넷으로 분할할 수 있으며, 영역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • 경로 테이블

    가상 라우트 테이블에는 서브넷에서 일반적으로 게이트웨이를 통과하는 VCN 외부 대상으로 트래픽을 라우팅하는 규칙이 포함되어 있습니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에 들어오고 나가야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • 인터넷 게이트웨이

    인터넷 게이트웨이는 VCN의 공용 서브넷과 공용 인터넷 간의 트래픽을 허용합니다.

  • 서비스 게이트웨이

    서비스 게이트웨이는 VCN에서 Oracle Cloud Infrastructure Object Storage와 같은 다른 서비스로의 액세스를 제공합니다. VCN에서 Oracle 서비스로의 트래픽은 Oracle 네트워크 패브릭을 통해 이동하며 인터넷을 순회하지 않습니다.

  • LPG(Local Peering Gateway)

    LPG를 사용하여 한 VCN을 동일한 지역의 다른 VCN과 피어링할 수 있습니다. 피어링이란 트래픽이 인터넷을 순회하거나 온프레미스 네트워크를 통해 라우팅하지 않고 VCN이 전용 IP 주소를 사용하여 통신하는 것을 의미합니다.

  • 컴퓨팅

    Oracle Cloud Infrastructure Compute 서비스를 사용하면 클라우드에서 계산 호스트를 프로비전하고 관리할 수 있습니다. CPU, 메모리, 네트워크 대역폭 및 스토리지에 대한 리소스 요구사항을 충족하는 구성으로 컴퓨트 인스턴스를 실행할 수 있습니다. 컴퓨팅 인스턴스를 생성한 후에는 안전하게 액세스하고, 다시 시작하고, 볼륨을 연결 및 분리하고, 더 이상 필요하지 않을 때 종료할 수 있습니다.

  • 베어 메탈

    Oracle의 베어 메탈 서버는 전용 컴퓨팅 인스턴스를 사용하여 격리, 가시성 및 제어를 제공합니다. 서버는 많은 코어 수, 많은 양의 메모리 및 높은 대역폭이 필요한 응용 프로그램을 지원합니다. 최대 160개 코어(업계 최대), 2TB RAM 및 최대 1PB의 블록 스토리지를 확장할 수 있습니다. Oracle의 베어 메탈 서버에 다른 퍼블릭 클라우드와 온프레미스 데이터 센터에 비해 훨씬 우수한 성능을 제공하는 클라우드 환경을 구축할 수 있습니다.

  • ID 및 액세스 관리 (IAM)

    Oracle Cloud Infrastructure Identity and Access Management(IAM)는 Oracle Cloud Infrastructure(OCI) 및 Oracle Cloud Applications용 액세스 제어 플레인입니다. IAM API 및 사용자 인터페이스를 통해 ID 도메인 및 ID 도메인 내의 리소스를 관리할 수 있습니다. 각 OCI IAM ID 도메인은 독립형 ID 및 액세스 관리 솔루션 또는 다른 사용자 모집단을 나타냅니다.

내장 및 배포 기능 활용하기

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