论文研读: LLaVA-Med, 用一天时间微调7B大模型,输出医学影像诊断

论文来自:

<LLaVA-Med: Training a Large Language-and-Vision
Assistant for Biomedicine in One Day>,2023, NeurIPS.

1. 概述

1.1 背景和动机

通用领域的大规模视觉-语言模型(VLM)虽能处理日常图文,但在医学影像场景下往往缺乏专业性。现有医学视觉问答(VQA)大多将问题视为分类任务,无法满足“开放式”对话需求。因此,通过LLM微调的生物医学聊天机器人(Biomedical Chatbots)具备研究价值。

LLaVA‑Med 的创新不在于改造模型,而是通过设计微调数据集,让7B的LLM具备医学问答与对话水平。

1.2 两类跨模态任务

  • Image Captioning(图像字幕生成)

    • 定义: 为给定的图像自动生成一段自然语言描述性的文字(即字幕或标题),来概括图像的内容。
    • 输入: 一张图像 ; 输出: 一段描述图像内容的自然语言文本。
    • 目标: 生成一段流畅、准确且与图像内容相符的文字描述 (capturing the main objects, attributes, and their relationships in the image.)
    • 评测方法:BLEU(文本相似度指标评估)
  • Visual Question Answering (VQA, 视觉问答)

    • 定义: 根据用户提出的关于图像的自然语言问题,对给定的图像提供一个准确的自然语言回答。
    • 输入: 一张图像和一个关于该图像的自然语言问题。输出: 关于图像中问题的自然语言答案。
    • 目标: 理解图像内容以及问题的含义,并结合两者进行推理,给出准确、简洁的答案。这通常需要模型具备识别图像中的对象、属性、关系,甚至需要一定的常识知识。
    • 评测方法: Accuracy(答案准确性,大模型评估)

1.3 医学图像介绍

1.3.1 Chest X-Ray(CXR,胸部 X 光片)

  • 利用低剂量 X 光透过人体,根据组织密度在底片上形成衬度差异。

  • 骨骼高度吸收显白,肺野低密度显暗。

  • 穿透胸部来生成心脏、肺、骨骼(如肋骨、胸骨、脊柱)和胸部血管的二维图像。

主要用于诊断与胸部相关的疾病,如肺炎、肺结核、气胸、肺水肿、心脏扩大等。

1.3.2 CT (Computed Tomography, 计算机断层扫描)

  • X 光源与探测器环绕身体旋转,获取多个投影后重建出连续体层切片

  • 提供比 CXR 更精细的断层/横截面切片的解剖信息。比CXR更清晰、更详细的骨骼、血管和软组织图像。

  • CT 扫描可以从不同角度获取一系列图像,由计算机重建出身体内的立体图像。

用于检查盆腔、胸腹部、颅脑、骨骼、血管及肿瘤病灶的三维定位与评估;常用于急诊创伤、肺结节筛查、肝脏病变检测等 。

1.3.3 MRI (Magnetic Resonance Imaging, 磁共振成像)

  • 利用强磁场与射频脉冲使人体内水氢核共振,再接收松弛信号重建图像。

  • 相比 CT,MRI 等电离辐射(X 射线),MRI软组织对比度更高。

检测大脑、脊髓、神经、肌肉、韧带、盆腔等软组织结构。常用于检查神经系统疾病、肌肉骨骼问题、肿瘤以及其他软组织异常。

1.3.4 Pathology Images (病理)

在显微镜下以高倍放大观察细胞形态与组织结构,用于肿瘤分级、炎症或感染诊断等, 可分为两种:

  • 组织病理(Histopathology):

将活检或切除的组织做石蜡包埋、切片、染色(如 H&E)。

  • 宏观病理(Gross Pathology):

对手术标本或尸检标本进行肉眼拍照,记录组织或器官的大小、形状、颜色、质地及病灶分布。

2.数据集 PMC‑15M

2.1 简介

PubMed Central Open Access 是开源医学/生物论文集合,这些文章中通常会包含图表、组织病理图、CT/MRI 等医学影像,以及作者写的图注和正文引用。

PMC‑15M 是本文贡献的数据集,是当前规模最大、覆盖最广的生物医学图文对数据集之一,涵盖大量真实科研论文中的图像、图注(caption)以及正文上下文句子(citances)。

PMC‑15M 从PubMed Central (PMC) 全文数据库中自动抽取得到的一个大规模《图像–文本》数据集,包含超过 1500 万对图像和相应的文字描述。

2.2 构建方法

该数据集由GPT‑4 自动生成,由于GPT‑4 只接收文字,为模仿真实“看图问诊”效果,对GPT-4输入图像、其Caption及上下文,让GPT-4输出 2–4 轮问答即:

  • 输入
- 是对每篇文章抽取所有包含图像的图(figure)
- 抓取对应的 图注(caption)
- 抽取正文中提及图号的语句(称为 in-line mentions 或 citances);

另外还有以下特性:

  • 这里从 PMC‑15M 中筛选只包含单图(single plot)的论文图像,确保一张图片对应一个图注。
  • 模态均衡:按 CXR、CT、MRI、组织病理、宏观病理 五大常见模态,各采约 12 000 对,合计 60 000 对 (图像+图注)。

将上述内容形成一个三元组:[图像, 图注, 上下文]。

  • 输出

2-4轮问答,用户问、助手答,并交替出现,JSON格式如下:

{
  "image": "path/to/image.png",            // 图像路径
  "caption": "Figure caption text...",     // 图注
  "context": "Additional sentences...",     // (可选)原文中提及该图的上下文句子
  "conversations": [
    {
      "from": "human",
      "value": "Where is the lesion located?"
    },
    {
      "from": "gpt",
      "value": "The lesion is located in the posterior aspect of the right upper lobe of the lung."
    },
    {
      "from": "human",
      "value": "Is it extending into the chest wall?"
    },
    {
      "from": "gpt",
      "value": "Yes, the CT scan suggests..."
    }
    // …更多轮对话
  ]
}

2.3 数据量

有三个量级用于实验比较,前两个仅包含caption, 最后一个包含论文中对该图的描述(即上下文):

  • 10K

  • 60K

  • 60K-IM (inline mentions 即包含上下文语句)

具体案例如图所示:
在这里插入图片描述

  • 上半部分是GPT-4的输入:

从PubMed Central 某篇论文中提取的生物医学图像,及其Caption, 及论文中提及该图像的上下文(figure mentions)

  • 下半部分是从GPT-4的输出

生成的对话数据,通常包含2-4轮对话

2.4 数据集分析

数据的统计分析有三个子图:

在这里插入图片描述

分别从<语言学特征>和<领域分布>两个角度展示了数据的结构和覆盖范围:

  • a图

是Instruction指令的(动词-名词)统计。其中,内圈是动词(verbs),外圈是与之搭配的名词(nouns)。

这些是用户在训练数据中对图像发出的“请求”或“任务”类型。

例如:

内圈动词 “describe” 对应的外圈名词可能是:image, finding, appearance;

“explain” 可能与 difference, improvement 等词组合,说明用户请求模型“描述图像”、“解释发现”、“说明差异”等,反映出训练数据中任务的多样性和实际应用场景的覆盖面。

  • b图

是Responses,即助手的回答(动词-名词)对,与(a)结构一样,但这是 GPT-4 回答中最常出现的动词-名词对。

展现了模型生成回复中常用的表达方式。

例如:回答中常用动词如:show, indicate, suggest, represent;名词如:lesion, tissue, mass, region, finding, presence。显示出模型回答中常提及病变、组织结构、异常区域等关键医学实体,具备一定的专业深度。

  • c 图

问答对在五个医学子领域的分布,横轴是五个最常见的医学成像模态(即图像来源):

- Chest X-Ray

- CT(Computed Tomography)

- MRI(Magnetic Resonance Imaging)

- Histology(组织病理)

- Gross Pathology(大体病理图像)

每类展示了,图像数量,相应生成的 QA 对数量,这里某些图像应该有多轮对话,覆盖多种医学影像类型。

3.模型微调

论文比较的方法是Visual Med‑Alpaca,相比Visual Med‑Alpaca 仅用 54K 有限领域样本,LLaVA‑Med 用了 60K + 600K 两级数据,覆盖多类图像数据。

与LLaVA类似,采用两阶段微调策略,且为每个阶段制作对应微调数据集:

3.1 概念对齐(Concept Alignment)

即让模型理解图像所映射的医学术语,实现图像描述

从PMC-15M(1500万+生物医学图文对)中抽取 60 万(600K)对图文,设定“请描述这张图像”类指令,只更新图像→文本映射层,使模型快速学会医学术语对应的视觉特征。

  • 符号表示

这里设生物医学图像为 X v X_v Xv, 对应的人类描述(Caption)为 X c X_c Xc,并设计一个图像表述指令 X q X_q Xq (即:“请描述这张图像”),这里一轮指令微调(Instruction)的样本为:

Human: X_q, X_v <stop> \n 
Assistant: X_c <Strop> \n
  • X q X_q Xq的两套问题模板:

30 词阈值由来:在 PMC‑15M 中约25%的图注短于 30 词,用这一截断就能自然区分“短小概括 vs. 详细叙述”的训练样本 ,因此:

  • 对小于 30 词的短图注,采“简洁描述”问题,让模型既学会用一句话概括

在这里插入图片描述

  • 对30 词以上的长图注,采“详细描述”问题,让模型学会展开多层次细节
    在这里插入图片描述

  • 阶段任务

    • 快速扩展医用视觉词汇:人类医生在写图注(Caption)时会用到大量专业术语 (如“ground‑glass opacity”、“pneumothorax”)

    • 模型通过“看到图像→输出图注”把这些新词和对应视觉特征对齐。

    • 均衡复杂度与效率:600K 样本覆盖了 PMC‑15M 里丰富的病症、模态、解剖结构,足够多样;却又控制在一次 epoch 即可完成的规模,保持训练时间可控(约 7 h on 8×A100) 。

  • 模型冻结策略

    • 此阶段冻结视觉编码器和语言模型,仅更新“连接投影层”(将视觉特征映射到语言前缀的线性层),网络学到的是“如何把新视觉概念映射到已有词向量空间”,无需耗费资源微调整个大模型。

    • 模型微调1轮后,能对从肺部 X 光到显微病理的各种医学影像做出专业的粗粒度描述。后续阶段会在此基础上教它做开放式、多轮对话式的问答。

3.2 开放式指令微调(Instruction Tuning)

这一阶段的目标是让模型学会按照各种用户指令,以对话形式“看图答题”。

  • GPT4生成数据集

借助 GPT-4 对图文对进行“自指导”以生成多轮问答式指令数据集(60K 样本),再用此数据集完成端到端微调,次步仅冻结视觉编码器。

- 数据集:从 PMC‑15M 中筛选只包含单图(single plot)的图像,确保一张图片对应一个图注。

- 模态均衡:按 CXR、CT、MRI、组织病理、宏观病理 五大常见模态,各采约 12 000 对,合计 60 000 对 (图像+图注)

由于图注(Caption)往往过简,不足以支撑多轮对话,从论文正文中,抓取“Figure X 被提及那几句话”(citances),一并作为 GPT‑4 的 prompt 上下文,让它“假装看到了图像”能多角度发问和答。

  • Instruction‑Tuning

上一阶段微调后的模型,缺乏交互性,不能应对用户提问。
所以需要多轮、开放式问答的数据,让模型学会

“接收用户问题→结合图像信息→给出针对性回复”

3.3 微调方法

模型训练流程的概览图如下:

在这里插入图片描述

图中展示论文提出方法是如何将通用多模态模型(LLaVA)迁移并适配到生物医学领域。

  • 微调前

模型初始化为(LLaVA),即开源的通用多模态模型 LLaVA (包括 CLIP 图像编码器和 Vicuna 语言模型)。

该模型原本是为通用图像-语言任务训练的,对医学图像不熟悉。

微调平台:8张 A100 40GB GPU

  • 1阶段微调 (Stage 1 ,Optional)

    • 训练时间:(600K样本,1 epoch)约 7小时

    • 目标:医学概念对齐(Biomedical Concept Alignment),

    • 数据量:600K 图像-图注对(来自 PMC-15M)

    • 指令简单:类似 “请描述这张图像”

    • 模型训练:投影层

    • 训练任务:预测原始图注(Caption)

让模型对“肺部、肿瘤、病灶、染色”等医学术语和图像内容建立初步对齐感知;
该阶段对已经有一定视觉-语言对齐能力的模型是可选的(非必要)。

  • 2阶段微调 (Stage 2 — Curriculum Learning from LLaVA to LLaVA-Med)

    • 训练时间:(60K样本,3 epoch)约 8小时

    • 数据量:60K 或 60K-IM(带 inline mentions)指令数据

    • 数据形式:多轮问答(instruction-following)

    • 模型训练:冻结视觉编码器, 微调语言模型 + 投影层

    • 训练任务:学会多轮问答、根据医学图像指令做推理、判断、解释

  • 微调后(模型评估)

    • 多模态对话能力:构建 193 问评测集,GPT-4 作为参考,LLaVA-Med 在“开放式对话”得分≈50%,远超原版 LLaVA 。

    • VQA 基准:在 VQA-RAD、SLAKE、PathVQA 三项公开数据集上,对比有监督 SOTA 方法,LLaVA-Med 在若干指标上(如闭集问答准确率、开放式问答召回率)实现新高 。

  • 微调后(适配下游任务):

    • Medical Visual Chat(多轮医学图像对话任务)

    • Medical VQA:

      • VQA-RAD(放射学图问答)

        • 图像类型:X光、CT、MRI

        • 问题类型:开放式 + 是非题 + 问答题

        • 数据规模:

          • 图像数量:315 张

          • 问题数QA(总):3,515 , (训练集: 1797,开放型/封闭式问题各一半)

          • 特点:大多数是短语或一句话, 适合小模型训练(精调)

      • SLAKE (中文-英文双语数据集)

        • 图像类型:X光为主,也有CT等

        • 特点:每个问题配有对应的语义标签 + 可解释图谱(知识增强)

        • 数据规模:

          • 图像数:642 张

          • 问题数:约7000 个, (训练集:4,919 , 开放型问题为主)

        • 特点:多语言推理,训练跨语言能力

      • PathVQA(病理图像问答)

        • 图像类型:病理切片、组织学图像

        • 问题类型:视觉结构识别 + 医学概念推理

        • 数据规模:

          • 图像数:4,998 张

          • 问题数:32,799 个 (训练集19,755,开放型/封闭式问题各一半)

        • 复杂任务建模(大数据建模)

文中在附录有列出表格:

在这里插入图片描述

4.实验解读

4.1 定量分析

4.1.1 多轮对话的主观评分(表1)

通过GPT-4给不同结果打分,根据专业性、准确性、流畅性、合理性进行主观打分,具体结果如下:

在这里插入图片描述

4.1.2 真实数据集的监督微调(表3)

该部分在:

- 开放式问题(Open)上评估 Recall:回答中是否覆盖了 Ground Truth 的关键词(即信息召回情况)。

- 封闭式问题(Closed), 即选择类问题,评估准确率Accuracy,即选择题答对的次数。

有以下两个结论:

    - 从基础 LLaVA 到 LLaVA-Med 有显著提升,加入 inline mentions(IM) 更进一步提升。

    - 微调 9 epoch 后几乎翻倍,达到 73.9 的平均 recall,体现出训练数据 + 精调的巨大效果。

在这里插入图片描述

这里可以发现, 在封闭式问题上,模型回答准确率高达90%

4.1.3 微调各阶段与迭代次数影响(表4)

图a中:

- 1阶段微调数据来自 PubMed(image + caption)
- 2阶段微调数据来自GPT-4合成(Instruct 数据)
- BioMed 的视觉编码器性能最佳

图b中:

- 无1阶段,性能影响不大
- 仅在视觉编码器训练时,1阶段能提升性能

在这里插入图片描述

4.1.4 数据量与迭代次数(表11)

- 不同量级数据的训练时间、效果(VQA-Score)如表11-a所示,总结出如下规律:

    - 随着数据量增大,性能在提升
    - 但增加迭代次数,提升不明显

	结论是,指令数据的质量,包括“语义丰富性”(如本数据的上下文),比重复迭代重要。

- 对已有模型(LLaVA-Med stege-2-60K-IM)继续用真实VQA数据集微调(VQA-RAD, SLAKE, PathVQA),

	其结果如图11-b所示,经过两阶段微调后的分数是41.22,继续用真实数据集微调,在第9次迭代(epoch)时,性能接近饱和 (分数为 73.90), 之后出现过拟合。

在这里插入图片描述

4.2定性分析

4.2.1 零样本提示(Zero-prompt, 表2)

不输入图注(caption),仅输入图像及问题,测试LLaVA的性能,结果如下:

其中GPT-4 不能输入图像,这里注入图注和上下文,评估结果如下:

  • LLaVA: 无法理解图像
  • LLaVA-Med: 理解图像且具有专业性
  • 内容准确反映图像,但不是看图得到(通过图注得到),仅作为参考答案

在这里插入图片描述

4.2.2 中文理解能力(表12)

用Slake Bilingual数据集样本测试未经训练的中文训练样本,结果如图:

在这里插入图片描述

这里只是粗略判断图像成像类型(CT or T1 MRI), 证明模型具备跨语言理解能力。

4.2.3 CT-多类对话(表13)

图像是一张医学影像(腹部 + 骨盆的CT图像,冠状位 coronal view)。

问题是2轮对话形式,测试模型是否能:

  1. 识别图像类型和视角(结构理解)

  2. 识别图像中是否存在异常(医学推理)

这里LLaVA-Med:

  • 成功识别出具体异常(盆腔肿块)

  • 使用临床术语(tumor, cyst, mass)

  • 表达有医学语气(“need further tests”)

在这里插入图片描述

LLaVA-Med 在结构识别和医学推理方面的回答明显优于原始 LLaVA。这进一步验证了论文核心观点:

通用视觉语言模型(LLaVA)通过在专业医学指令数据上精调,能显著获得临床推理和对话能力。

4.2.4 腹部MRI多伦对话 (表14)

图像中带有一个 白色箭头,指向胰腺头部的囊性病变

  • 问题 1:“What is the white arrow pointing to?” 说明模型具有图像定位 + 医学词汇理解能力

  • 问题 2:“Could this be a mucinous cystic neoplasm?” 说明模型能进行假设性医学判断

  • 问题 3:“Describe the appearance of the mucinous cystic neoplasm” 模型完成了一次类比式专业解释,贴近临床医生的表达

表14 表明 LLaVA-Med 在真实图像基础上,能与用户就疾病识别、鉴别诊断、成像特征解释进行自然、专业的多轮交流。

4.2.5 胸部X光 (Chest X-ray, 表15)

图中表现为胃部扩张(dilated stomach)

  • 问题 1:“What is the problem with the stomach in this image?”

模型准确识别图像中的主要异常:dilated stomach,提出了多个可能病因:梗阻(obstruction)、动力障碍(motility issues),符合实际临床解读

  • 问题 2:“How is it affecting the diaphragm?”

明确指出病变与膈肌位移之间的解剖学因果关系, 理解到位:胃扩张 → 膈肌推移 → 影响呼吸功能

LLaVA-Med 总结:

  • 解剖定位理解 正确认识“胃部扩张”位置和特征,能完成图像结构间关系推理 (胃部→膈肌→呼吸系统)的连锁反应

  • 对病因+病理机制推断 提出合理诊断路径,解释症状来源,临床风格语言 使用临床术语与分析语气,自然可信

  • LLaVA-Med 不仅能识别医学图像中的异常结构,还能推理这些异常对周边解剖结构和生理功能的影响,

相比表(13/14),表15增加了:“结构-功能推理”的维度:
在这里插入图片描述

5.其他

5.1 调用API 生成数据集

论文的图4展示了调用api生成数据集的模版:
在这里插入图片描述

大概代码如下:

messages = [
    {"role": "system", "content": "...设定角色和规则..."},
    {"role": "user", "content": "...示例问题1..."},
    {"role": "assistant", "content": "...示例回答1..."},
    {"role": "user", "content": "...新图像描述(图注)..."}
]

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=messages,  #  构造的内容
    temperature=0.7,
    max_tokens=1000
)

reply = response["choices"][0]["message"]["content"]
print(reply)

构造内容如下:

{
  "image": "figure_4.png",
  "caption": "Figure 4: Contrast-enhanced CT of the abdomen...",
  “Inline”: {“xxx1”, “xxx2”}
  "conversations": [
    {"from": "human", "value": "What is shown in this image?"},
    {"from": "gpt", "value": "The image shows a contrast-enhanced CT..."},
    {"from": "human", "value": "Is the lesion well-defined?"},
    {"from": "gpt", "value": "Yes, the lesion appears to have a smooth border..."}
  ]
}

具体实例如论文图5:

在这里插入图片描述

5.2 后续作品

  • MEDTRINITY-25M

《A LARGE-SCALE MULTIMODAL DATASET WITH MULTIGRANULAR ANNOTATIONS FOR MEDICINE》,ICLR, 2025

该方法增大了数据量,将桥接模块加入Q-Former / projector),具体表现如下:

阶段		训练模块					冻结模块			主要作用
阶段一	视觉编码器 + 投影层		语言模型			图文对齐表征
阶段二	语言模型 + 投影层  		视觉可选冻结		图文生成指令理解
阶段三	语言模型 + 投影层			多数视觉模块		强化任务表现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值