多模态大语言模型(MLLMs)在图像描述、视觉问答等场景有着良好的表现。然而,MLLMs 在需要复杂多模态推理的任务上仍存在不足,多模态思维链(Chain-of-Thought,CoT)推理的性能甚至不如直接回答(Direct QA)。为提升 MLLMs 在视觉语言推理上的表现,本文主要做了两方面贡献:1. 构建了一个针对视觉语言场景的 Self-Train 自训练框架,在 STaR 的基础上,以自我反思为核心从错误中学习,提升了 VLM 自我提升的效率;2. 为 VLM 新增的自我反思机制,让模型在测试时能够采样多条推理路径再选择正确答案,从而通过 test-time compute 提升推理性能;该方法具有可扩展性,随采样次数增多能稳定提升性能且优于多数投票。
Vision-Language Models Can Self-Improve Reasoning via Reflection作者单位:
论文地址:
https://arxiv.org/abs/2411.00855项目地址:
https://github.com/njucckevin/MM-Self-Improve
引言
思维链(Chain-of-Thought,CoT)推理被广泛证明能够提升大语言模型(Large Language Model,LLM)在复杂任务上的性能。近期,OpenAI o1 通过生成超长 CoT 实现了 inference scaling law,将大模型的推理能力提升到了新的高度。LLM 的思维链推理能力部分来自大规模的预训练语料。在互联网语料中,天然存在大规模、无监督的以文本为中心的步骤数据(例如要完成某个任务,需要 step1/step2/...)。然而,此类多模态的思维链数据却相当稀缺,这限制了 MLLM 在复杂多模态任务上的推理潜能。近期一些工作也提到了该问题,开源 MLLM 难以将视觉线索有效地融入推理过程中。使用 CoT prompt 进行推理,相比直接问答(Direct QA)难以取得性能提升,并远远落后于 GPT-4o。一种可能的解决方案是人工收集多模态 CoT 数据用于后训练;然而,人工标注代价高昂,为每个感兴趣的任务标注数据也是不切实际的。为此,本文探索了通过自训练(Self-Training)提升 VLM 的推理能力,除了 follow STaR 利用正样本外,我们设计了以反思机制为核心的方法高效地从错误中学习来提升自学习效率。有趣的是,自我反思的学习机制使得 VLM 能够在测试时从多个推理路径中选择正确答案,从而实现 Inference scaling 提升推理性能。
我们提出了一个迭代式的多模态自训练框架(R3V,Vision-language Reasoning by Reflecting on CoT Rationales)。主要包含交替进行的两部分:1. 为多模态推理数据集迭代地 bootstrap 扩增正负样本;2. 自我反思以从错误中学习,我们设计了 self-refine 和 self-select 两个损失,引导 VLM 改正之前错误的推理,以及从多个推理结果中选择正确答案。
STaR [1] 是一个经典的自训练框架,受此启发,我们利用 MLLM 存在但较弱的推理能力,利用已有多模态推理数据集收集正负样本。对于数据集中提供的图片 I - 问题 x - 答案数据 a ,我们引导 MLLM 采样生成 CoT solution r;之后,可根据 solution 中答案的正确性将这个 CoT solution 划分为正样本和负样本:之后,我们可以利用正样本 SFT 我们的模型。上述过程可以迭代地进行,更好的模型产生了更高质量的 CoT 样本,更高质量的 CoT 样本进一步训练出了更好的模型。上述过程利用 positve 的正样本训练模型,negative 的负样本则被丢弃了。然而,负样本实际上占采样探索过程的很大比例,并且,我们认为负样本实际上能够为 VLM 提升推理提供极有价值的经验。在我们的前期实验中,我们发现多模态场景下,CoT 数据含有明显的噪声,这导致了传统 DPO 方法次优的性能。
受人类学生学习过程的启发,我们引入了自我反思的机制来从错误中学习,教会模型改正自己的错误、以及从多个推理路径中反思得到最终正确答案。2.2.1 Self-Refine
Self-refine 机制引导模型改正之前推理的错误。在 self-train 过程中,对同一个 sample 采样得到的多个推理结果可以视为对同一问题的多次推理,非常适合用于 self-refine 训练。具体地,self-refine loss 在给出问题和错误推理的情况下,鼓励模型生成一个正确的推理。在我们的前期实验中发现了 MLLM 推理的一个关键挑战:当前的 MLLM 推理中容易出现较简单的错误,例如错误地识别了表格中的数字,或是简单的逻辑错误。同时 LLM 自回归生成的特质使得模型没办法修正这些错误,导致性能不佳。与之相对,人类推理者在面对复杂问题时,会模拟多种推理路径、检查错误、相互比较,以得到最终答案。
受此启发,我们设计了 Self-Select 机制引导 VLM 从多个备选中选择正确答案。Self-Select loss 在给出问题和一组 N 个 solution 备选(有正确的也有错误的)时,引导模型从中选择一个正确的答案。其中 C 是备选 solution 集合。在这个过程中,我们希望隐式地让模型深入分析比较多个 solution 并检查其中的错误,以一种类似排除法的方式得到正确答案。我们认为上述多任务训练也为增强 VLM 推理提供了一种难易结合的方式,从多个备选中选择正确答案->将错误答案改正->直接推理正确答案,难度依次提升。上述训练涉及的正负样本都可以由我们的自训练框架通过采样产生,无需额外标注,从而实现 VLM 的自我提升。
2.3 Self-Selection for Inference Scaling前述的 Self-Select 训练使得我们的 VLM 具备特殊的能力:在测试时可以从多个推理路径中选择正确答案。具体地,给定一个问题,我们首先让 VLM 采样生成多个推理路径,之后通过 Self-Select prompt 引导它从中推导最终答案 。测试时 Self-Select 为 VLM 解决复杂推理问题提供了一种新路径:比较多个答案、应用排除法检查错误,最终挑选最可能正确的答案。并且这种方式具备可扩展性,可通过纳入更多推理路径来持续提升推理能力。
本文精心挑选了多个真正需要多模态推理(特别是多步推理)的数据集进行实验,以验证我们框架让 VLM self-improve 的能力。包含 TabMWP(表格)、ChartQA(图表)、CLEVR(抽象图)、GeoQA(几何)、M3CoT(科学/数学/常识)和 MiniWob(Web 智能体)等多种场景。更多实验结果请参考原文。
实验中选择 Qwen-VL、LLaVA 和 Qwen2-VL 作为基座模型。受限于 Qwen-VL 和 LLaVA-1.5 较弱的 CoT 能力,在 self-improve 之前加入了一个 GPT 蒸馏的阶段以 warmup(从数据集中筛选了约 10% 的样本 GPT 标注 CoT 训练),作为 GPT distill 基线。
此外我们也展示了 CoT 和 QA 的 zero-shot 性能,以及经典自训练方法 STaR 的结果。
VLM能够自我提升
从主表中可以看出,我们的自训练框架 R3V 在无需额外数据的情况下大幅提升了 VLM 的 CoT 推理能力,Qwen-VL(48.47->64.37)、LLaVA(49.03->59.03)。这展示了通过 bootstrap 样本自我提升 VLM 推理能力的广阔前景。从错误中学习进一步提升训练效率
从主表和下方训练迭代过程中可以看到,我们的自训练框架 R3V 通过反思从错误中学习,取得了比经典自训练方法 STaR 更好的学习效率和效果。R3V 在第一个 iteration 时即明显优于 STaR,并能随着迭代过程稳定自我提升。
Test-time Compute提升推理
为证明我们的 Test-time Self-Select 方法能够在测试时通过采样提升推理性能,我们比较了和 Test@1 以及多数投票(Majority Voting)的性能。
如下图所示,在多个任务上,我们的 Self-Select 方法一致优于多数投票。我们认为,Self-Select 机制在聚合多个答案减少噪声的基础上,隐式地让模型学到了比较多个答案的能力(类似于一种排除法),从而相比多数投票进一步提升了性能。一个有趣且重要的问题是,Self-Select 机制能否实现 inference scaling,即随着测试时采样样本越多持续提升推理性能。为此,我们在 Qwen-VL(左 2)和 Qwen2-VL(右1)上进行了实验(对于Qwen2-VL我们的框架无需 GPT warmup,所有训练数据都是自生成的)。
从下图结果中可以看到,我们的 Self-Select 方法具备一定 scaling 能力,效果明显优于多数投票。例如 Qwen2-VL 在 GeoQA 上,Test@1 正确率为 52%,采样 N=6 的多数投票为 58%,Self-Select 能达到 64%。
本文提出了一种新颖的 VLM 自训练框架,以反思机制为核心让模型从错误中学习,迭代地提升 VLM 的推理性能。同时,我们提出了一种支持 Inference Scaling 的机制 Self-Select,在测试时让 VLM 先生成多个推理路径再从中比较推导出最终结果。
实验结果表明,我们的框架有效激发了 VLM 自我提升的潜力,大幅提升了其 CoT 推理性能。并且,Self-Select 机制具备一定可扩展性,能够通过 scale 采样次数稳定提升推理能力,且明显优于多数投票方法。
[1] STaR: Self-Taught Reasoner Bootstrapping Reasoning With Reasoning
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」