MedPerfがApache Airflowを統合、連合臨床研究のデータ準備体験を向上

概要

MLCommons医療ワーキンググループは、オープンソース連合研究オーケストレーターであるMedPerfを通じて、医療分野のAI/MLモデルの実世界ベンチマークテストと評価を継続的に推進しています。世界的な大規模臨床研究の専門的経験を活かし、MedPerfは現在Apache Airflowを統合し、連合研究におけるデータ準備パイプラインの配布、オーケストレーション、監視を大幅に簡素化しました。MedPerfの連合実験オーケストレーションとAirflowの成熟したスケジューリング、監視能力を組み合わせることで、コミュニティが再現可能な臨床AI研究をより簡単に実施できるよう支援します。

必要性

Airflow統合の必要性は、過去の臨床研究で直面した課題から生じました。これまで、MedPerfベンチマーク委員会はデータ準備のための単一コンテナを作成し、データ提供者にローカルで実行するために配布する必要がありました。このモノリシックなコンテナ化アプローチは、データ提供者の入力データタイプが期待と異なる、実行指示が混乱するなど、予期しないエラーを頻繁に引き起こしました。トラブルシューティングも困難で、パイプライン開発者はユーザーをリモートで支援する必要がありました。さらに、単一コンテナではデータ提供者がエラー後に簡単に回復できず、個々のパイプラインステップを他のパイプラインで再利用することも困難でした。Federated Learning for Postoperative Segmentation of Treated glioblastoma (FL-PoST)研究では、中断後に回復可能な単一コンテナを開発しました(詳細は以前の技術レポート参照)が、多くの問題を解決したものの、各新規研究でコンテナを再構築する必要があるため、スケーラビリティに欠けていました。

ソリューション

MedPerfにおけるAirflow統合は、スケーラブルな方法でデータ準備の使いやすさとロバスト性を向上させることを目的としています。Airflowを活用することで、複数のコンテナを単一のデータ準備ワークフローに連結でき、MedPerfユーザーに2つの主要な利点をもたらします:

  • 各コンテナがデータ準備パイプラインのモジュール化されたステップとなり、さまざまな異なるワークフローで再利用可能になります。
  • Airflowはパイプライン実行と監視のためのWebUIを提供し、エラーの診断を容易にし、ユーザーが任意のステップからパイプラインを再起動できるようにします。

非技術ユーザー(研究コーディネーターなど)の利便性のため、単一のYAMLファイルを使用するだけでパイプラインを構築できます(例はこちらを参照)。MedPerfクライアントは自動的にこれを実行可能なAirflow Directed Acyclic Graphs (DAGs)に変換し、Airflowで実行されます。

技術詳細

MedPerfはAirflowをインスタンス化するたびに、ローカルでのみ実行し、ランダムに生成されたパスワードを使用し、データ準備が完了するかユーザーが中断した後に自動的にシャットダウンすることで、データ提供者の機密データの安全性を確保します。この統合には、AirflowのREST APIを通じてデータ準備ステータスをMedPerfサーバーに定期的に報告する小さなツールも含まれています。これにより、ベンチマーク委員会は連合(マルチサイト)全体のデータ準備の進行状況を把握し、参加サイトを積極的に支援することができます。

例:FL-PoST研究のデータ準備

Federated Learning for Postoperative Segmentation of Treated glioblastoma (FL-PoST)研究の新しいデータ準備パイプラインの実装詳細は、MedPerfコードリポジトリのREADME.mdファイルで確認できます。以下、主要なポイントを紹介します。

データ準備ステータスはAirflow WebUIで簡単に確認できます。図1 図1:Airflowでの各データ準備ステップとそのステータスに対応するDAGビュー。

図2はワークフローの最初の数ステップの部分的なグラフィックビューを示しています。図2 図2:Airflowで生成されたタスクの部分的なグラフィックビュー。

この研究のデータ準備パイプラインには手動レビューステップも含まれており、データ提供者の人間のオペレーターが生成された腫瘍セグメンテーション画像を手動でレビューし、注釈を承認または修正する必要があります。同時に、Airflowはタスクを「Up for Reschedule」状態に置き、データ準備ガイドラインに従ってファイルがレビューされ、適切な場所にコピーされるのを待ちます(図3参照)。すべてのレビューファイルが準備できると、Airflowは自動的に実行を再開します。図3 図3:Airflowが2つのタスクで手動レビューを待ちながら、他のタスクを実行している様子。

Airflow 3.1.0バージョンの「Approval Operator」機能により、人間のオペレーターがパイプライン実行を手動で承認できます。FL-PoST研究では、すべての脳スキャンが処理およびレビューされた後、このような承認が要求されます(図4参照)。これは最後のステップで、その後パイプラインは実験のトレーニングとテストの分割を自動的に生成します。図4 図4:Airflow WebUIでの必要なアクション通知。

必要なYAMLファイルは、MedPerfでコンテナを提出する際のcontainer-config.yamlの慣例に従いますが、1つのステップで複数のコンテナを連結できます。基本構造は以下のとおりで、単一ステップを示しています。mountsフィールドは、MedPerfでモデルとメトリクスコンテナを提出する際のcontainer-config.yaml構造と完全に同じです。

steps:
  - id: unique_id_for_step
    type: container
    image: container_image_name:tag
    command: command to run in container
    mounts:
      input_volumes:
        data_path:
          mount_path: /path/to/input/data/directory
          type: directory
        labels_path:
          mount_path: /path/to/input/labels/directory
          type: directory
      parameters_file:
        mount_path: /path/to/parameters.yaml
        type: file
      output_volumes:
        output_path:
          mount_path: /path/to/output/data/directory
          type: directory
        output_labels_path:
          mount_path: /path/to/output/labels/directory
          type: directory
    next: id_for_next_step_or_null_if_last_step

今後の展望

Apache Airflow統合は現在MedPerfで利用可能で、FL-PoST研究で本番稼働しています。より広範な医療AIコミュニティに実装を探求し、自身の連合ワークフローでテストし、プロジェクトにフィードバックを提供することをお勧めします。

  • MedPerf GitHubリポジトリで完全な実装を探索してください。
  • カスタムパイプラインを構築するためのYAMLの例はこちらを参照してください。
  • MedPerfを使用して連合臨床研究を実施することに興味がありますか?私たちのコミュニティに参加してください。

医療ワーキンググループは、医療分野における再現可能で信頼できるAI評価のコミュニティリソースとして、MedPerfの開発を継続していきます。今後の進展についてはMLCommonsをフォローしてください。

MedPerfについて
MedPerfは、MLCommons医療ワーキンググループが開発した、医療AI/MLモデルのベンチマークテストと評価のためのオープンソースプラットフォームです。連合臨床研究向けに設計されており、生の患者データがローカルシステムから離れることなく、マルチサイトでの安全で再現可能なAI評価をサポートします。

MLCommonsについて
MLCommonsは、業界、学術界、研究機関のオープンな協力を通じて、機械学習のイノベーションを加速し、人類に利益をもたらすことを目指す非営利エンジニアリング連合です。ベンチマーク、データセット、ベストプラクティスの開発を通じて進歩を推進しています。