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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Mybatis原理》MyBatis的sqlSessi

sqlSessionFactory 与 SqlSession 正如其名,Sqlsession对应着一次数据库会话。由于数据库会话不是永久的,因此Sqlsession的生命周期也不应该是永久的,相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession…

Numpy数组的属性

NumPy中最重要的一个特点就是其n维数组对象,即ndarray(别名array)对象,该对象具有矢量算术能力和复杂的广播能力,可以执行一些科学计算。不同于Python内置的数组类型, array对象拥有对高维数组的处理能力,这也是数值计…

(十)提示词任务分解的策略探讨

📢📢📢 大家好,我是云楼Yunlord,CSDN博客之星人工智能领域前三名,多年人工智能学习工作经验,一位兴趣稀奇古怪的【人工智能领域博主】!!!😜&#…

01 数据分析介绍及工具准备

数据分析介绍及工具准备 一、工具准备二、下载和使用Anaconda三、jupyter notebook常用快捷键 一、工具准备 数据科学库 NumPy,SciPy,Pandas,Scikit-Learn 数据可视化库 Matplotlib,Seaborn 编译器 Jupyter Notebook 数据科…

excel表格二维X、Y坐标散点图

excel中存在两列或两行数据,分别表示x坐标和对应的y坐标,同时选中两列或两行数据: 依次选择菜单,插入,图标,XY散点图 可以看到在表格中生成了以第1列为X轴,第2列为Y轴的二维XY散点图&#xff…

Cursor无限续杯——解决Too many free trials.

前情提要 我们都知道Cursor对新用户是有14天且500条免费限制的。 一般情况下,当14天过期,是可以注销账户再重新注册,这样就可以继续拥有14天的体验时长。 但是!!如果使用超过500次,Cusor就会把你的电脑I…

HCIE-day10-ISIS

ISIS ISIS(Intermediate System-to-Intermediate System)中间系统到中间系统,属于IGP(内部网关协议);是一种链路状态协议,使用最短路径优先SPF算法进行路由计算,与ospf协议有很多相…

洛谷P1617———数字转英文

题目如下 思路:将1~9的英文和20~90的英文用字符串数组存储,把下标看作对应的数字进行输出,遇到0或连续多个0就输出“and”,定义l用来看枚举到哪一位了,如果是单独输入一个“0”,则直接输出zero然后结束。否…

UnityRenderStreaming使用记录(五)

UnityRenderStreaming不一样的错误,船新的版本 继续docker部署UnityRenderStreamingdockerfile一些命令出现了新的错误先解决一个报错不知道怎么解决,先跑个glxgears测试一下先解决MESA和glx的问题新的log,额新的错误尝试解决libnvidia-encod…

Unity-Mirror网络框架-从入门到精通之AdditiveScenes 示例

文章目录 前言Additive Levels和Additive ScenesAdditive Levels场景介绍Portal传送门FadeInOut特效 Additive Scenes示例介绍ZoneHandlerSceneMassage 最后 前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框…

Mac-docker配置

1.配置的文件路径 cd ~/.docker (base) zhangyaweimacbookair .docker % ls buildx cli-plugins config.json contexts daemon.json desktop-build mutagen run (base) zhangyaweimacbookair .docker % cat daemon.json## 重启docker服务 sudo systemctl daemon-reload sudo…

PHP进阶-在Ubuntu上搭建LAMP环境教程

本文将为您提供一个在Ubuntu服务器上搭建LAMP(Linux, Apache, MySQL, PHP)环境的完整指南。通过本文,您将学习如何安装和配置Apache、MySQL、PHP,并将您的PHP项目部署到服务器上。本文适用于Ubuntu 20.04及更高版本。 一、系统更新…

Elasticsearch(看这一篇就够了)

目录: Elasticsearch介绍正排索引和倒排索引Elasticsearch安装安装ES服务安装服务安装kibana 索引操作创建索引查询索引库修改索引库删除索引库 Elasticsearch常用操作文档操作新增文档查询文档删除文档根据id批量查询文档查询所有文档修改文档部分字段 域的属性分词…

嵌入式技术之Linux(Ubuntu) 一

一、Linux入门 1.硬件和操作系统以及用户的关系 一个传感器,获得数据后,需要向服务器发送数据。传感器传数据给上位机。 上位机需要一个程序来接收数据,那么这个上位机是什么机器? 我们的笔记本电脑就可以当成上位机。 两个手…

【实用技能】如何使用 .NET C# 中的 Azure Key Vault 中的 PFX 证书对 PDF 文档进行签名

TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打…

oracle闪回恢复数据:(闪回查询,闪回表,闪回库,回收站恢复)

oracle的闪回查询,可以查询提交在表空间的闪回数据,并可以还原所查询的数据,用于恢复短时间内的delele 或者 update 误操作,非常方便,缺点是只能恢复大概几小时内的数据。 文章目录 概要闪回查询恢复数据的主要方法包括…

开放词汇检测新晋SOTA:地瓜机器人开源DOSOD实时检测算法

在计算机视觉领域,目标检测是一项关键技术,旨在识别图像或视频中感兴趣物体的位置与类别。传统的闭集检测长期占据主导地位,但近年来,开放词汇检测(Open-Vocabulary Object Detection-OVOD 或者 Open-Set Object Detec…

【网络协议】静态路由详解

网络中的路由器通过以下两种方式之一发现远程网络: 静态配置路由动态路由协议 在本文,我们将学习关于静态路由的各种概念,例如如何配置静态路由、路由表如何进行决策、路由接口等相关知识。 文章目录 引言直连网络静态路由路由表原则原则1原…

(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)

城市三维建模与分析 三维城市模型已经成为一种非常普遍的地理空间数据资源,成为城市的必需品,对城市能化管理至关重要。语义信息丰富的三维城市模型可以有效实现不同领域数据与IS相信息的高层次集成及互操作,从而在城市规划、环境模拟、应急响应和辅助决策等众多领域公挥作用、…

计算机网络--路由器问题

一、路由器问题 1.计算下一跳 计算机网络--根据IP地址和路由表计算下一跳-CSDN博客 2.更新路由表 计算机网络--路由表的更新-CSDN博客 3.根据题目要求给出路由表 4.路由器收到某个分组,解释这个分组是如何被转发的 5.转发分组之路由器的选择 二、举个例子 …