071|LLaVA:用文字教师,教会视觉模型听懂指令
论文:Haotian Liu、Chunyuan Li、Qingyang Wu、Yong Jae Lee,Visual Instruction Tuning,2023。原始论文、正文 v2、官方项目。不把后续 LLaVA-1.5 等版本的配置倒灌进初代方法。
图表来源:Haotian Liu、Chunyuan Li、Qingyang Wu、Yong Jae Lee,2023,原文;CC BY 4.0。本篇展示做了图形区域裁切,图中数据与标签未改动。
先接住前作的问题
CLIP提供图文表示,BLIP-2研究冻结两端的查询桥梁,但这些能力不自动等于视觉指令遵循。本篇采用更直接的投影,把重点转向怎样制造多模态对话监督,追问“看见了”之后怎样回答用户的问题。
五个前置概念
五个前置概念:视觉编码器把像素映射为特征;投影层对齐特征维度和表示;冻结参数表示反向传播不更新对应权重;指令微调用任务请求与示范回答塑造行为;模型评委用另一模型评分,可靠性需要独立校准。
一、问题设定:识别图中物体后,怎样按指令选择信息并对话
CLIP视觉编码器与Vicuna对话模型的空间和接口不同,投影可以连接尺寸,却不足以规定回答应关注哪些关系。用户问“不寻常之处”时只列出物体仍会失败;本篇同时处理视觉接口和根据指令选择信息的行为监督。
BLIP-2 使用 Q-Former 作为连接模块,Flamingo 引入跨模态注意力。LLaVA 选择一个简单线性投影,优先研究数据和训练方式。这里的简单是连接器结构简单,不是整个系统没有强大的预训练依赖。
任务属于监督式多模态指令学习,没有环境奖励、策略梯度或在线探索。输入是一张图和文本指令,输出是答案 token;多轮对话共享图像,停止标记决定回复边界。ScienceQA 是单独的领域微调设定,不能和通用聊天模型视为完全相同的一个检查点。
关键假设有两个:图像描述和边界框足以帮助文本教师产生有用的视觉指令;已有视觉与语言知识能够通过较少连接训练迁移到新任务。二者都只在有限数据与基准上得到经验支持。
二、推导视觉投影怎样由回答token获得梯度
设图像为 ,固定视觉编码器为 ,视觉网格特征为 。论文式1使用投影矩阵 得到:
与语言模型词嵌入维度一致,因此可以作为连续的视觉 token 放入输入序列。它们不是把图像先翻译成一段离散 caption;语言模型仍然接收视觉特征。
训练目标是带掩码的自回归交叉熵:
只包含助手回复及其停止位置,用户问题和系统提示参与条件输入,但不作为要拟合的回答。这个区别防止把“能复述用户问题”误当成学会回答。
第一阶段使用过滤后的595K图文对,只训练 ,视觉编码器和语言模型都冻结。第二阶段使用158K指令样本,继续冻结视觉编码器,更新 和语言模型参数。因此标题中的端到端训练不能读成第二阶段所有模块都更新。
数据包含58K对话、23K详细描述和77K复杂推理。GPT-4 的输入是 captions、边界框及少量人工设计示例,不是原始图片。学生训练时却接收图片。教师标签可能丰富,但不能凭空恢复符号输入没有保存的细节。
回答位置没有视觉标签,投影层为何还能学?
把视觉特征按列排成 ,投影为 ,其中 是视觉 token 数,。令回答 token 的总交叉熵为 ,冻结语言模型并不截断它对输入的导数。链式法则仍给出
右边的 经过冻结语言模型中的注意力路径,把“这幅图支持哪个回答”传回视觉接口。第一阶段只更新 ,第二阶段还更新语言模型参数;视觉编码器在这两阶段都冻结。冻结、停止梯度、没有监督标签是三个不同概念。这里得到的是对回答任务有用的接口,并没有逐个视觉 token 与某个词的一一对齐保证。
自构梯度例子。 取一个视觉向量 ,语言模型回传给两个投影维度的梯度 ,则单个样本对 的梯度为 。图像位置即使不直接计算词表交叉熵,也能收到这个学习信号。但如果文本教师依据“一个人在车旁”的描述擅自补出颜色,梯度会教学生迎合该颜色标签,无法凭目标函数识别教师没有真正看过图。这解释了为什么 §3 的描述与框信息既能便宜地产生监督,也给视觉细节的可信度设下边界。
自构例子,未运行: 图片是一只红杯子和一只蓝碗。教师只收到“杯子、碗、桌子”的描述与框,可以生成位置问题,却不能可靠生成颜色问题。若擅自写出“红碗”,学生会在看图训练时受到错误监督。更好的数据构造应保留颜色与对象绑定,或避免生成无法由描述确认的问题。
回答掩码与下一词标签要错开一个位置
在“图像前缀+用户问题+助手回答”序列中,损失只保留助手目标,并不意味着用同位置输入预测同一个token。自回归目标仍要移位:预测首个助手词的隐藏状态来自它之前的前缀。若标签掩码移位与输入移位不同步,可能多监督用户末词或漏掉助手首词,视觉投影也会收到错误任务信号。
教法联系:Sourab Mangrulkar、Sayak Paul的Parameter-Efficient Fine-Tuning。算例为本文自构。
三、先对齐投影,再用符号描述生成的指令训练
输入:图文对、COCO 描述和框、CLIP、Vicuna
instruction_data = GPT4_generate(captions, boxes, seed_examples)
initialize linear projector W
freeze CLIP and Vicuna
for image, caption in filtered_alignment_data:
visual_tokens = W(CLIP(image))
update W using assistant-caption token loss
freeze CLIP; unfreeze Vicuna
for image, dialogue in instruction_data:
visual_tokens = W(CLIP(image))
mask system and user tokens from loss
update W and Vicuna using assistant-answer token loss
输出:给定图像与指令生成回答的多模态模型
训练损失没有直接验证每个视觉名词是否真实存在,因此降低交叉熵并不保证消除视觉幻觉。
四、拆开相对评分、ScienceQA组合与属性失败
先看数据类型消融,再核对评委看到什么、分数除以什么;单模型和组合系统的ScienceQA结果不能合并。
| 维度 | 原文设定 |
|---|---|
| 基础组件 | CLIP ViT-L/14 与 Vicuna;主要实验使用13B语言模型,另有7B消融 |
| 对齐数据 | CC3M 过滤到595K;按名词短语覆盖筛选,具体规则见附录E |
| 指令数据 | 158K样本,约80K独立图像;样本数不等于独立图像数 |
| 训练预算 | 对齐1 epoch、batch128、学习率0.002;指令3 epochs、batch32、学习率0.00002 |
| 计算 | 附录C:8张A100;对齐不到4小时,聊天微调不到10小时;不包含 CLIP、Vicuna 和 GPT-4 的预训练成本 |
| COCO评测 | 30张验证图、90个问题;教师与评委使用描述和框等文字信息 |
| 野外评测 | 24张图、60个问题,含照片、绘画、梗图等;人工细致描述支持评分 |
| ScienceQA | 训练12726、验证4241、测试4241;单独微调12 epochs;答案选择准确率 |
| 不确定性 | 表5前三行是3次推理的均值和标准差;另有固定输出、重复调用评委3次的检查,不是3次完整训练 |
各模型的预训练数据、指令训练与结构并不相同。BLIP-2、OpenFlamingo 的对比说明所测试检查点在该指令基准上的表现,不能孤立归因于线性投影比 Q-Former 或跨注意力更好。
ScienceQA 有些带图题可以仅凭文字知识回答。因此图像类别的准确率提高,不足以证明模型更善于读取图中证据;还应比较移除图片、置换图片及真正必须看图的题目。
证据一:表4,数据类型消融。 完整数据总分85.1,仅对话73.8,不做指令训练21.5;对话加少量描述与推理数据达到80.5。它支持指令数据和数据多样性的重要性,但数据子集的数量也变化,因此不能完全拆开“更多样”和“更多样本”的贡献。

证据二:表5,野外图像评价。 LLaVA 得分67.3±2.0,BLIP-2 为38.1±1.0,OpenFlamingo 为19.1±0.4。这是相对于文本 GPT-4 参考回答的评分口径,不是正确率。固定 LLaVA 输出再换3次评委调用得到66.7±0.3,支持这批样本上的评分重复性,不能证明不存在系统性偏好或遗漏。
证据三:表7,ScienceQA。 LLaVA 单模型90.92%,MM-CoT Large 为91.68%;LLaVA 与 GPT-4 组合、由 GPT-4 重新判断分歧后为92.53%。组合比 LLaVA 增加1.61个百分点,是自行做减法得到的绝对差。不能把92.53%写成无外部调用的 LLaVA 独立表现。简单用 LLaVA 补足 GPT-4 拒答仅为90.97%,也说明组合策略本身有影响。
证据四:表8,表示和预对齐。 使用倒数阶段的视觉特征为90.92%,最后一层89.96%;省去对齐预训练降到85.81%;7B为89.84%。这里“from scratch”指省去这一步多模态对齐,不是把 CLIP 和语言模型都随机初始化。作者关于中间视觉特征保留更多局部信息的解释是机制假设,分数差本身没有直接测量局部信息量。
证据五:§5.1限制与表6,属性绑定失败。 图中有草莓和酸奶,模型却回答存在草莓味酸奶。识别两个物体,并不等于把“口味”正确绑定到容器。这一例子揭示重要失败模式,但不能由一个例子估计总体幻觉率。
表8旁关于先理由、后答案的文字描述与最佳配置没有把所有组合完整列齐。适合采用的结论是作者观察到收敛速度变化;不应把缺少完整配对的结果当成严格控制其他变量后的普遍“思维链增益”。
五、文本教师缺少像素会给监督可信度设限
简单连接器使研究者能快速试验数据设计,但论文没有证明它是所有预算下最好的连接方案。
作者明确承认视觉幻觉、细粒度感知和评估复杂性。进一步分析可见一个闭环风险:教师生成数据时依赖文字描述,评委判分也依赖类似描述。如果描述遗漏了细节,学生即使说错,评委也可能没有足够信息发现。这不是指所有分数无效,而是说明该评价偏重可文字化的视觉语义。
另一条边界是“未在指令数据中出现”不等于“整个系统从未见过”。CLIP 和语言模型已经携带大规模预训练知识。某些名人或艺术作品的识别,可以来自预训练迁移,不能直接用来证明从少量指令中凭空学出了新视觉概念。
六、沿回答监督原则比较纯文本对话训练
多模态数据仍有教师看不到像素的边界。对照Llama 2的纯文本回答监督,可检验损失掩码与偏好阶段怎样分工;这是训练接口的教学联系,不是历史继承。
自测与答案
1. 文本 GPT-4 没有看过图片,为什么还能生成视觉训练数据?哪里最容易失真?
答案:描述与边界框把部分视觉信息转换成文字,教师可以据此组织问题和回答。但没有进入符号表示的颜色、文字、细小物体或关系不能被可靠恢复。数据质量受符号信息覆盖约束,而不是只受教师语言能力约束。
2. 第二阶段为什么更新语言模型却继续冻结视觉编码器?这证明冻结一定更好吗?
答案:作者利用已有视觉表示,集中适配连接器和语言端的指令行为,降低训练复杂度。实验说明这一配置可用,但没有穷尽相同预算下视觉微调策略,因此不能推出所有领域都应冻结;医学图像等分布变化可能需要不同处理。
3. 看到85.1和92.53%,应先追问什么,才能正确解释成绩?
答案:先问指标分母、评委输入和系统组成。85.1是相对参考回答评分,不是正确率;92.53%是领域微调模型与文本 GPT-4 判断组合后的 ScienceQA 准确率。还要确认测试规模、重复方式,以及单模型90.92%的比较口径。