24年11月来自清华、北大、鹏城实验室和阿里等多个机构的论文“LLaVA-CoT: Let Vision Language Models Reason Step-by-Step”。
大语言模型在推理能力方面已取得重大进步,特别是通过推理时间的规模化,OpenAI 的 o1 等模型就是明证。然而,当前的视觉语言模型 (VLM) 通常难以执行系统性和结构化的推理,尤其是在处理复杂的视觉问答任务时。这项工作介绍 LLaVA-CoT,一种旨在进行自主多阶段推理的新型 VLM。与思维链提示不同,LLaVA-CoT 独立参与总结、视觉解释、逻辑推理和结论生成的顺序阶段。这种结构化方法使 LLaVA-CoT 能够在推理密集型任务的精确度上实现显著的提高。为了实现这一目标,编译 LLaVA-CoT-100k 数据集,整合来自各种视觉问答源的样本并提供结构化的推理注释。此外,提出一种推理-时间阶段-级的集束搜索方法,可以实现有效的推理-时间规模化。值得注意的是,仅使用 100k 个训练样本和一种简单而有效的推理时间规模化方法,LLaVA-CoT 不仅在广泛的多模态推理基准上比它的基础模型高出 8.9%,而且还超越更大甚至闭源模型的性能,例如 Gemini-1.5-pro、GPT-4o-mini 和 Llama-3.2-90B-Vision-Instruct。
以 OpenAI o1 [66] 为代表的大语言模型表现出强大的系统性和深度推理能力,验证推理-时间规模化对语言模型的有效性 [50]。然而,视觉对于使模型充分理解世界和扩展其认知能力也同样重要 [6]。因此,开发一种集成语言和视觉并促进有效、系统和深度推理的多模态模型具有重要意义。早期的开源视觉-语言模型 (VLM) 主要采用直接预测方法 [23, 32, 34],对问题立即生成简短答案。这种直接响应范式的主要限制是缺乏结构化的推理过程,使得它在需要逻辑推理的任务中效率较低 [65]。最近的研究表明,结合思维链 (CoT) 推理可以鼓励模型逐步推理,显著提高其问答能力 [55]。然而,即使有了 CoT 推理,大多数 VLM 在推理过程中也经常产生错误或幻觉输出 [26, 33, 53]。
研究结果表明,这些问题的一个重要原因是现有 VLM 中推理过程的系统性和结构性不足。具体而言,系统性是指模型不会生成直接的推理链,而是进行多阶段推理。另一方面,结构性是指模型能够清楚地识别其所处的推理阶段并理解每个阶段要解决的主要任务。VLM 经常在没有充分组织问题和可用信息的情况下发起响应。此外,它们经常偏离逻辑推理而得出结论,而不是过早地得出结论并随后试图证明它。鉴于语言模型逐token生成响应,一旦引入错误的结论,模型通常会沿着有缺陷的推理路径继续前进。
OpenAI o1 [66] 通过使模型能够通过语言独立进行系统和结构化的推理,有效地解决这些问题。虽然社区对 OpenAI o1 [45, 57] 的底层机制进行一些初步探索,但该模型仍然是一个黑匣子,其技术细节在很大程度上尚不清楚。
使用大语言模型进行视觉推理
视觉推理需要模型的视觉感知能力和高级认知能力 [24, 39]。已有多项任务用于评估 VLM 的视觉推理能力,包括 VQA [22, 28] 要求模型根据视觉内容和文本问题进行回答,以及视觉蕴涵 (visual entailment)[51] 要求模型确定文本描述和视觉内容的一致性等。
传统的视觉语言模型采用神经符号方法 [5, 12] 来明确模拟视觉推理过程。随着 LLM 的发展,视觉语言模型利用 LLM 的高级推理能力来解释视觉任务 [34, 62]。一些视觉语言模型通过优化视觉编码策略 [23, 31, 34] 来增强视觉推理能力,以产生以认知为中心的视觉tokens。 VISPROG [19] 将 LLM 定位为决策智体,通过调用特定于任务的视觉模块来增强视觉推理能力。Hu [20] 通过序贯指令调整来提高推理能力。此外,语言模型的指令学习技术,包括提示调整 [64]、上下文学习和监督微调 [49],也有助于提高视觉推理能力。
大语言模型中的思维链
当 LLM 面临常识推理 [16, 47]、逻辑推理 [29, 58] 等难题时,思维链提示 [55] 提供一种循序渐进的推理轨迹。具体来说,思维链提示将问题分解为一组推理步骤,并构建一个链条来指导模型逐步生成复杂问题的结果 [13]。最近的研究表明,思维链提示大大提高 LLM 的推理任务能力。例如,Prism [44] 通过将过程分为感知阶段和推理阶段来提示 LLM。MSG [8] 率先使用强制思维链,为结构化提示技术开辟新的方向。
推理时间规模化
现有的推理时间规模化方法主要分为两类:依赖外部验证器进行选择 [27, 59] 和独立于任何外部验证器运行 [21, 56]。外部验证器选择方法可用于流行方法。另一方面,不依赖外部验证器的推理时间规模化方法主要包括多数投票 [21]、N 中最佳搜索 [4, 54] 和句子级的束搜索 [17, 52]。
多数投票
对于具有标准答案的某些类型问题有效,但不适用于开放式任务。
N 中最佳搜索
会生成 N 个完整答案并允许模型选择最佳响应。但是,生成完整答案以供选择会使评估其准确性变得复杂。
句子级的束搜索
会生成多个候选句子,选择最佳句子,并迭代地继续此过程。然而,这种方法的操作过于细致,导致模型难以有效地评估每个句子的响应质量。
LLaVA-CoT 促进渐进式、循序渐进的推理过程,从而增强视觉语言模型 (VLM) 的推理能力,并实现有效的推理时间规模化 [50]。通过结构化思维,LLaVA-CoT 实现系统而高效的推理过程。其推理时间推理框架使其在推理时间规模化方面优于现有方法。这种设计确保需要推理的复杂任务稳健性和准确性,这使其有别于传统方法。
如图说明推理过程的一般框架。从图中可以看出,基础模型Llama-3.2-11B-Vision-Instruct在推理上存在明显缺陷,推理过程中出现多处错误;而LLaVA-CoT则从问题概述开始,从图像中解读相关信息,逐步进行推理,最终得出有理有据的结论。
通过结构化思维增强推理能力
在训练期间的目标,是开发一种能够进行规模化推理链的视觉语言模型,使其能够进行系统而深入的推理。
推理阶段
提出的模型 LLaVA-CoT 将答案生成过程分解为四个结构化推理阶段:
-
• 总结阶段。在此初始阶段,LLaVA-CoT 对问题提供高级总结解释,概述其打算解决的问题的主要方面。
-
• 标题阶段。如果有图像,LLaVA-CoT 会提供与问题相关的视觉元素简明概述,帮助理解多模态输入。
-
• 推理阶段。在初始总结的基础上,LLaVA-CoT 进行结构化、逻辑推理以得出初步答案。
-
• 结论阶段。在此最后阶段,LLaVA-CoT 根据前面的推理综合答案。这里,结论阶段的输出是直接提供给用户的响应,而前三个阶段是代表LLaVA-CoT推理过程的内部“隐藏阶段”。此阶段的输出会根据用户的要求进行调整:例如,如果用户要求简短的回答,结论将简洁明了;如果需要详细的解释,结论将提供全面、彻底的响应。
每个阶段都由模型自行启动,无需外部提示工程框架或额外提示。具体来说,为模型提供四对特殊标签:
、、
和
。这些标签分别对应于总结响应方法、描述相关图像内容、进行推理和准备最终答案。
训练后,模型会根据需要自主选择这些标签,并根据自己的判断激活每个阶段。与 OpenAI o1 [66] 一样,模型在一次推理过程中完成所有阶段。这种结构化方法使模型能够独立管理其推理过程,提高其在复杂推理任务中的适应性和性能。
数据准备和模型训练
大多数现有的 VQA 数据集缺乏训练 LLaVA-CoT 模型所需的详细推理过程。因此,编制一个新的数据集,整合几个广泛使用的 VQA 数据集的样本,总共得到 99k 个图像 QA 对(每对可能包括一轮或多轮提问)。如图所示,由于目前还没有能够直接产生系统、结构化推理的多模态模型,用 GPT-4o [3] 生成详细的推理过程,包括摘要、标题、推理和结论,并将它们编译成 LLaVA-CoT-100k 数据集。