本文提出了 MMedAgent,是第一个多模态医疗 AI 代理。
摘要
多模态大型语言模型 (MLLM) 尽管取得了成功,但表现出有限的通用性,并且与专用模型相比往往达不到要求。最近,已经开发了基于 LLM 的智能体,通过根据用户输入选择合适的专业模型作为工具来应对这些挑战。然而,这些进步尚未在医学领域得到广泛探索。为了弥合这一差距,本文介绍了第一个专门为医学领域设计的智能体,名为多模态医学智能体 (MMedAgent)。策划了一个由六种医疗工具组成的指令调整数据集,解决了五种模式的七项任务,使智能体能够为给定任务选择最合适的工具。综合实验表明,与最先进的开源方法甚至闭源模型 GPT-4o 相比,MMedAgent 在各种医疗任务中实现了卓越的性能。此外,MMedAgent 在更新和集成新医疗工具方面表现出效率。
论文链接 - https://arxiv.org/html/2407.02483v2
Github - https://github.com/Wangyixinxin/MMedAgent
演示系统 - https://39bfdd86c8078664d4.gradio.live/
1 Introduction介绍
多模态大型语言模型 (MLLM) 在医疗保健中不同医学成像模式(例如磁共振成像、计算机断层扫描、X 射线)的输入,包括视觉问答 (VQA) 、图像分割和医疗报告生成 (MRG) 等。尽管取得了这些进步,但 MLLM 在无缝解决不同医学成像模式的多项任务方面往往存在局限性。尽管最近的大型医学模型试图解决这一挑战,但它们仍然局限于在一组有限的成像模式中处理狭窄的任务,并且无法有效地扩展到新任务或更多成像模式。此外,这些通才通常不会提供与为特定任务定制的专用 MLLM 相媲美的专家级响应。
解决此问题的一种方法是构建 AI 代理,这是一个由大型语言模型 (LLM) 驱动的 AI 系统,它将各种领域专家模型集成为工具。这样的系统可以理解用户指令、做出决策并选择合适的工具来执行任何特定任务,从而为任何给定请求生成专家级响应。尽管 AI 代理在一般图像领域取得了重大成功,但目前专门为医疗领域开发的 AI 代理很少。尽管医学领域的一些工作在他们的方法中使用“代理”一词,但它们专注于利用 LLM 扮演各种角色并协作完成复杂的任务,其中“代理”指的是特定角色。PathAsst 将工具利用率集成到其框架中,但专为病理学任务而设计。
在这项工作中,我们的目标是构建第一个专门用于医疗领域的人工智能智能体,称为多模态医学智能体(MMedAgent)。我们选择 LLaVA-Med 作为主干,旨在扩展其处理各种语言和多模态任务的能力,包括接地、分割、分类、MRG 和检索增强生成(RAG)。这些任务包括多种医学成像模式,例如 MRI、CT 和 X 射线,使 MMedAgent 能够支持临床实践中通常遇到的各种数据类型。构建 MMedAgent 的第一步是为每个任务收集最先进的(SOTA) 方法,以下称为“工具”。在此阶段,我们发现缺乏用于接地任务的有效工具,这促使我们专门针对医疗应用微调 Grounding DINO。接下来,我们构建一个基于指令的数据集,教代理在遇到用户指令时选择合适的工具,并汇总工具的输出以准确、全面地回复用户。我们方法的核心涉及通过视觉教学调整的端到端训练方案。MMedAgent 在各个方面都显示出可喜的成果。在几项复杂的医疗任务上进行评估时,MMedAgent 的性能明显优于传统的开源 SOTA 方法,包括 LLaVA 、 Flamingo-Med 、 Yi-VL-34B 、 Qwen-VL-Chat 、 LLaVA-Med 和 RadFM ,甚至平均超过了闭源方法 GPT-4o 。它还增强了 MMedAgent 的主干,即 LLaVA-Med,在 VQA 任务中的原始能力,并展示了学习新工具的高效能力。我们的代码和 Web UI 在 https://github.com/Wangyixinxin/MMedAgent 上提供,附录图 中提供了用户界面的演示。
我们的贡献可以概括为:
2 相关工作
2.1 医学多模态大模型
LLM 为推动医学领域前沿的研究提供了肥沃的新土壤。与自然领域不同,医疗数据的内在复杂性(包括多个来源和模态)导致医学领域的大多数 LLM 仅使用语言和文本专注于狭义定义的任务。Singhal 等人策划了 MultiMedQA,这是医学问答数据集的基准,并提出了 Med-PaLM,它利用了基于 PaLM 的医疗领域量身定制的指令提示调整。Med-PaLM 在人类评估框架的轴上表现令人鼓舞。
LLM 的最新进展是在多模态对话能力方面取得的。由于医疗数据和任务固有的多样性,LLM 最初已定位于特定的成像领域,例如 X 射线、CT 和组织学,或针对不同的任务(如分割和医疗报告生成)进行定制。相比之下,通才模型通过大大扩展预训练数据集,使单个 LLM 能够涵盖更广泛的成像模式和任务,从而扩展了这些功能。尽管通才模型能够处理广泛的医疗模式和任务,但它们在结合额外技能时面临可扩展性限制,并且缺乏特定任务的专业化。
2.2 AI Agent智能体
多模态 AI Agent 是一种通过感知环境并根据感知做出决策来实现用户通用目标的系统。最近的工作利用 LLM 作为规划器来理解来自环境的多模态输入,并决定调用不同的工具来实现目标。根据 LLM 是否开源,将多模态 AI 代理分为两种类型:(i) 作为规划器的闭源 LLM,它利用提示技术使 LLM 能够做出决策;(ii) 作为规划师进行微调的 LLM,其中 LLM 经过微调以理解指令、做出决策和调用工具/API。MMedAgent 属于第二种类型。
多模态 AI智能体在各种应用中取得了巨大成功。例如,应用代理来控制网站或用户界面。一些作品专注于机器人技术或具身 AI,它们应用多模态 LLM 来感知真实环境并与之交互。大多数作品都集中在多模态理解或生成上,尤其是图像、视频或音频。然而,这些工作仅限于自然领域。据我们所知,我们是第一个构建更通用的医疗 AI 代理的公司,它涵盖了更广泛的图像模式,包括 MRI、CT、X 射线和组织学。
3 MMedAgent
多模态医疗智能体 (MMedAgent) 是一种基于 MLLM 的系统,旨在通过集成各种开源医疗模型来无缝管理各种医疗任务。MMedAgent 包括两个部分:(1) 一个指令调整的多模态 LLM,用作行动规划器和结果聚合器,以及 (2) 为代理量身定制的医疗工具集合,每个工具都针对医疗领域的特定任务。我们首先在 Section 3.1 中介绍了 MMedAgent 的基本工作流程,然后在 Section 3.2 中描述了如何创建指令调整数据集以将多模态 LLM 训练为动作规划器。MMedAgent 中包含的医疗任务和相应工具的详细信息在 Section 3.3 中描述。
3.1 工作流
在 LLaVA-Plus 之后,MMedAgent 的目标是学习利用广泛的多模式医疗工具,扩展 MLLM 分析和完成各种医疗任务的能力。如图 所示,该工作流由四个部分组成:(1) 用户提供一个指令 X q 和一个医学影像 I q;(2) MLLM 作为一个动作规划器,它理解 X q 和 I q,然后生成一个格式化的指令 X 工具来调用特定的工具。(3) 在给定 I q 的情况下执行工具,并将工具的输出 X 结果发送到 MLLM。(4) MLLM 将 X q 和 I q 的输出聚合起来,生成最终的答案 X 答案给用户。我们在生成的序列上使用自回归目标(即 X 工具和 X 答案)对代理进行端到端训练,以使模型能够使用正确的工具并根据工具的结果回答问题。
图 1:四步 MMedAgent 管道。图 2:MMedAgent 的训练数据示例,该示例学习使用 Grounding DINO 工具进行对象检测并回答用户的问题。
3.2 指令微调
为了确保 MMedAgent 同时作为动作规划器和结果聚合器,我们采用了 提出的统一对话格式,如图 所示。具体来说,在收到用户的输入后,MMedAgent 在其输出中生成三个组成部分:(1)思想 ,它确定 MMedAgent 是否可以独立解决用户的指令或是否需要外部工具,如果是,则确定合适的工具;(2)操作 ,它列举了执行思想所需的 API 调用列表。这包括两个子字段:API 名称 和 API 参数 。如果操作列表为 null,则不会发起 API 调用。(3)值 ,它提供来自 MLLM 的自然语言响应。在第一轮中,它表示所选工具;在第二轮中,它表示处理用户初始请求的最终输出。如附录图所示,我们通过一次性学习查询 GPT-4o 来构建指令数据,并展示了一个演示 MMedAgent 输入和输出的示例。我们为每个工具设置了一个固定的系统指令提示符,并选择了几个示例作为对话模板(附录图 User_1 和 Assistant_1 中)。该工具处理从对话中生成指令数据。
3.3 医疗任务和工具
我们的 MMedAgent 能够访问各种工具,并具有处理各种任务的可扩展性。如表所示,我们集成了六种工具,涵盖了医学领域的七项代表性任务,即 (1) 接地,(2) 带边界框提示的分割(B-Seg),(3) 带文本提示的分割 (G-Seg),(4) 医学成像分类,(5) 医疗报告生成 (MRG),(6) 检索增强生成 (RAG),以及 (7) VQA。请注意,VQA 任务不需要额外的工具,因为我们使用最初支持该任务的 LLaVA-Med 作为主干。每个工具都充当专家,在各种医学成像模式中执行特定任务方面表现出非凡的熟练程度。
表 1:MMedAgent 中包含的任务、工具、数据源和相应的医学成像模式。“–” 表示 RAG 任务只关注自然语言,而不处理图像。“WORD 等*”表示各种数据源,包括 WORD 、 FLARE2021 、 BRATS 、 蒙哥马利县 X 射线集 (MC) 、 VinDr-CXR 和 Cellseg 。3.3.1 Grounding3.3.1 接地3.3.1 接地
Grounding ,也称为检测,旨在通过生成包含对象的边界框的坐标来识别和定位输入图像中的特定对象。据我们所知,现有的医学模型无法同时处理来自不同模态的图像。因此,我们提出了一种为医学领域量身定制的通用接地工具。具体来说,我们选择针对医学成像领域微调 Grounding DINO ,一种开放式物体探测器。
我们的第一步是收集多个医学图像分割数据集,包括 FLARE2021 、 WORD 、 BRATS 、 蒙哥马利县 X 射线集 (MC) 、 VinDr-CXR 和多模态细胞分割数据集 (Cellseg) 。如 附录表 中所述,这些数据集针对不同的模式、器官或疾病,每个数据集都包括原始成像及其相应的像素级分割注释。通过提取每个对象周围的最小外部矩形,这些分段蒙版进一步转换为边界框。然后,边界框的坐标和相应的对象标签将记录为每个数据集中的接地标签。
基于发布的预训练权重,我们使用上述数据集以及自然图像领域的两个常见数据集(即 COCO 和 Flickr30k)对 Grounding DINO 进行了微调,以保持模型检测常见对象的能力。
3.3.2 其他任务
B-Seg 涉及在提供覆盖 ROI 的边界框时识别和描绘图像的感兴趣区域 (ROI)。它是一种交互式分段,自 Segment Anything (SAM) 开发以来已变得流行。我们选择 MedSAM ,它将 SAM 微调到医疗领域,作为我们的工具。提示仅限于边界框,因为它们为 SAM 提供了更精确的指导。具体来说,在这个场景下,我们考虑用户提供边界框的位置,在这个位置可以直接应用 MedSAM 来获取 ROI 掩码。
G-Seg 是指将接地与 SAM 相结合。它旨在解决用户仅指定要在图像中分段的特定对象时更常见的情况。我们首先激活微调接地工具以定位所引用的物体,然后以框格式将其位置提供给 MedSAM。请注意,此任务还展示了 MMedAgent 使用多个工具处理复杂任务的能力,这是以前的工作中没有的能力。
分类旨在确定封闭集中医学影像最合适的类别。具体来说,我们定义了一组封闭的标签 L ,包括器官类型、常见图像模式和复杂模式,例如超声成像、苏木精和伊红组织病理学。集合 L 的详细信息显示在附录 A.1 中。我们采用 BiomedCLIP ,它在零样本和细粒度分类方面表现出卓越的性能。根据图像嵌入和每个文本嵌入之间的余弦相似性对图像进行分类。
MRG 涉及根据提供的医疗信息或成像创建准确和真实的医疗报告。MMedAgent 结合了 ChatCAD ,一种开源工具,旨在为胸部 X 光图像生成医疗报告。该模型在 MIMIC-CXR 数据集上进行训练,可以提供包含详细放射学分析的报告,识别与胸部相关的疾病,例如心脏扩大、水肿、实变、肺不张等。
RAG 是指通过整合从外部数据源获取的最相关信息来增强生成的输出。我们选择 ChatCAD+ 来实现医疗检索流程。ChatCAD+ 从医学词典中检索信息,其中包含 1972 年疾病和医疗程序的详细描述,包括它们的介绍、症状、诊断、治疗和原因,这些都来自专业医学参考 默克手册。根据用户的输入,该模型搜索与编码消息具有最高余弦相似性的医学主菜,并从医学词典中检索相关知识。
表 2:MMedAgent 与其他基线之间的性能比较。Cls. 代表分类。我们在最后一列中报告所有任务的相对分数和总体绩效的绝对 (abs.) 分数。“-” 表示对应模型不适用的任务。LLaVA-Med 是指仅以初始查询 X q 和图像 I q 作为输入的 60K-IM 版本,而 LLaVA-Med(测试中的工具)以 X q、I q 以及工具 X 结果的内部输出作为输入。4 实验设置
MMedAgent 使用 LLaVA-Med 60K-IM 初始化,使用 LoRA 进行 15 个周期的指令调整,并在两个 80G NVIDIA A100 GPU 上进行大约 72 小时。LoRA 的排名设置为 128,训练批次大小设置为 48。我们使用 AdamW 作为优化器,并使用 2e-4 峰值的余弦学习率计划。我们生成 48K 指令调整数据,包括 15K 增强型 VQA 指令,遵循 LLaVA-Plus 的方法,从 60K 内联提及中得出,10K 数据点用于检测,3K 用于 RAG,各 5K 用于分割、分类、MRG 和 G-Seg。数据源如 表 所示。
5 实验
我们对 MMedAgent 进行实验以回答三个研究问题:
(1) MMedAgent 在处理各种模式的不同医疗任务方面的表现如何(第 5.1 节)?(2) 指令调整的 MMedAgent 在开放式生物医学对话中是否表现出卓越的性能(第 5.2 节)?(3) MMedAgent 在调用工具或合并新工具方面的效率如何(第 5.3 节)?
5.1 各种医疗任务
5.1.1 评价标准
为了评估 MMedAgent 在各种复杂医疗任务上的性能,我们创建了一个由 70 个不同问题组成的评估数据集。对于这个数据集,我们最初从Merck诊疗手册中随机选择 10 个概念进行 RAG,并从各自的数据源中选择 60 张不同任务的未见图像。其中包括器官接地、疾病接地和细胞接地各 10 张图像,以及 20 张用于 MRG 的 X 射线图像和 10 张用于各种分类模式的图像。值得注意的是,VQA 任务评估显示在 Section 5.2 中。由于无法从语言上描述分割任务,我们提供 Section 5.1.3 中显示的定性结果。然后,我们使用 Section 3.2 中概述的相同提示来生成用于评估的 instruction-tuning 数据。随后,我们将数据分别馈送到 GPT-4o、MMedAgent 和其他基准测试中,以获得输出。GPT-4o 是新发布的多模态模型,具有很强的视觉理解能力。根据 OpenAI 的测试,它超越了 GPT-4 Turbo,推理速度更快。因此,GPT-4o 的输出可以被视为一个强大的基准。所有输出都将由 GPT-4 进行评估,并根据它们的有用性、相关性、准确性和详细程度以 1 到 10 的等级进行评分。我们为 GPT-4 提供图形标题,并包括 60K-IM 的内联提及,用于 VQA 任务。详细提示如图 所示。对于 MRG 任务,报表将作为输入图的标题。对于原始数据中没有标题的检测和其他任务,我们通过将图像与标签相结合来生成标题,例如,“显示肾脏器官的 CT 扫描”。根据 GPT-4o 的输出,我们提出了一个绝对分数,即 GPT-4 输出的分数,以及一个相对分数,定义为 S ∗ / S G P T − o ( % ) ,它表示其他 MLLM 引起的性能变化。此处,S ∗ 是指 ∗ 生成的输出分数,其中 ∗ ∈ {MMedAgent, LLaVA-Med,...}。具体来说,我们与医学领域的两种 MLLM 进行了比较,即 Med-Flamingo 和 RadFM ,以及三种通用 MLLM,LLaVA-34B、Yi-VL-34B 和 Qwen-VL-Chat。分数越高表示输出质量越好。在评估过程中,MMedAgent 会实时动态地选择、激活和执行工具,然后将从这些工具中获得的结果进行汇总以回答问题。
图 3:LLaVA-Med 和 MMedAgent 在不同任务中的定性比较。不需要的响应和所需的响应分别以红色和绿色突出显示。
5.1.2 实验结果
如表2所示,MMedAgent 在各种任务上的性能明显优于所有其他基线。请注意,RadFM 无法处理接地和 RAG 任务,而 Flamingo-Med 不适用于 RAG,因为它无法处理纯文本输入。据观察,MMedAgent 的总体相对分数 (109.48) 大大优于所有其他最先进的 MLLM,比 MMedAgent 的支柱 LLaVA-Med (60.68) 高 1.8 倍。我们还提出了 LLaVA-Med (Tool in Test),这是 LLaVA-Med 的增强版本,它结合了工具的内部输出,MMedAgent 在这种情况下保持了其卓越的性能。
此外,器官grounding、疾病grouding和 MRG 的分数超过 100%,表明 MMedAgent 在这些任务中超过了 GPT-4o。这些结果强调了 MMedAgent 在各种模式的各种医疗任务中的卓越效率。
5.1.3 案例研究
图3显示了 LLaVA-Med 和 MMedAgent 之间的详细视觉比较。鉴于用户对涉及分析图像的任务(例如分类、接地和分割任务)的查询,LLaVA-Med 仅生成简单的对话响应,而没有解决给定的请求(以红色突出显示),并且无法生成可视化结果。相比之下,MMedAgent 通过激活适当的工具、整合其输出、生成准确的响应(以绿色突出显示)和可视化结果来有效地解决这些问题。MMedAgent 对工具的精确选择和工具本身的优越性保证了这一点。当遇到基于语言生成的任务(即 MRG 和 RAG)时,LLaVA-Med 无法提供对图像的深入分析。但是,MMedAgent 通过使用专为这些任务设计的工具提供更直接、更准确的响应。
5.2 医疗VQA
在实施 VQA 任务时,MMedAgent 可以依赖其主干,即 LLaVA-Med ( Sections 5.2.1 ),并且可以通过利用其他 VQA 专家 ( 5.2.2 ) 进一步增强。
5.2.1 开放式医学对话
我们遵循 LLaVA-Med 中开放式医学对话的设置,并使用与 LLaVA-Med 相同的测试数据,包括 193 个新问题和 50 张来自 PMC-15M 的看不见的图像。该数据集包含 5 种模态,可分为两大类:对话问题和详细描述问题。我们在第 5.1.1 节中使用相同的相对分数作为评估标准。由于这是一项纯语言任务,因此我们选择 GPT-4 的输出而不是 GPT-4o 作为参考分数。
如 表3所示,从问题类型(对话和描述)和图像模态(X 射线、MRI、组织学、大体和 CT)的角度评估性能。在对工具学习数据集进行指令调整后,MMedAgent 在这两种类型的问题上都表现得更好。此外,MMedAgent 在除 MRI 之外的所有领域都优于 LLaVA-Med,证明了 MMedAgent 在开放式医学对话中的效率。
5.2.2 VQA 基准测试
MMedAgent 还根据四个 VQA 基准测试进行评估,包括 VQA-RAD 、 SLAKE 、 PMC-VQA 和 PATH-VQA 。我们为每个数据集构建指令调整数据,并使用这些新添加的 VQA 工具对模型进行微调。对于每个数据集,我们随机选择 4K 图像-文本对作为训练集,并随机选择 300 对进行评估。具体来说,VQA-RAD、PATH-VQA 和 SLAKE 各包含 150 个来自开集的样本和 150 个来自闭集的样本,而 PMC-VQA 包含 300 个封闭的多项选择题。图表明,MMedAgent 在所有 VQA 基准测试中都明显优于 LLaVA-Med。
图 4:MMedAgent 的可扩展性。
5.3 工具利用率
MMedAgent 在上述各种任务上的卓越性能取决于准确理解用户的输入并激活正确的工具。在训练 MMedAgent 15 个 epoch 后,工具选择准确率达到 100%,证明了 MMedAgent 能够无错误地选择合适的工具。
MMedAgent 的一个意义是它能够适应新工具。在这里,我们考虑两种情况。首先,当 MMedAgent 已经具备处理任务的高级工具可用时,过时工具的 API 名称可以无缝替换为新工具的 API 名称,无需额外的重新训练。其次,要将 MMedAgent 扩展到新任务,只需为此特定任务生成一小组指令调整数据并相应地微调代理,而不是从头开始重新训练它就足够了。为了验证这种能力,我们模拟了一个名为 “伪工具” 的新工具,生成了一个额外的 5K 指令调整数据(在第 5.1.1 节之后),并创建了 30 个看不见的不同问题来评估。我们利用相同的训练设置在一个 80G A100 GPU 上以较小的学习率 1e-6 和批量大小 10 微调 MMedAgent 。如图4所示,在 2K 步长内选择新刀具的准确率提高到 100%,而不会损害选择旧刀具的性能。
6 结论
我们提出了 MMedAgent,这是第一个多模态医疗 AI 代理,它能够无缝利用各种医疗工具来处理不同成像模式的广泛医疗任务。我们创建了一个指令调优数据集,MMedAgent 利用它来学习调用各种医疗工具并聚合工具的结果。综合实验表明,MMedAgent 在许多医疗任务中明显优于开源基线,甚至超过了 GPT-4o。此外,MMedAgent 可以有效地与新工具集成,同时保持激活以前学习的工具的能力。
7 限制
我们的工作目前仅限于五种模式的七项任务。由于需要广泛的领域知识,应该包含更专业的工具,并且 MMedAgent 的可扩展性允许将来包含更强大的工具。此外,医学领域中更多的通才 LLM 可能会成为增强 MMedAgent 的更强大支柱。
参考文献
哈佛医学院&辉瑞推出基于知识图谱的复杂医学问答智能体MedAI
医疗保健和医学领域的大模型综述 - 斯坦福&加州大学
喜讯|柯基数据中标两个“大模型+医学”国自然面上项目
医学GraphRAG:通过知识图谱检索增强实现安全医疗大语言模型 - 牛津大学最新论文
消除幻觉的知识图谱增强医学大模型 - "Nature"NPJ数字医学杂志
Almanac: 一种用于临床医学的检索增强RAG大语言模型(2023vs2024版)
“大模型+知识图谱”双轮驱动的医药数智化转型新范式-OpenKG TOC专家谈
医学AI专家Anthropic CEO万字长文预测人工智能将消除癌症、人类寿命翻倍,世界变得更美好
医疗保健和医学领域的大模型综述 - 斯坦福&加州大学
OpenAI o1模型的医学初步研究:我们离人工智能医生更近了吗?
数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。
新浪微博:@数据派THU
微信视频号:数据派THU
今日头条:数据派THU