(2023|NIPS,LLaVA-Med,生物医学 VLM,GPT-4 生成自指导指令跟随数据集,数据对齐,指令调优)

news2025/1/10 4:49:35

LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day

目录

LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day

0. 摘要

1. 简介 

2. 相关工作

3. 生物医学视觉指令数据

4. 将多模态对话模型适配到生物医学领域

5. 实验

6. 结论


0. 摘要

对话式生成 AI 在赋能生物医学从业者方面展现了巨大潜力,但当前的研究主要集中在单模态文本上。多模态对话 AI 通过利用来自公共网络的数十亿图文对进行训练,取得了快速进展,但此类通用领域的视觉语言模型在理解和讨论生物医学(biomedical)图像方面仍显不足。

本文提出了一种成本高效的训练方法,用于开发一种视觉语言对话助手,可以回答有关生物医学图像的开放式研究问题。我们的核心思路是利用从 PubMed Central 提取的大规模、广覆盖的生物医学图表-标题(figure-caption)数据集,使用 GPT-4 从标题中自指导(self-instruct)生成开放式指令数据,然后通过一种新颖的课程学习方法微调一个大型通用领域的视觉语言模型。

具体而言,模型首先通过图表-标题对直接学习对齐生物医学词汇,然后通过 GPT-4 生成的指令数据学习掌握开放式对话语义,这种方法大致模拟了普通人逐步获取生物医学知识的过程。这使我们能够在不到 15 小时内(使用 8 个 A100 GPU)训练一个用于生物医学的大型语言和视觉助手(LLaVA-Med)。LLaVA-Med 展现了出色的多模态对话能力,能够遵循开放式指令,协助回答有关生物医学图像的 query。在三个标准的生物医学视觉问答数据集上,微调后的 LLaVA-Med 在某些指标上优于之前的监督学习领域的最新技术成果。为了促进生物医学多模态研究,我们将发布我们的指令数据和 LLaVA-Med 模型。

1. 简介 

虽然在通用领域中取得了成功,但现有大型多模态模型(LMMs)在生物医学场景中效果较差,因为生物医学图文对与一般网络内容存在显著差异。因此,通用领域的视觉助手可能表现得像普通人,要么避免回答生物医学问题,要么更糟的是,生成错误的回答或完全虚构的内容。尽管生物医学视觉问答(VQA)领域已经取得了许多进展,但以往的方法通常将问题建模为分类任务(例如,在训练集中观察到的不同答案中选择),不适合开放式指令的处理。因此,虽然对话式生成 AI 在生物医学应用中展现了巨大潜力 [19, 30, 18],但现有研究通常局限于单模态文本。

在本文中,我们提出了一个名为 Large Language and Vision Assistant for BioMedicine (LLaVA-Med) 的系统,这是首次尝试将多模态指令调优扩展到生物医学领域,以实现一个生物医学多模态对话助手的端到端训练。领域特定的预训练已被证明对生物医学自然语言处理(NLP)应用 [17, 14, 10, 28] 和生物医学视觉语言(VL)任务 [15, 7, 38, 49, 8] 是有效的。最近,通过创建 PMC-15M [49],一种从 PubMed Central 提取的包含 1500 万生物医学图文对的大规模数据集,使生物医学视觉语言学习成为可能。该数据集的规模比下一个最大的公开数据集 MIMIC-CXR [15] 大两个数量级,并涵盖了多样化的图像类型。

受近期指令调优工作的启发 [34, 24],LLaVA-Med 使用 GPT-4 利用 PMC-15M 的图文对生成多样化的生物医学多模态指令数据,并通过一种新颖的课程学习方法微调一个大型生物医学领域的视觉语言模型 [24]。

2. 相关工作

生物医学聊天机器人(Biomedical Chatbots)。受 ChatGPT [31]  /GPT-4 [32] 和开放源代码指令调优大型语言模型(LLMs)在通用领域成功的启发,已经开发了多个生物医学 LLM 聊天机器人,包括 ChatDoctor [47]、Med-Alpaca [12]、PMC-LLaMA [45]、Clinical Camel [1]、DoctorGLM [46] 和 Huatuo [44]。这些模型以开放源码的 LLM 为基础,通过在定制化的生物医学指令数据集上微调而来。最终的 LLM 在多个生物医学相关领域/场景中展现出极大的潜力,例如理解患者需求和提供有依据的建议。

据我们所知,Visual Med-Alpaca [39] 是唯一接受图像输入的现有多模态生物医学聊天机器人。尽管 Visual Med-Alpaca 和本文提出的 LLaVA-Med 具有类似的输入-输出数据格式,但它们在以下关键方面存在差异:

  • 模型架构:LLaVA-Med 是一个端到端的神经网络模型,而 Visual Med-Alpaca 是通过连接多个图像标题生成模型和 LLM 组成的系统。后者使用一个分类器来确定是否或由哪个生物医学标题生成模型处理图像,并将转换后的视觉信息与文本 query 合并,从而生成响应。
  • 生物医学指令数据:Visual Med-Alpaca 训练于 54K 样本,覆盖有限的生物医学主题领域;而 LLaVA-Med 的训练数据集更加多样化。

生物医学视觉问答(VQA)。构建能够根据生物医学图像回答问题的自动化模型,有助于支持临床医生和患者。现有的生物医学 VQA 方法可以分为判别式和生成式两类:

  • 判别式方法:将 VQA 建模为分类问题,模型从预定义的答案集中进行预测。这些方法性能较好,但其预测仅限于封闭集 [13],当推理中提供自定义答案集时需要特别处理 [22, 49, 8]。
  • 生成式方法:预测答案为自由形式的文本序列 [5, 26, 41],更为灵活,因为它们能将封闭集问题自然地作为语言指令中的一种特殊情况进行处理。
  • 生成式方法更适合开发能够回答开放式问题的通用生物医学助手。

模型架构。LLaVA-Med 的架构类似于 [41] 中语言模型(LM)的前缀调优(prefix tuning)方法,采用一个可训练模块连接冻结的图像编码器和因果 LM。在 [41] 中,使用一个三层 MLP 网络将视觉特征映射为视觉前缀,预训练的 LM 包括 GPT2-XL [37]、BioMedLM [42] 和 BioGPT [28],其规模在 1.5B 至 2.7B 之间。相比之下,LLaVA-Med 使用线性投影和一个 7B 的语言模型 [43, 40]。

最重要的是,文献 [41] 仅考虑标准的监督微调,并集中于探索各种建模选择。而我们的主要贡献在于提出了一种新颖的数据生成方法,利用 GPT-4 从 PubMed Central [49] 提取的广覆盖生物医学图文对,自指导生成多模态指令数据,从而实现更高效的生物医学多模态指令调优。

3. 生物医学视觉指令数据

由于缺乏适用于训练指令跟随助手(instruction-following assistant)的多模态生物医学数据集,我们通过机器和人工联合筛选流程,从广泛存在的生物医学图文对中创建了首个此类数据集。该数据集包括两个子集:概念对齐数据和指令调优数据,分别用于不同的训练阶段(详见第 4 节)。

生物医学概念对齐数据。对于一个生物医学图像 X_v 及其关联标题 X_c​,我们采样一个问题 X_q​,该问题要求描述生物医学图像。通过 (X_v,X_c, X_q),我们创建一个单轮指令跟随示例:

根据标题的长度,所采样的问题可能要求简洁描述或详细描述图像。附录 A 中提供了两组问题列表。在实践中,PMC-15M [49] 数据集中 25% 的标题长度少于 30 个单词,因此以 30 个单词作为分界点来决定使用哪组问题列表。我们从 PMC-15M 数据集中采样了 60 万个图文对。虽然该数据集仅展示了一种任务指令(即图像标题生成),但它包含了多样且有代表性的生物医学概念样本,来自 PMC-15M 的原始数据集。

生物医学指令调优数据。为了使模型能够遵循多种指令,我们通过提示仅支持语言的 GPT-4,设计并筛选出基于生物医学图像的多轮对话数据。这些数据由多样化的指令跟随示例组成。

具体而言,对于每个图像标题,我们设计了一种提示,让 GPT-4 以一种 “能够看到图像” 的语气生成多轮问题和答案(尽管 GPT-4 实际上只能访问文本)。然而,当标题过于简短时,GPT-4 可能无法生成有意义的问题和答案。为了提供更多与图像相关的上下文信息,我们创建了包含标题及原始 PubMed 论文中提到该图像的句子的提示。此外,我们手动整理了一些少样本示例(few-shot examples)作为提示,演示如何基于提供的标题和上下文生成高质量对话(详见附录 B)。

为了收集图像标题及其上下文,我们对 PMC-15M 数据集进行筛选,仅保留包含单一图像的内容。从中,我们从五种最常见的成像模态中采样了 6 万个图文对,包括:

  • CXR(胸部 X 光片)
  • CT(计算机断层扫描)
  • MRI(磁共振成像)
  • 组织病理学
  • 肉眼病理学

随后,从原始 PubMed 论文中提到这些图像的句子中提取内容,作为标题的额外上下文。此方法受启发于 “外部知识有助于泛化” 的观察 [20, 25]。

图 1 展示了一个指令跟随数据的示例,图 2 则提供了数据统计信息。我们在迭代改进数据质量的过程中生成了三种版本的指令数据:

  • 60K-IM:前述数据集,包含作为上下文的内联提及(inline mentions,IM)。
  • 60K:类似规模的 6 万条样本数据集,但在自指导生成中不包含 IM。
  • 10K:较小的数据集(1 万条样本),无 IM。

这些版本用于在实验中分析数据生成策略及其对 LLaVA-Med 训练效果的影响。

4. 将多模态对话模型适配到生物医学领域

我们选择 LLaVA(一个通用领域的多模态对话模型)[24] 作为初始的通用语言模型(LM),并将其持续训练适配到生物医学领域。LLaVA-Med 的网络架构与原模型一致,通过线性投影层连接视觉编码器和语言模型。模型训练分为两个阶段,如图 3 所示。

阶段 1:生物医学概念特征对齐。为了在概念覆盖和训练效率之间取得平衡,我们从 PMC-15M 数据集中筛选了 60 万个图文对。通过一种简单的扩展方法将这些图文对转化为指令跟随数据:指令仅呈现描述图像的任务。

对于每个样本,给定语言指令和图像输入,我们要求模型预测原始标题。在训练中,视觉编码器和语言模型的权重保持冻结,仅更新投影矩阵。通过这种方式,大量新的生物医学视觉概念的图像特征被对齐到预训练语言模型中的文本嵌入。这一阶段可以理解为将对齐的图文标记词汇扩展到生物医学领域。

阶段2:端到端指令调优。在这一阶段,仅冻结视觉编码器权重,同时继续更新投影层和语言模型的预训练权重。为了使模型能够以对话形式遵循各种指令并完成任务,我们基于第 3 节收集的生物医学图像-语言指令跟随数据对模型进行微调。

如后续实验所示,经过这一阶段的训练,LLaVA-Med 不仅可以作为生物医学视觉助手与用户互动,还在经过良好验证的生物医学视觉问答(VQA)数据集上展示了良好的零样本任务迁移性能。

微调至下游数据集。在某些特定的生物医学场景下,需要开发高度准确且针对特定数据集的模型,以提高助手的服务质量。我们在完成两个阶段的训练后,将 LLaVA-Med 微调到三个生物医学 VQA 数据集 [27] 上,这些数据集涵盖了不同的规模和多样化的生物医学主题。

在提供生物医学图像作为上下文的情况下,模型针对多种自然语言问题进行自由格式文本回答。对于封闭式问题(close-set questions),在提示中为每个问题提供一个候选答案列表;对于开放式问题(open-set questions),则生成自由形式的答案。

讨论。LLaVA-Med 展示了以下显著特性和潜在意义:

  • 经济实惠的开发成本。我们的目标并非通过扩大数据或模型规模以追求最佳性能,而是以较低的开发成本提供经济合理的解决方案。阶段1和阶段2的训练分别耗时 7 小时和 8 小时(使用 8 张 40G A100 GPU,详见表5)。

  • 适用于多领域的方案。尽管本文专注于生物医学领域,但所提出的适配流程可以推广到其他垂直领域(如游戏和教育),这些领域需要新的概念和领域知识来构建有用的助手。类似于 [11] 中的“不要停止预训练”的观点,我们提出了一种可扩展的流水线,用于从大规模未标注数据中创建领域特定的指令数据,并倡导“不要停止指令调优”以构建定制的 LMM(大型多模态模型)。

  • 低服务成本。虽然通用 LMM 的模型规模可能非常大,服务成本可能高得令人望而却步,但定制化的 LMM 在低服务成本方面具有独特的优势。

  • 平滑的模型适配。我们的网络架构允许使用 BioMedCLIP [49] 初始化视觉编码器,或使用 Vicuna [43] 初始化语言模型,从而可能实现更高的性能。然而,从 LLaVA 进行适配可以实现模型行为的平滑过渡,即从“普通人”向能够提供领域特定、有帮助的专业助手转变。

5. 实验

我们进行实验以研究两个关键组件:生成的多模态生物医学指令跟随数据(instruction-following data)的质量,以及 LLaVA-Med 的性能。我们考虑两个研究评估设置:

  • 作为一个开放式生物医学视觉聊天机器人,LLaVA-Med 的表现如何?
  • LLaVA-Med 与现有方法在标准基准测试中的表现如何?

为了明确起见,在整个实验过程中,我们仅使用语言单独的 GPT-4。

在表格 2 中,我们提供了不同聊天机器人的生物医学视觉对话示例。LLaVA-Med 准确地回答了带有生物医学知识的问题,而 LLaVA 则表现得像一个外行人,基于常识进行幻觉式的回答。由于多模态 GPT-4 尚未公开,我们使用语言单一的 GPT-4 进行比较。我们将黄金标题(golden captions)和内联提及(inline mentions)作为上下文输入到 GPT-4,它通过以对话方式重新组织信息,生成有知识性的回答。 

# Closed:回答是封闭式的(即是/否类型);# Open:回答是开放式的,回答为单词或简短短语

图 4 中 Stage 和 FT(Fine-Tuning) 下的数字表示训练的 epochs。 

6. 结论

我们提出了 LLaVA-Med,一种用于生物医学领域的大型语言与视觉模型。为了创建这个模型,我们使用自我指导(self-instruct)方法创建了高质量的生物医学语言-图像指令跟随数据集,并通过语言单一的 GPT-4 和外部知识构建了一个数据整理管道。LLaVA-Med 展现了强大的领域知识聊天能力,并在某些指标上通过后续微调超越了之前的监督型 SoTA,在三个 VQA 数据集上取得了更好的表现。

局限性。虽然我们认为 LLaVA-Med 代表了构建有用的生物医学视觉助手的重要一步,但我们也注意到,LLaVA-Med 受到幻觉和许多 LMMs 中常见的浅层推理的限制。未来的工作将致力于提升质量和可靠性。 

论文地址:https://arxiv.org/abs/2306.00890

项目页面:https://aka.ms/llava-med

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2274152.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络】计算机网络的分类 局域网 (LAN) 广域网 (WAN) 城域网 (MAN)个域网(PAN)

局域网是通过路由器接入广域网的 分布范围 局域网Local Area Network:小范围覆盖,速度高,延迟低(办公室,家庭,校园,网络) 广域网Wide Area Network 大范围覆盖,速度相对低,延迟高…

LabVIEW软件Bug的定义与修改

在LabVIEW软件开发过程中,bug(程序错误或缺陷)指的是程序中导致不符合预期行为的任何问题。Bug可能是由于编码错误、逻辑漏洞、硬件兼容性问题、系统资源限制等因素引起的。它可能会导致程序崩溃、功能无法正常执行或输出结果不符合预期。理解…

【Logstash03】企业级日志分析系统ELK之Logstash 过滤 Filter 插件

Logstash 过滤 Filter 插件 数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构, 并将它们转换成通用格式,以便进行更强大的分析和实现商业价值。 Logstash 能够动态地转换和解析数据&a…

Docker运维高级容器技术知识点总结

1、虚拟机部署和容器化部署的区别是什么&#xff1f; 1、技术基础&#xff1a; <1>.虚拟化技术在物理硬件上创建虚拟机&#xff0c;每台虚拟机运行自己完整的操作系统、从而实现资源隔离。 <2>.容器化技术&#xff1a;将应用程序打包在容器内&#xff0c;在进程空间…

1.2.1-2部分数据结构的说明02_链表

&#xff08;1&#xff09;链表数据结构&#xff1a; 概念&#xff1a; 将列表中相互连接的节点不连续的存储在内存中。与数据不同&#xff0c;我们无法再恒定时间内访问任何元组&#xff0c;如果遍历所有则花费时间与元素总数n成正比。插入和删除1个元素的时间复杂度都是O(n…

C# 之某度协议登录,JS逆向,手机号绑定,获取CK

.NET兼职社区 .NET兼职社区 .NET兼职社区 .NET兼职社区 有需要指导&#xff0c;请私信我留言V或者去社区找客服。

SpringcloudAlibaba黑马笔记(部分)

第一章 微服务介绍 1.1 系统架构演变 随着互联网的发展&#xff0c;网站应用的规模也在不断的扩大&#xff0c;进而导致系统架构也在不断的进行变化。 从互联网早起到现在&#xff0c;系统架构大体经历了下面几个过程 : 单体应用架构 ---> 垂直应用架构 ---> 分布 …

Redis 基础篇

一、redis 概念及特性 1.1 Redis 概念 Redis&#xff08;Remote Dictionary Server&#xff09;&#xff0c;即远程字典服务&#xff0c;是一个开源的高性能键值存储数据库&#xff0c;可以用作数据库、缓存和消息中间件。 redis 官网&#xff1a;Redis - The Real-time Data P…

DAY15 神经网络的参数和变量

DAY15 神经网络的参数和变量 一、参数和变量 在神经网络中&#xff0c;参数和变量是两个关键概念&#xff0c;它们分别指代不同类型的数据和设置。 参数&#xff08;Parameters&#xff09; 定义&#xff1a;参数是指在训练过程中学习到的模型内部变量&#xff0c;这些变量…

[离线数仓] 总结二、Hive数仓分层开发

接 [离线数仓] 总结一、数据采集 5.8 数仓开发之ODS层 ODS层的设计要点如下: (1)ODS层的表结构设计依托于从业务系统同步过来的数据结构。 (2)ODS层要保存全部历史数据,故其压缩格式应选择压缩比率,较高的,此处选择gzip。 CompressedStorage - Apache Hive - Apac…

Chromium源码windows下载和编译

官方地址&#xff1a;chromium/docs/windows_build_instructions.md at main chromium/chromium GitHub Chromium介绍 Chromium 是一个开源浏览器项目&#xff0c;旨在为所有用户构建更安全、更快、更稳定的网络体验方式。掌握Chromium的编译和开发是浏览器项目相关的开发者…

maven如何从外部导包

1.找到你项目的文件位置&#xff0c;将外部要导入的包复制粘贴进你当前要导入的项目下。 2.从你的项目目录下选中要导入的包的pom文件即可导包成功 注意一定是选中对应的pom文件 导入成功之后对应的pom.xml文件就会被点亮

力扣 跳跃游戏

每次更新目标位置时&#xff0c;实际上是在做一个局部的最优选择&#xff0c;选择跳跃能够到达当前目标位置的最远位置。因为每次更新目标位置时&#xff0c;都是基于当前能跳跃到的最远位置&#xff0c;因此最终的结果是全局最优的。 题目 从前往后遍历&#xff0c;更新可以到…

第二十八周学习周报

目录 摘要Abstract1 GFPGAN1.1 总体结构1.2 实验研究1.3 代码分析 总结 摘要 本周主要的学习内容是GFPGAN模型。GFPGAN是一种基于生成对抗网络(GAN)的模型&#xff0c;其利用封装在预训练的人脸GAN中的丰富多样的先验进行人脸图像的修复。这种生成面部先验&#xff08;GFP&…

成为LabVIEW自由开发者

成为LabVIEW自由开发者的体验可以非常丰富且具有挑战性&#xff0c;同时也充满了自我成长和多样化项目的机会。 ​ 1. 高度的灵活性与自由度 工作时间与地点&#xff1a;作为自由开发者&#xff0c;你可以自由选择工作时间和地点。你可以在家工作&#xff0c;也可以选择在咖啡…

Electron快速入门——跨平台桌面端应用开发框架

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

SpringBoot之核心配置

学习目标&#xff1a; 1.熟悉Spring Boot全局配置文件的使用 2.掌握Spring Boot配置文件属性值注入 3.熟悉Spring Boot自定义配置 4.掌握Profile多环境配置 5.了解随机值设置以及参数间引用 1.全局配置文件 Spring Boot使用 application.properties 或者application.yaml 的文…

openai swarm agent框架源码详解及应用案例实战

文章目录 简介数据类型Agent类Response类Result类Swarm类run_demo_loop交互式会话 基础应用agent-handsofffunction-callingcontext_variablestriage_agent 高阶应用通用客服机器人(support bot)构建航班服务agent 参考资料 openai 在24年10月份开源了一个教育性质的多agents协…

JVM vs JDK vs JRE

JVM是Java虚拟机的缩写&#xff0c; 用于实现Java的一次编译&#xff0c;处处运行。 Java代码写成.class后&#xff0c;由本地的虚拟机运行。 JDK&#xff08;Java Development Kit&#xff09;是一个功能齐全的 Java 开发工具包&#xff0c;供开发者使用。 JDK包含了JRE。…

【网页自动化】篡改猴入门教程

安装篡改猴 打开浏览器扩展商店&#xff08;Edge、Chrome、Firefox 等&#xff09;。搜索 Tampermonkey 并安装。 如图安装后&#xff0c;浏览器右上角会显示一个带有猴子图标的按钮。 创建用户脚本 已进入篡改猴管理面板点击创建 脚本注释说明 name&#xff1a;脚本名称。…