予測的でフェデレーテッドな医療アナリティクス・プラットフォームを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)アプリケーション・インタフェース用と機械学習インタフェース用の2つのシステムが含まれています。

SaaSアプリケーションは、Redisデータベース仮想マシン・インスタンスが仮想クラウド・ネットワーク(VCN)にデプロイされた単一の仮想マシン・インスタンスにデプロイされます。SymetryMLアプリケーションを使用する各顧客には、SaaSインスタンスが割り当てられます。

機械学習インタフェースは、データ・ストリーミングおよび分析用のサブネット、autoML用の機械学習サブネット、予測モデリングおよびリアルタイム・メトリック、Redisを使用した永続性データ・ストレージ用のデータベース・サブネット、およびNATSクラスタを含むフェデレーション用のオプション・サブネットを含む2番目のVCNにデプロイされます。

データ・コンシューマには、ログオンしてニーズにあわせて環境を構成できる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サービスのデプロイ

    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 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コネクタは、ストリーミング・サービスの高スループットおよび耐久性を利用しながら、簡単かつ自動的にトピックを作成、公開および配信できます。In addition, Oracle Cloud Infrastructure Streaming provides a fully managed, scalable, and durable messaging solution for ingesting continuous, high-volume streams of data that you can consume and process in real-time.Oracle Cloud Infrastructure Streamingはサーバーレスであり、ネットワークからストレージ、データのストリーミングに必要な構成まで、インフラストラクチャ管理をオフロードします。インフラストラクチャのプロビジョニング、継続的なメンテナンスまたはセキュリティ・パッチ適用について心配する必要はありません。Streamingサービスは、3つのアベイラビリティ・ドメインにわたってデータを同期してレプリケートし、高可用性とデータの耐久性を実現します。単一のアベイラビリティ・ドメインを持つリージョンでは、データは3つのフォルト・ドメイン間でレプリケートされます。Oracle Cloud Infrastructure Streamingには、次のような用途があります:

    • メッセージング: コンシューマおよびプロデューサは、Oracle Cloud Infrastructure Streamingを非同期メッセージ・バスとして使用し、独立して自己のペースで動作できます。
    • メトリックおよびログの収集: 従来のファイル廃棄方法の代替手段としてOracle Cloud Infrastructure Streamingを使用して、重要な運用データを索引作成、分析およびビジュアライゼーションにすばやく使用できるようにします。
    • Webまたはモバイル・アクティビティ・データの収集: Oracle Cloud Infrastructure Streamingを使用して、Webサイトまたはモバイル・アプリケーションからアクティビティ(ページ・ビュー、検索、その他のユーザー・アクションなど)を取得します。この情報は、リアルタイムのモニタリングおよび分析に加え、データ・ウェアハウス・システムではオフライン処理およびレポート作成のために使用できます。
    • インフラおよびアプリケーション・イベントの処理: クラウド・コンポーネントの統合エントリ・ポイントとしてOracle Cloud Infrastructure Streamingを使用して、監査、会計および関連アクティビティのライフサイクル・イベントをレポートします。
  • Autonomous Databaseのデプロイ

    Oracle Autonomous Database (Exadataインフラストラクチャでのみ使用可能)は、自動索引付け、チューニング、バックアップ、プロビジョニング、自動パッチ適用およびアップグレードを提供する完全管理型のPaaSサービスです。Autonomous Databaseは、データベース、バックアップおよびすべてのネットワーク接続も暗号化します。Autonomous Databaseには、ボールト、データ・マスキングおよびダウンタイムなしの即時スケーリングの他に、2つのディザスタ・リカバリ・オプションがあります。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でリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。

  • リージョン

    Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカル化された地理的領域です。リージョンは他のリージョンから独立しており、長距離の場合は(複数の国または大陸にわたって)それらを分離できます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、1つの可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響を及ぼすことはありません。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、ソフトウェアで定義されたカスタマイズ可能なネットワークです。従来のデータ・センター・ネットワークと同様に、VCNによってネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • ルート表

    仮想ルート表には、サブネットからVCN外の宛先(通常はゲートウェイ経由)にトラフィックをルーティングするルールが含まれます。

  • セキュリティ・リスト

    サブネットごとに、サブネットの内外で許可される必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

  • インターネット・ゲートウェイ

    インターネット・ゲートウェイによって、VCN内のパブリック・サブネットとパブリック・インターネット間のトラフィックが許可されます。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and does not traverse the internet.

  • ローカル・ピアリング・ゲートウェイ(LPG)

    LPGを使用すると、1つのVCNを同じリージョン内の別のVCNとピア接続できます。ピアリングとは、インターネットを通過するトラフィックやオンプレミス・ネットワークを介するルーティングなしで、VCNがプライベートIPアドレスを使用して通信することを意味します。

  • コンピュート

    Oracle Cloud Infrastructure Computeサービスを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプでコンピュート・インスタンスを起動できます。コンピュート・インスタンスの作成後は、コンピュート・インスタンスに安全にアクセスし、再起動、ボリュームのアタッチとデタッチ、および不要になったときに終了できます。

  • ベア・メタル

    Oracleのベア・メタル・サーバーは、専用のコンピュート・インスタンスを使用して分離、可視性および制御性を提供します。サーバーは、多くのコア数、大容量のメモリーおよび高帯域幅を必要とするアプリケーションをサポートします。最大160コア(業界最大)、2TBのRAM、最大1PBのブロック・ストレージまで拡張できます。お客様は、Oracleのベア・メタル・サーバーにクラウド環境を構築し、他のパブリック・クラウドやオンプレミスのデータ・センターより、パフォーマンスを大幅に向上させることができます。

  • アイデンティティおよびアクセス管理(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. ダイアグラムの送信

    ダイアグラムを含むEメールを送信してください。オラクルのクラウド・アーキテクトがダイアグラムを確認し、お客様に連絡してアーキテクチャについて話し合います。

承認

  • 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