会自己一步一步思考的模型:LLaVA-o1

445 阅读7分钟

LLaVA-o1: Let Vision Language Models Reason Step-by-Step

今天在抱抱脸上看到一篇新论文,前天16号发布的 《LLaVA-o1: 让视觉语言模型逐步推理》 (原文章名:LLaVA-o1: Let Vision Language Models Reason Step-by-Step)。论文的核心是介绍一个新的视觉语言模型LLaVA-o1,看论文里面介绍说,模型可以在多阶段的推理过程中实现更精确的视觉问答能力。接下来,我会用简单易懂的方式带你逐步理解这篇论文的各个关键部分。

先给出论文链接:

arxiv.org/pdf/2411.10…

一、背景

论文的背景先是提到了目前LLM在语言理解和推理上已经取得的显著进展。介绍它们通过所谓的 推理时间扩展(inference-time scaling)策略,可以在回答复杂问题时逐步推理,例如使用 链式推理(Chain-of-Thought, CoT) 技术,让模型像人类一样,先一步步思考,再得出最终答案。这项技术其实在去年就有了,这是属于提示词的一项提升方案,在之前见的比较多的是用在数学问题上,跟模型说“请你一步一步思考”、“Think step by step”,后来在去年年尾渐渐用在其他地方,被大家玩出花来。

image.png

回到论文上,当我们将任务从纯文本扩展到 视觉语言任务(Vision-Language Tasks) 时,问题变得更加复杂。我们希望模型不仅能理解文字,还要理解图像。这种 视觉语言模型(VLM) 的难点在于如何将视觉信息(如图片、视频)与文本信息结合起来进行推理。

当前的很多视觉语言模型通常采用的是 直接预测 的方式。也就是说,模型在看到问题和图像后,直接输出一个简短的答案。这种方法虽然在简单的视觉问答(VQA)任务中表现不错,但在需要复杂推理的任务中表现不佳。这是因为:

  • 缺乏系统性推理:直接预测的方式无法分步骤思考问题。
  • 缺乏结构化的推理过程:模型无法有效组织信息,容易导致逻辑错误或错误结论。

二、LLaVA-o1 模型的设计与创新

为了应对这些挑战,作者们提出了一个新的模型,叫做 LLaVA-o1。这个名字中的 “o1” 是为了向 OpenAI 的 o1 模型致敬,但 LLaVA-o1 更加关注视觉语言领域。

LLaVA-o1 的核心理念是通过 多阶段推理(Multistage Reasoning) 来提高模型的推理能力。也就是说模型在回答问题时,不是直接给出答案,而是按照以下四个清晰的阶段进行推理:

image.png

  1. Summary(总结阶段)

    • 模型首先会对问题进行快速总结。比如,提取出问题中的关键信息,理解问题的核心需求。
    • 举例:如果问题是“这张图片中有多少只猫?”,模型会先总结:“我要数一数图中的猫”。
  2. Caption(图像描述阶段)

    • 接下来,模型会描述图像中与问题相关的元素。这有助于将视觉信息转化为文字描述。
    • 举例:模型会描述:“这张图片展示了一只黑色的猫和一只白色的猫”。
  3. Reasoning(推理阶段)

    • 在这个阶段,模型会根据前两个阶段收集的信息进行深入分析和推理。
    • 举例:模型会进一步推理:“总共有两只猫,所以答案是 2”。
  4. Conclusion(结论阶段)

    • 最后,模型会基于推理得出最终答案,并将其输出。
    • 举例:“最终答案是 2 只猫”。

看到它的推理阶段,让我想起在我入门大模型时用到的一个工具:langchain,langchain里面的检索器部分就有一些类似作用的工作流,例如:

  • 分步推理:让模型一步步思考,然后根据模型输出的信息去对知识库做检索,相当于做了一个检索时的语义增强,提高准确性,最后得出答案。
  • 分解成小问题:用户输入问题时,模型会把用户的问题拆解成多个小问题,然后分别对多个小问题进行知识库检索,最后将检索到的信息合并喂给模型,生成最终答案。

训练数据集:LLaVA-o1-100k

估计是因为现在很多大模型的思考能力是根据提示词来做引导的,为了让模型从根本上学会这些步骤,作者创建了一个新的 数据集LLaVA-o1-100k 。这个数据集包含 10 万个视觉问答对,并且为每个问题提供了详细的推理步骤。这些数据样本不仅有问题和图像,还有对应的总结、描述、推理和结论标签(例如 <SUMMARY>...</SUMMARY> 等)。

image.png

  • 数据来源:数据集结合了多个公开的视觉问答数据集,如 ShareGPT4V、ChartQA、ScienceQA 等。
  • 数据集的作用:帮助模型在训练时理解如何分步骤解决问题,而不是简单地进行直接预测。

推理时间优化:阶段级 Beam Search

LLaVA-o1 还引入了一种新的推理优化方法,叫做 阶段级 Beam Search。这是什么呢?

  • Beam Search 是一种常见的生成式推理方法,通过生成多个候选答案,然后选择最优解来提高模型的准确率。
  • 阶段级 Beam Search 是指模型在每个推理阶段(总结、描述、推理、结论)生成多个候选答案,并在每个阶段选择最佳答案继续下一个阶段。这种方法相比传统的 Beam Search 更加高效,因为它可以更早地过滤掉不太可能的答案,从而提高整体推理的准确性。

三、实验与结果分析

3.1 基准测试

作者们通过多个基准测试验证了 LLaVA-o1 的效果,这些测试包括:

  1. MMStar:评估视觉问答能力。
  2. MMBench:评估视觉理解的广度和深度。
  3. MMVet:专注于复杂的实例推理任务。
  4. MathVistaAI2D:评估模型的数学和科学推理能力。
  5. Hallusion-Bench:测试模型在语言幻觉和视觉错觉任务上的表现。

image.png

3.2 实验结果

实验表明:

  • 显著性能提升:LLaVA-o1 比基础模型(Llama-3.2-11B-Vision-Instruct)在多个基准上平均提升了 6.9% 的准确率。
  • 数据高效性:尽管只使用了 10 万条数据进行训练,LLaVA-o1 依然超过了许多更大规模的模型(如 GPT-4o-mini 和 Gemini-1.5-Pro)。
  • 推理优势:尤其是在需要复杂逻辑推理的任务上(如数学和科学问题),LLaVA-o1 的表现尤其出色。

四、模型性能分析与消融实验

为了更深入了解 LLaVA-o1 的有效性,作者们进行了多项消融实验:

4.1 标签的重要性

实验对比了使用和不使用结构化标签(

、 等)对模型性能的影响。结果显示:

  • 没有标签 的模型性能下降了约 2-3% ,这表明分阶段的标签帮助模型更好地组织和推理信息。

4.2 推理时间优化效果

与传统的 Best-of-N 搜索句子级 Beam Search 相比,阶段级 Beam Search 在推理时间相近的情况下表现更优,尤其在处理复杂任务时更稳定。

五、总结与未来工作

  1. 提出了一种新型的视觉语言模型(LLaVA-o1),实现了多阶段推理能力
  2. 引入了 LLaVA-o1-100k 数据集,为未来的研究提供了高质量的推理训练数据。
  3. 提出了阶段级 Beam Search 推理方法,提升了推理的准确性和效率。

未来,作者们计划探索 强化学习外部验证器 的使用,进一步提升模型在更复杂任务中的推理能力。这就是这篇论文的主要内容了。

不过这种技术主要还是用在现实应用上,没有做到本质上的智能创新,而是在更加细致的步骤上去做到更好,这也给各位要发论文的朋友提供了一个新思路(doge)。后面有时间的话仍然会做这一类论文解读的工作,感兴趣的朋友可以点赞关注支持一波~