MMed-RAG
ICLR 2025接收,医疗多模态RAG系统,通过领域感知检索对齐让AI学会「引用」医学证据,事实性
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
ICLR 2025接收,医疗多模态RAG系统,通过领域感知检索对齐让AI学会「引用」医学证据,事实性
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
凌晨两点,一位基层医院的放射科医生正对着一张肺部 CT 片发愁——AI 诊断系统给出了"可疑占位,建议进一步检查"的结论,但她凭借十多年经验判断这只是陈旧性钙化点。问题在于,她无法说服患者相信自己的判断,因为她无法向 AI 系统证明"为什么不是"。
这正是 MMed-RAG(Multimodal Medical Retrieval-Augmented Generation)试图解决的核心问题——不是替代医生的判断,而是让 AI 能够正确地"引用"医学证据。
MMed-RAG 由上海人工智能实验室夏涌智(Yongzhi Xia)、北卡罗来纳大学教堂山分校 Peng Xia 等研究者开发,论文发表在 ICLR 2025,并在多项医学 VLM 基准上取得了显著提升:事实性提升最高达 43.8%,医学 VQA 准确率提升 10.3%。
当前主流医疗视觉-语言模型(Med-LVLMs)面临三个深层挑战:
1. 盲目"抄作业"问题 当模型面对一个复杂病例时,它可能会直接复制检索到的外部信息,而忽略自身已经具备的视觉推理能力。这就像学生不看题目直接抄答案——看似正确,实则没有真正理解。
2. 不知道何时该"查资料" 模型在面对不确定的问题时,往往要么凭空猜测,要么完全放弃回答。正确的做法应该是:当自身知识不足以解答时,主动检索相关医学文献或病例资料,结合外部证据给出判断。
3. 检索到的信息可能是错的 医学数据质量参差不齐,检索结果中可能混有错误信息。如果模型不加辨别地采纳所有检索结果,反而会加剧误诊风险。
MMed-RAG 的核心创新,正是针对这三点逐一拆解。它提出了一个领域感知的检索对齐机制(Domain-Aware Retrieval Alignment),让模型学会在正确的时机、以正确的方式使用检索到的内容。
MMed-RAG 的技术架构分为三个核心模块:
检索器基于 OpenCLIP(来自 OpenAI CLIP 的开源复现版)微调而成,支持从医学影像数据库中检索相关内容。训练数据涵盖四大医学影像模态:放射学(Radiology)、病理学(Pathology)、眼科学(Ophthalmology)和皮肤科(Dermatology)。
训练脚本位于 scripts/finetune_clip.sh,使用 torchrun 多卡分布式训练,默认配置为 2 卡训练 360 个 epoch。
torchrun --nproc_per_node=2 -m training.main \
--model hf-hub:thaottn/OpenCLIP-resnet50-CC12M \
--dataset-type radiology \
--train-data '/path/to/train.json' \
--batch-size 512 --lr 0.0001 --epochs 360
对齐训练采用 DPO(Direct Preference Optimization) 算法的两阶段变体,核心代码位于 train/dpo/train_dpo_2stages.py:
训练使用 DeepSpeed ZeRO-3 分布式优化,配合 LoRA 轻量级微调(rank=128),可在多卡环境下高效运行:
deepspeed ./train/dpo/train_dpo_2stages.py \
--model_name_or_path /path/to/llava-med_model \
--deepspeed ./scripts/zero3.json \
--lora_enable True --lora_r 128 --lora_alpha 256 \
--bf16 True --gradient_checkpointing True
推理入口为 train/dpo/predict.py,基于 Cog 推理框架构建,提供 Gradio Web 界面。模型组合了 LLaVA-1.5-13B 作为基座语言模型,配合 CLIP-ViT-L-336 视觉编码器。
推理时的权重通过 Replicate 镜像自动下载,开发者无需手动配置 HuggingFace 访问。
MMed-RAG 依赖的医学影像数据集均为受保护数据,需要额外申请访问权限:
| 数据集 | 类型 | 来源 |
|---|---|---|
| MIMIC-CXR | 胸部X光 | PhysioNet |
| IU-Xray | 胸部X光 | Google Drive |
| Harvard-FairVLMed | 多模态医学影像 | Harvard OPAI |
| PMC-OA | 生物医学文献图像 | HuggingFace |
| Quilt-1M | 医学图像-报告对 | GitHub |
完整训练数据(约 1TB)已在 GitHub data/ 目录公开,提供 JSON/JSONL 格式的标注文件。
最低配置要求:
上手难度:
train/dpo/cog.yaml),相对友好好消息是: 推理阶段提供了预构建的 Cog 镜像,普通开发者可以在 Replicate 平台上直接调用,无需自行部署。
MMed-RAG 并非万能,存在以下局限:
MMed-RAG 的核心贡献不只是某个基准上的 SOTA 分数,而是提出了一种让医疗 AI 学会"引用" 的方法论。在医学领域,可解释性和可追溯性是临床应用的硬需求——医生不仅需要 AI 给出诊断结论,更需要知道 AI 为什么这样判断、依据了什么证据。
通过将 RAG 机制与多模态对齐训练相结合,MMed-RAG 为医疗 AI 的临床落地提供了一个可行的技术路径。随着医学影像数据的不断积累和检索技术的持续进步,这一方向有望成为医疗 AI 领域的主流范式。
项目主页:https://github.com/richard-peng-xia/MMed-RAG
论文:arXiv:2410.13085
许可:MIT License
核心依赖:PyTorch、Transformers、DeepSpeed、OpenCLIP、LLaVA、TRL(DPO)