InstructBLIP

发布时间:2026/7/24 21:27:52

InstructBLIP 一、核心思想让视觉模型也像ChatGPT一样听懂指令而不仅仅是看图说话。作者认为BLIP-2虽然已经能连接图片和LLM但它提取图片特征时完全不知道用户问什么。因此提出Instruction-aware Q-Former先看用户的问题再决定应该关注图片哪里。作者还将26 个公开数据集统一转换为 Instruction Tuning 格式并在保持图像编码器和LLM冻结的情况下仅微调 Q-Former实现了更强的零样本泛化能力。研究问题如何通过指令微调提升视觉-语言模型对未见过任务的零样本泛化能力解决视觉输入多样性和任务复杂性带来的挑战。研究框架基于预训练BLIP-2模型保留图像编码器和LLM冻结微调Q-Former引入指令感知Q-Former将文本指令输入Q-Former以提取任务相关视觉特征。二、研究背景2.1 NLP的发展路线传统一个任务训练一个模型 翻译 → 摘要 → QA → 分类后来Instruction TuningInstruction:Translate this sentence. ↓ LLM完成 -------------------------------- Instruction:Summarize this article. ↓ LLM完成 -------------------------------- Instruction:Write a poem. ↓ LLM完成于是一个模型解决所有任务。2.2 Vision-Language的问题对于图片来说不仅有Caption、VQA、OCR、Reasoning、Classification、Dialogue、Video QA 还有图片来自医学、自然、漫画、遥感、视频、网页因此视觉任务远比NLP复杂。仅依赖图文描述预训练不足以支持丰富的视觉语言任务因此需要系统性的视觉指令微调。三、BLIP-2回顾论文基础BLIP-2结构Image → Vision Encoder (Frozen) → Q-Former → LLM (Frozen) → Answer特点冻结Image Encoder、LLM只训练Q-Former所以训练成本低。BLIP-2的问题Q-Former输入只有 Image Feature没有 Question、Instruction因此无论用户问Describe image. 还是How many cats? Q-Former输出的都是同一份Visual Embedding。论文称之为instruction-agnostic visual feature extraction。四、网络结构用预训练的 BLIP-2 初始化训练在指令调整期间冻结图像编码器和 LLM只微调Q-Former。1、图像特征提取 (Image Encoder)原始的输入图像被送入“图像编码器”生成图像嵌入向量Image Embeddings。2、指令感知的特征提取 (Q-Former)输入图像嵌入向量 (Image Embeddings)、可学习的查询 (Queries)、文本指令 (Instruction)处理Q-Former 根据Instruction的引导利用Queries从图像嵌入向量中精准提取问题相关的视觉信息。输出浓缩的、包含指令相关视觉特征的向量。3、维度对齐 (Fully Connected)处理Q-Former 输出的视觉特征经过一个全连接层。目的将视觉特征的维度映射到LLM能接受的维度使变成 LLM 可以理解的Soft Prompts。4、最终文本生成 (LLM)输入经过维度映射的“视觉软提示”与原始的“文本指令” concat 起来送入LLM。输出LLM 根据多模态上下文生成最终的答案Response图中生成了 left one。Q-Former自注意力层 (Self Attention)Queries 通过一个自注意力层与 Instruction 进行信息交互让 Queries “知道”用户到底在问什么比如知道了要找“披萨”。【在 Q-Former 的文本-查询交互阶段模型实际上是将这 32 个 Queries 和 Instruction 对应的 Text tokens Concat通过共享同一个自注意力层的权重来处理。Q、K、V 都来自这个被拼接后的单一混合序列所以是Self-Attention。】交叉注意力层 (Cross Attention)携带指令信息的 Queries 会进入交叉注意力层与Image Embeddings交互。因为 Queries 已经知道了要找什么所以可以像带着目的的雷达一样只从图像中提取出含有“披萨”的部分过滤无关背景。前馈神经网络 (Feed Forward)最后提取出的特征和指令流分别通过前馈神经网络进行进一步的非线性变换输出最终的高质量视觉特征。Q-Former内部到Self-Attention这一层为止除了输入的text来源不同caption 换成 instruction之外没有结构性的区别。真正的区别不是Transformer结构而是Attention Mask始终双向可见、输入序列组成以及训练目标loss 变成 Instruction Following。五、InstructBLIP的核心创新1、 Instruction-aware Q-Former以前Image → Vision Encoder → Q-Former现在Image → Q-Former → Instruction-aware Feature Instruction论文结构图如下Instruction → Q-Former Self Attention → Query → Cross Attention → Image Feature也就是说Instruction参与Self-AttentionQuery会受到Instruction影响。不同问题得到不同Visual Feature。论文强调指令不仅输入给LLM也输入给Q-Former使其提取更符合任务需求的视觉特征。举例图片一只狗站在草地上问题1Describe image. Q-Former 关注狗 草 天空 整体布局问题2What color is the collar? Q-Former直接关注狗脖子。问题3Is dog looking left? 关注头部方向。这就是Instruction-aware Visual Feature ExtractionVisual Feature是动态变化的。2、Dataset Balancing论文用了26个数据集。有的数据80万样本有的数据1万样本数据集规模样本数量存在巨大差异如果随机采样模型容易过拟合小数据集欠拟合大数据集。为了缓解这种规模极度不平衡作者提出了平方根概率采样 (Square-root Sampling)基于数据集大小的平方根比例来分配采样概率。解决采样概率不是P∝Size而是P∝√Size并对少数数据集进行人工权重调整以改善不同任务的收敛节奏。假设只有两个数据集参与训练超大数据集A10000条数据迷你数据集B100条数据。❌ 如果不开平方根按真实比例直接采样抽取 A 的概率抽取 B 的概率后果模型几乎一直在学 A 的内容导致对 A欠拟合数据太多看不过来而极偶尔才看到一次 B导致对 B 完全学不会或者对 B 里的几张图过拟合死记硬背了。✅ 如果使用公式开平方根平滑采样先求平方根A 变成B 变成。新的分母总和100 10 110。抽取 A 的新概率抽取 B 的新概率结果A 的被抽中概率从 99% 被压缩到了 90.9%B 的出场率从 1% 直接放大了近 10 倍变成了 9.1%。六、Instruction数据构建收集26个公开数据集。覆盖11类任务包括 Caption、OCR、VQA、Reasoning、Classification、Conversation、Video QA、ScienceQA、TextVQA...训练时使用13个数据集held-in另外13个数据集用于零样本评估held-out其中还完整保留了若干任务类别如视频QA、视觉对话等用于测试真正的任务泛化能力。held-in、held-out是为了区分模型“学过的数据”和“没学过的数据”测试模型泛化的能力。1. Held-in (参与训练的“可见”数据)含义模型在训练指令微调instruction tuning阶段真正使用过、见过的数据集。作用26个数据集里有13个是 held-in 数据集。模型用这些数据集的训练集来学习知识和更新参数然后使用它们的“验证集/测试集”来评估模型在已经学过的任务上表现如何即 held-in evaluation。2. Held-out (隔离测试的“未见”数据)含义在训练阶段被隐藏、没有参与模型训练的数据集。模型训练时对它们一无所知。作用专门用来测试模型的Zero-shot 能力和泛化能力。测试模型面对新数据时能不能凭借之前学到的知识给出正确答案。Held-out 的两种“未见”级别同类任务的新数据模型在 held-in 里学过这种任务比如做过图文问答但是在 held-out 测试时是不同来源的数据集。 难点不同数据集之间存在“数据分布偏移”比如训练时看的是真实照片的问答测试时突然给出卡通图片的问答。完全陌生的新任务模型不仅没见过这些数据训练时也没接触过这种任务类型。作者把视觉推理、视频问答、图像分类等任务彻底隔离。如果在测试时模型连这些根本没学过的任务都能做对就证明大模型具备了极其强大的通用智能。数据统一格式全部改成Instruction Format如论文为每个任务设计了10–15种自然语言模板以增强指令多样性。七、训练流程整体流程Image │ Frozen Vision Encoder ▼ Image Feature │ Instruction-aware QFormer ▼ Visual Tokens │ Frozen LLM ▼ Generate Answer训练时更新QFormer冻结Vision Encoder、LLM论文实验中使用了ViT-g/14作为图像编码器并分别搭配FlanT5和Vicuna系列LLM仅微调Q-Former。八、实验结果Zero-shot论文几乎全部刷新SOTA包括NoCaps、Flickr30K、ScienceQA、TextVQA、GQA、VizWiz、Video QA、Visual Dialog相较BLIP-2在所有LLM配置下均取得显著提升例如基于FlanT5-XL的版本平均相对提升约15%甚至4B参数模型也超过了更大的Flamingo-80B。Ablation去掉Instruction-aware性能下降明显。尤其是ScienceQA、iVQA 下降最大。说明Question指导Visual Feature真的有用。九、为什么Instruction比Multi-task更强论文专门做实验比较 Multi-task 和 Instruction Tuning结果训练任务差不多。但新任务Instruction远远更强。原因Instruction不是记忆而是学习Task Definition因此泛化能力更好。十、论文贡献总结创新点贡献Instruction-aware Q-Former根据指令动态提取视觉特征是全文最重要的创新26个数据集统一Instruction化构建大规模视觉指令微调数据Balanced Sampling缓解多数据集训练不平衡系统零样本评测验证跨数据集、跨任务的泛化能力保持冻结Encoder和LLM训练成本低仅微调Q-Former十一、优点✅ 思想简单但有效✅ 训练成本低✅ 泛化能力强✅ 不依赖重新训练LLM✅ 能兼容不同LLMFlanT5、Vicuna十二、局限性LLM冻结因此会继承底层LLM的幻觉和偏见问题。视觉编码器冻结复杂视觉场景的表达能力可能受限。仍依赖模板化指令数据真实开放世界任务还有提升空间。作者认为未来可以采用更强的LLM并适度微调其参数以进一步提升指令遵循能力。十三、一张图理解整篇论文BLIP-2 Image │Vision EncoderFrozen ▼ Image Feature │Q-Former │ │LLM ▼ Answer ↓ 改进 InstructBLIP Image │Vision EncoderFrozen ▼ Image Feature Instruction │Instruction-aware QFormer ▼ Task-specific Visual Tokens │Frozen LLM ▼ Answer

相关新闻