当前位置: 首页 > news >正文

多模态大模型(4)--InstructBLIP

BLIP-2通过冻结的指令调优LLM以理解视觉输入,展示了在图像到文本生成中遵循指令的初步能力。然而,由于额外的视觉输入由于输入分布和任务多样性,构建通用视觉语言模型面临很大的挑战。因而,在视觉领域,指令调优技术仍未被充分探索。InstructBLIP(《InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning》),是由Salesforce Research与香港科技大学和新加坡南洋理工大学合作提出的多模态预训练模型。InstructBLIP基于预训练的BLIP-2模型,进行视觉指令微调,旨在构建一个通用的视觉语言模型,能够处理多种视觉语言任务。实验表明,在13个保留数据集上训练的InstructBLIP并分别测试,结果显示在全部的数据集上都取得了最先进的零样本性能,显著优于BLIP-2和更大的Flamingo模型。

主要贡献

● 对视觉语言指令调优进行了全面和系统的研究,证明了InstructBLIP在视觉语言零样本泛化方面的有效性。
● 提出了指令感知的视觉特征提取以及一种平衡采样策略,以同步数据集之间的学习进度。
● 开源了一系列使用两个LLM家族的InstructBLIP模型:1)FlanT5,一个从T5微调的编码器-解码器LLM;2)Vicuna,一个从LLaMA微调的仅解码器LLM。

微调中使用的相关数据集如下:
在这里插入图片描述

模型

在这里插入图片描述
InstructBLIP模型的工作流程可以概括为以下几个关键步骤:

  1. 预训练模型初始化:
    ○ InstructBLIP基于预训练的BLIP-2模型,该模型包含一个图像编码器、一个大型语言模型(LLM)和一个查询变换器(Q-Former)。这些组件共同构成了模型的核心架构。
  2. 指令感知的视觉特征提取:
    ○ InstructBLIP引入了一个指令感知的Q-Former,它不仅接收图像特征,还接收文本指令作为输入。这样,Q-Former可以根据给定的指令从图像编码器的输出中提取与任务相关的特征。
  3. 指令调优:
    ○ 在指令调优阶段,模型在13个保留数据集上进行微调,同时保持图像编码器和LLM冻结。这一过程使得模型能够学习如何根据自然语言指令执行特定的视觉语言任务。
  4. 平衡采样策略:
    ○ 为了处理不同数据集大小的差异,InstructBLIP采用了平衡采样策略,确保模型不会过度拟合小数据集或在大数据集上欠拟合。
  5. 零样本评估:
    ○ InstructBLIP在13个保留数据集上进行零样本评估,以测试模型在未见任务上的泛化能力。这包括在训练期间未见过的完整任务类别。
  6. 下游任务微调:
    ○ InstructBLIP还可以在特定的下游任务上进行微调,以进一步提高性能。由于图像编码器在指令调优期间保持冻结,这减少了可训练参数的数量,提高了微调效率。
  7. 多模态接口:
    ○ InstructBLIP通过统一的自然语言界面处理广泛的视觉语言任务,使其成为一个通用的视觉语言模型。

实验结果

在downstreat的数据集测试,InstructBLIP超过了以前的SOTA(state of the art)以及BLIP-2方法。
在这里插入图片描述

总结

InstructBLIP模型的核心创新在于其指令感知的视觉特征提取机制和指令调优策略,这使得模型能够灵活地适应不同的视觉语言任务,并在零样本设置下展现出强大的泛化能力。通过这种方式,InstructBLIP能够在多种视觉语言任务上实现更为先进的性能。

PS:附原文:https://arxiv.org/pdf/2305.06500,感兴趣读者可以深入阅读。

http://www.lryc.cn/news/488716.html

相关文章:

  • 【Linux】基于 Busybox 构建嵌入式 Linux(未完成)
  • Unet++改进38:添加GLSA(2024最新改进方法)具有聚合和表示全局和局部空间特征的能力,这有利于分别定位大目标和小目标
  • c++中mystring运算符重载
  • 图像处理 - 色彩空间转换
  • MariaDB面试题及参考答案
  • PostgreSQL常用字符串函数与示例说明
  • 力扣第58题:最后一个单词的长度
  • 【Maven】Nexus几个仓库的介绍
  • SSH免密登陆
  • 【Linux】Namespace
  • SQLite 和 MySQL语法区别
  • 基于BERT的命名体识别(NER)
  • 华为云鸿蒙应用入门级开发者认证考试题库(理论题和实验题)
  • SpringBoot+React养老院管理系统 附带详细运行指导视频
  • 使用element-plus el-table中使用el-image层级冲突table表格会覆盖预览的图片等问题
  • python读取Oracle库并生成API返回Json格式
  • 音视频入门基础:MPEG2-TS专题(5)——FFmpeg源码中,判断某文件是否为TS文件的实现
  • 每天10个vue面试题(九)
  • Jenkins的环境部署
  • 八、鸿蒙开发-网络请求、应用级状态管理
  • 经验笔记:Git 中的远程仓库链接及上下游关系管理
  • Paint 学习笔记
  • Jenkins修改LOGO
  • kafka是如何做到高效读写
  • Intern大模型训练营(九):XTuner 微调实践微调
  • 从一次java.io.StreamCorruptedException: invalid stream header: 48656C6C 错误中学到的调试思路
  • 树莓派的发展历史
  • K8S containerd拉取harbor镜像
  • Ubuntu 环境下通过 Apt-get 安装软件
  • vue使用List.forEach遍历集合元素