MedPerf 集成 Apache Airflow,提升联邦临床研究数据准备体验

MLCommons 医疗工作组通过 MedPerf 开源平台推进医疗 AI/ML 模型的真实世界基准测试与评估。最新集成 Apache Airflow,大幅简化联邦临床研究中的数据准备管道的分发、编排与监控。针对以往单容器方法带来的错误、调试难题及可扩展性不足等问题,新方案将多个容器串联成工作流,支持模块化复用、WebUI 监控与错误恢复。非技术用户只需 YAML 文件即可构建管道,自动转换为 Airflow DAG。FL-PoST 研究已投入生产,保障数据隐私并提升协作效率。欢迎社区探索与贡献。

是什么

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 用户带来两大关键益处:

  • 每个容器成为数据准备管道的模块化步骤,可在多种不同工作流中复用。
  • 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 视图,对应每个数据准备步骤及其状态。

本文由 赢政天下编译整理,原文来自海外媒体 - Winzheng.com

图2 显示工作流前几步的部分图形视图。图2 图2:Airflow 中生成任务的部分图形视图。

该研究的数据准备管道还包括手动审查步骤,数据提供方的人工操作员需手动审阅生成的肿瘤分割图,并批准或修正标注。同时,Airflow 将任务置于“Up for Reschedule”状态,等待文件按数据准备指南审阅并复制到位(见图3)。一旦所有审阅文件就位,Airflow 将自动恢复执行。图3 图3:Airflow 在两个任务等待手动审查,同时运行其他任务。

Airflow 3.1.0 版本的“Approval Operator”功能允许人工操作员手动批准管道运行。在 FL-PoST 研究中,所有脑部扫描处理并审阅后,会请求此类批准(见图4)。这是最后一步,随后管道自动生成实验的训练与测试拆分。图4 图4:Airflow WebUI 中的所需操作通知。

所需的 YAML 文件遵循类似 MedPerf 提交容器时的 container-config.yaml 惯例,但可在一个步骤中串联多个容器。基本结构如下,展示单一步骤。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 开展联邦临床研究?加入我们的社区。

医疗工作组将继续开发 MedPerf 作为医疗领域可重现、可信 AI 评估的社区资源。请关注 MLCommons 以跟踪未来进展。

关于 MedPerf
MedPerf 是 MLCommons 医疗工作组开发的开源平台,用于医疗 AI/ML 模型的基准测试与评估。专为联邦临床研究设计,支持多站点安全、可重现 AI 评估,而无需原始患者数据离开本地系统。

关于 MLCommons
MLCommons 是一个非营利工程联盟,致力于通过行业、学术界与研究机构的开放协作,加速机器学习创新惠及人类。通过开发基准、数据集与最佳实践,推动进步。