(2024|Nature Medicine,生物医学 AI,BiomedGPT)面向多种生物医学任务的通用视觉-语言基础模型

BiomedGPT: A generalist vision--language foundation model for diverse biomedical tasks

目录

[1. 摘要](#1. 摘要)

[2. 引言](#2. 引言)

[3. 相关研究](#3. 相关研究)

[3.1 基础模型与通用生物医学 AI](#3.1 基础模型与通用生物医学 AI)

[3.2 生物医学 AI 的局限性](#3.2 生物医学 AI 的局限性)

[3.3 BiomedGPT 的创新点](#3.3 BiomedGPT 的创新点)

[4. 方法](#4. 方法)

[4.1 架构及表示](#4.1 架构及表示)

[4.1.1 模型架构选择](#4.1.1 模型架构选择)

[4.1.2 BiomedGPT 架构](#4.1.2 BiomedGPT 架构)

[4.1.3 统一的输入-输出表示](#4.1.3 统一的输入-输出表示)

[4.2 任务](#4.2 任务)

[4.2.1 预训练任务](#4.2.1 预训练任务)

[4.2.2 微调和下游任务](#4.2.2 微调和下游任务)

[4.3 训练](#4.3 训练)

[4.3.1 模型预训练](#4.3.1 模型预训练)

[4.3.2 模型微调与推理](#4.3.2 模型微调与推理)

[4.3.3 指令调优](#4.3.3 指令调优)

[4.4 模型扩展](#4.4 模型扩展)

[5. 结果](#5. 结果)

[5.1 BiomedGPT 在多模态任务上的表现](#5.1 BiomedGPT 在多模态任务上的表现)

[5.2 迁移学习和零样本能力](#5.2 迁移学习和零样本能力)

[5.3 人类专家评估](#5.3 人类专家评估)

[6. 讨论](#6. 讨论)


1. 摘要

现有的生物医学人工智能(AI)模型通常针对特定任务或模态,难以适应真实世界的多样化需求。BiomedGPT 是首个开源、轻量级的通用视觉-语言基础模型,能够同时处理多种生物医学任务。相比于现有的封闭源或计算密集型的生物医学 AI 解决方案,BiomedGPT 具有更广泛的适用性和更低的计算成本。

实验结果表明,BiomedGPT 在 25 项实验任务中,有 16 项超越现有最优模型(SOTA) ,同时在放射学视觉问答(VQA)、报告生成、文本摘要等任务上表现优异 。在医疗问答任务中,其错误率仅为 3.8% ,在撰写复杂放射学报告方面的错误率为 8.3%,在报告摘要方面的表现几乎等同于人类专家。

本研究证明了高效训练和多模态数据的结合能够显著提升生物医学 AI 的实用性

2. 引言

背景问题:

  • 现有生物医学 AI 主要是专用专家系统,仅适用于单一任务或模态,限制了其在临床中的广泛应用。
  • 真实医疗环境需要 **多模态数据(文本、图像、基因组数据等)**的整合和分析,以支持精准医学(Precision Medicine)。
  • 过度专注于单一任务的 AI 无法提供全面的临床洞察,导致在实际应用中效率受限。

解决方案:

  • 通用生物医学 AI(Generalist Biomedical AI) 是未来发展方向,能够跨任务处理不同类型的医疗数据。
  • BiomedGPT 作为首个开源、轻量级的通用生物医学 AI 模型,基于 Transformer 结构,支持多任务处理,能够在多种生物医学任务上取得良好表现。

3. 相关研究

3.1 基础模型与通用生物医学 AI

现有的 AI 模型,如 GPT-4、PaLM-E、Med-PaLM M ,在通用任务中表现优秀,但大多数仍主要用于文本处理 ,缺乏对医学图像、病理学数据、基因组信息的综合处理能力。

传统的多模态学习方法,如 CLIP(OpenAI)LLaVA-Med ,主要针对视觉-文本任务,但缺乏医学领域的专业微调。

3.2 生物医学 AI 的局限性

目前的大多数生物医学 AI 模型仅针对单一模态(如放射学或病理学),在跨模态任务上的泛化能力较弱。

现有模型的封闭性(如 Med-PaLM M 并未开源)限制了学术界和行业的广泛应用。

3.3 BiomedGPT 的创新点

开源透明 :不同于 Med-PaLM M,BiomedGPT 完全开源,为研究人员和从业者提供了更自由的开发环境。

轻量级设计:BiomedGPT 体积小,计算成本更低,但依然能在多个任务上达到或超越 SOTA 级别。

跨模态能力 :支持 文本、放射学影像、病理图像、EHR(电子健康记录)、基因组数据等多种医疗数据类型。

图 1:BiomedGPT 可以处理多种模态并执行多种任务

(a) BiomedGPT 主要关注视觉和文本输入 ,但也可以通过序列化 处理表格数据

(b) BiomedGPT 支持的下游视觉语言任务示例展示了其多功能性。 可以通过轻量级、特定于任务的微调来合并其他任务以满足进一步的临床需求。

(c) BiomedGPT 的临床相关用例示例包括输入可能是图像和文本仅文本,并且模型通过生成响应("A")来响应查询("Q")。 由于其统一的框架设计和对生物医学数据的全面预训练,BiomedGPT 具有高度适应性,可应用于各种下游任务。

图 2:BiomedGPT 概述:工作流程、性能和预训练数据集

(a)BiomedGPT 如何处理 多模态输入 并执行各种 下游任务的图形说明。每个任务的预期输出形式由向模型提供特定指令来确定。

(b)比较性能分析:该图将 BiomedGPT 的成就与之前的 SOTA 结果和 Med-PaLM M (12B) 进行了对比。评估指标包括:

  • 图像分类、医学语言推理和视觉问答 (VQA) 的准确性(以 SOTA 结果为基准);
  • 用于图像标题(captioning)的 CIDEr;
  • 用于文本摘要的 ROUGE-L;
  • 用于 VQA 的加权 F1 分数(与 Med-PaLM M 相比);
  • 用于乳房肿块和钙化分类的 F1-macro(也与 Med-PaLM M 相比)。

(c)包括图像标题(captioning)和 VQA 在内的 预训练数据集的分布,作为视觉和语言数据集、对象检测数据集和用于掩蔽图像建模(masked image modeling)的纯图像数据集。

(d)纯文本预训练数据集中每句话的 单词数密度图

(e)与规模相关的性能比较:BiomedGPT 在 SLAKE VQA 数据集上表现出色,即使其参数明显少于同类产品。

扩展数据图 2:BiomedGPT 模型配置和架构概览

(a)BiomedGPT 的详细模型配置

  • 其中,"#" 表示数量。"Att.","Enc."和" Dec." 分别表示注意、编码器和解码器。
  • 隐藏(Hidden)大小是嵌入的大小以及每个自注意和前馈层的输出大小。
  • FFN 的第一层将隐藏大小扩展为中间(Intermediate)大小,第二层将其收缩回隐藏大小。这种扩展和收缩使网络能够创建更复杂的表示。
  • 在预训练阶段,图像处理涉及将图像调整大小和裁剪为不同的分辨率,对应于表中列出的输入大小。
  • 需要注意的是,在微调和推理阶段,BiomedGPT 的输入分辨率可以根据任务的具体要求灵活调整。

(b)BiomedGPT 的神经网络架构,包括双向编码器块和自回归解码器块。不同模型规模的块数不同。

扩展数据图 3:BiomedGPT 中关键组件的图形说明

(a)BiomedGPT 中的头部缩放多头注意模块。可训练参数 γ_h 在每个头部的输出投影之前应用。

(b)位置嵌入和输入嵌入

  • 我们没有将绝对位置嵌入(absolute positional embedding) P_i 添加到输入嵌入 I_i(
  • 而是分别使用不同的投影矩阵计算位置相关性和输入相关性,并在自注意模块中将它们加在一起()。

(c)相对位置偏差的图形说明。这种归纳偏差 𝐵_{𝑗 − 𝑖} 是可学习参数,可以看作是相对位置 𝑗 − 𝑖 的嵌入,它被注入到 Query-Key 乘积中:(1 / √d) · (I_i·𝑊^Q)(P_i·𝑊^K) + 𝐵_{𝑗 − 𝑖},并在所有层中共享。

(d)基于 trie 的波束搜索示例:沿着 "Lipid" 和 "breakdown" 的路径,BiomedGPT 在计算目标token "in" 的对数概率时将所有无效 token("mechanism" 和 "pathway")的对数设置为 -∞。值得注意的是,基于 trie 的搜索也应用于微调阶段的验证阶段,以加速(在我们的实验中,速度提高了约 16 倍)。

4. 方法

4.1 架构及表示

4.1.1 模型架构选择

目前基础模型架构主要分为三类:

1)仅编码器(Encoder-only)

  • 代表模型:BERT 及其变体
  • 优势:能够提取文本特征,适用于分类任务
  • 局限性:缺乏文本生成能力,难以适应多模态任务

2)仅解码器(Decoder-only)

  • 代表模型:GPT 系列
  • 优势:强大的文本生成能力,适用于问答和报告生成
  • 局限性:无法高效地处理医学图像等多模态数据

3)编码-解码(Encoder-Decoder)

  • 代表模型:T5、BART
  • 优势:
    • 同时具备编码和解码能力,适用于多模态任务
    • 能够有效处理文本、图像和结构化数据
  • 局限性:需要更复杂的训练方法以优化跨模态学习能力

4.1.2 BiomedGPT 架构

BiomedGPT 是通过对 损坏的文本 使用 BERT 样式的编码器GPT 样式的从左到右的自回归解码器 来实现的(采用 Transformer 编码-解码(Encoder-Decoder)架构)。

所有这些模型都依赖于具有广泛使用的 **多头注意机制(扩展数据图 3a)**的 transformer,该机制允许模型共同关注来自不同表示子空间的信息。

为了提高预训练中的收敛效率和稳定性,在每一层添加了 三个归一化操作(扩展数据图 2b)

  • post-attention Layer Norm (LN) 、
  • post-first-FFN LN
  • head-wise scaling within self-attention

为了对位置信息进行编码,我们为文本和图像合并了两组 绝对位置嵌入(absolute position embeddings) 。我们没有仅仅将这些嵌入与 token 和 patch 嵌入相结合,而是实现了一种 解耦方法 来分离位置相关性**(扩展数据图 3b)**,这可能会给注意力带来不必要的随机性,并进一步限制模型的表现力。

此外,我们还结合了 文本的 1D 相对位置偏差图像的 2D 相对位置偏差(扩展数据图 3c)

为了研究 BiomedGPT 在不同规模的任务中的表现,我们明确设计了 三个缩放模型 ,即 BiomedGPT-S(33M)、BiomedGPT-M(93M)和 BiomedGPT-B(182M) 。每个模型的配置在 扩展数据图 2a 中有详细说明。

图 6:消融研究对预训练数据集和任务多样性影响的结果以及 BiomedGPT 设计的图形演示。

(a)不包括特定任务的性能比较。这里使用的指标是放射学 VQA、医学语言推理和图像分类的准确性、放射学字幕的 CIDEr、医学问题总结的 ROUGEL-L。

(b)BiomedGPT 在四个数据集上的跨域可迁移性。RadGPT 是 BiomedGPT 的一种变体,但已使用仅放射学数据进行了预训练。此外,SLAKE-MRI 和 SLAKE-CT 是 SLAKE 数据的模态特定子集。

(c)BiomedGPT 在三种放射学模态/数据集中的域内可迁移性

(d)BiomedGPT 中用于预训练和推理的统一词汇表的描述

  • 分别通过 Pix2Seq 和 BPE 对边界框和文本进行标记化(tokenization)。
  • 有三种类型的标记(token):来自冻结的预训练标记器(例如 VQ-GAN)的位置标记、文本标记和图像标记。
  • 我们还展示了预训练中的掩蔽图像建模的图形说明,旨在通过重建掩蔽的 patch 来学习表示。

4.1.3 统一的输入-输出表示

BiomedGPT 采用 统一的 Token 表示方法 ,为所有多模态输出的 token 构建一个 统一的词汇表(图 6d),实现跨模态数据的统一编码:

  • 文本数据 :使用 BPE(Byte Pair Encoding) 进行编码
  • 医学图像 :采用 VQGAN(Vector Quantized Generative Adversarial Network) 进行量化编码。图像中对象的边界框以整数格式表示为位置 token 序列

4.2 任务

4.2.1 预训练任务

预训练过程中,BiomedGPT 采用了多种任务来提升其泛化能力:

1)视觉任务

掩码图像建模(MIM):采用块状掩码(block-wise masking)方法,使模型预测被遮挡区域的图像内容。

图像填充(Image Infilling):生成缺失部分的图像像素编码。

目标检测(Object Detection, OD):模型学习生成图像中目标的边界框,其任务指令为:"图像中有哪些物体?"。

2)文本任务

掩码语言建模(MLM):类似于 BERT 的方法,通过随机屏蔽部分文本并让模型预测完整文本。

3)多模态任务

图像描述(Image Captioning):任务指令:"这张图像描述了什么?"。

视觉问答(VQA):任务指令为相应的具体问题,如:"{Question}"。

4.2.2 微调和下游任务

在 BiomedGPT 的微调阶段,除了预训练任务中的图像描述和 VQA 外,还包括以下额外任务:

图像分类(Vision-only):任务指令:"这张图片描述了什么?"。

文本摘要(Text Summarization):任务指令:"'{Text}'的摘要是什么?"。

自然语言推理(Natural Language Inference, NLI):任务指令:"{文本1} 是否能推断出 {文本2}?"。

4.3 训练

4.3.1 模型预训练

1)训练方法

BiomedGPT 采用序列到序列(seq2seq)学习方法进行预训练。

给定输入序列 token x_{i,b},模型的通过自回归地最小化如下目标进行预训练:

2)训练超参数

优化器:AdamW

学习率 :1e-4,采用 线性衰减调度(linear decay scheduler)

正则化:Dropout = 0.1,权重衰减 = 0.01

数据增强 :采用 随机裁剪(Random Cropping)、随机翻转(Random Flipping)

4.3.2 模型微调与推理

微调策略: BiomedGPT 采用 多任务微调(Multitask Fine-tuning),即在不同下游任务上进行针对性优化

推理方法: BiomedGPT 采用 自回归解码 进行推理,并使用结合了前缀树(也称为 trie)的波束搜索策略,从而限制了候选 token 的数量,实现了更高效、更准确的文本生成:

4.3.3 指令调优

BiomedGPT 采用 指令调优(Instruction Tuning),通过任务指令引导模型执行不同任务。

指令调优的关键特点:

  • 开放词汇(Open-vocabulary setting):模型可以生成任意答案,而不是选择预设选项。
  • 动态适配任务(Task Adaptability):无需微调即可处理新任务。

4.4 模型扩展

BiomedGPT 的基础版本支持 文本 + 2D 医学影像,但研究团队进一步扩展了其能力:

1)扩展至 3D 医学影像分类(MRI, CT)

  • 采用 3D VQGAN 进行 3D 影像 Token 化,以适配模型输入。
  • 额外引入 3D 视觉编码器(3D Visual Encoder) 进行特征提取。

2)分割(Segmentation) :增加 Mask Decoder 以适配分割任务

5. 结果

5.1 BiomedGPT 在多模态任务上的表现

图 3:BiomedGPT 对视觉语言和医学图像分类下游任务进行微调。

  • (a) BiomedGPT 和领先模型在封闭式和开放式准确度方面的医学 VQA 性能。
  • (b) BiomedGPT 和 SOTA 在 IU X-ray、PEIR GROSS 和 MIMICCXR 数据上的图像字幕性能。评估指标为 ROUGEL-L、METEOR 和 CIDEr。
  • (c) 对每种域类型的 MedMNIST-Raw 数据集上的图像分类评估。
  • (d) 两个超分辨率图像数据集上的图像分类性能和准确度。
  • (e) 使用 F1-macro 在 CBIS-DDSM 数据集上的图像分类性能。
  • (f) 9 个不同分辨率数据集的准确度在模型尺度方面有所不同。一般来说,较大的模型往往表现更好。

5.2 迁移学习和零样本能力

图 4:BiomedGPT 执行几个时期的迁移学习以理解和总结临床文本,并通过零样本迁移学习生成响应。

  • (a) 使用 10 倍交叉验证 (n=4680) 对治疗建议任务模型的准确性进行评估。
  • (b) 使用 10 倍交叉验证 (n=7079) 对来自 TREC 2022 数据集的患者试验匹配数据集的准确性进行性能比较。
  • (c) 三种 BiomedGPT 变体和两种 SOTA 模型 BioGPT 和 LLaVA-Med 在院内死亡率预测中的准确性。
  • (d) ROUGEL-L 在四个文本摘要数据集上的模型规模。 图例的大小代表参数的数量。
  • (e) MedNLI 数据集上的医学语言推理性能。
  • (f) Instruct-BiomedGPT(基础、中、小)、BiomedGPT、OFA(大、巨大)、LLaVA-Med 和 GPT-4V 之间的零样本问题对齐准确度比较。我们提供了一个示例来说明生成的答案与问题之间的不匹配。
  • (g) VQA-RAD 数据集上 7 种问题类型的平均零样本准确度。
  • (h) 通过 50 次重复采样(n=39)在 VQA-RAD 数据集上的整体零样本学习性能。

5.3 人类专家评估

图 5:VQA、文本摘要和标注(captioning)任务的人工评估。

(a)三项任务的人工评估示例,包括响应真实性、遗漏和错误的重要性。

(b)三种模型在放射学 VQA 的六个问题类别中的性能比较。

(c)放射学 VQA 的平均答案分数。

(d)生成的放射学报告中 BiomedGPT-B 和 BiomedGPT-M 的错误率和遗漏率。

(e)报告摘要的人工评估考虑三个属性:完整性、正确性和潜在危害,并具有总体偏好。

6. 讨论

1)高质量医学数据的稀缺

医学数据的标注成本高昂 ,需要专业知识,导致高质量、多模态医疗数据集的缺乏

研究人员通常依赖于公共数据集 ,但这可能会导致数据质量不均

在多模态数据(尤其是图像-文本 对)中,存在数据模态不均衡的问题:

  • 放射学(Radiology)数据占比过高 ,而基因组学(Genomics)、电子健康记录(EHR)等数据较少
  • 高质量医学影像及其对应的详细注释仍然不足,限制了 AI 对复杂医学任务的适应能力。

2)评估 AI 生成内容的难度

目前常用的 文本评价指标(如 CIDEr, ROUGE-L)能够衡量 AI 生成文本与标准答案的相似度 ,但无法评估其医学事实准确性

在放射学领域,研究者提出了 F1-RadGraph 评分,用于衡量 AI 生成的放射学报告的事实正确性。

在 **病理学(Pathology)**等其他医学领域,目前尚未建立类似的评估标准,导致难以客观评估 AI 生成的医学内容。

3)AI 在医学多模态学习上的扩展性

BiomedGPT 目前主要支持 文本 + 2D 医学影像,但未来需要扩展至更多医学数据类型:

  • 3D 医学影像(MRI、CT) :本研究已通过 3D 图像编码器扩展 BiomedGPT 的能力。
  • 视频和时间序列数据(如心电图 EKG、动态超声影像)。

负迁移(Negative Transfer)问题

  • 在多模态学习中,增加新模态可能会 降低模型在某些任务上的表现
  • 例如,本研究发现,去除图像数据提升文本任务的性能,说明不同数据模态之间可能存在干扰。

4)AI 扩展的权衡

模型规模与性能呈正相关,即参数规模越大,任务表现越好。

但大规模模型面临计算资源和推理效率的挑战:

  • 微调成本高 :现有的微调方法计算开销大,影响模型在临床环境中的部署
  • 推理速度受限 :大模型在实时医疗应用(如医生决策支持)中的推理速度可能较慢。

5)零样本学习的挑战

BiomedGPT 的文本理解能力仍然低于 GPT-4V

  • 语言模型规模较小(目前 BiomedGPT-B 仅有 182M 参数)。
  • 单一编码器架构可能限制多模态表示能力,导致模型难以分离不同数据模态的信息。

**论文地址:**https://arxiv.org/abs/2305.17100

**进 Q 学术交流群:**922230617

相关推荐
工头阿乐5 分钟前
卷积神经网络(CNN)可视化网站汇总
人工智能·神经网络·cnn
带娃的IT创业者22 分钟前
《AI大模型应知应会100篇》第15篇:大模型训练资源需求:算力、数据与成本分析
人工智能
DUTBenjamin28 分钟前
计算机视觉6——相机基础
人工智能·计算机视觉
睡觉zzz41 分钟前
React写ai聊天对话,如何实现聊天makedown输出转化
前端·人工智能·react.js
deephub43 分钟前
PyTorch CUDA内存管理优化:深度理解GPU资源分配与缓存机制
人工智能·pytorch·python·深度学习·英伟达
菜小包44 分钟前
通义万相 vs 豆包:AI领域文生图/文生视频全面对比
人工智能
Lx3521 小时前
📌《AI生成代码的边界测试:哪些场景人类仍需主导》
人工智能
Qiu的博客1 小时前
一文读懂 AI
人工智能·算法·开源
孔令飞1 小时前
Go 1.24 新方法:编写性能测试用例方法 testing.B.Loop 介绍
人工智能·云原生·go
pen-ai1 小时前
【NLP】18. Encoder 和 Decoder
人工智能·自然语言处理