logo
P
Prompt Master

Prompt 大师

掌握和 AI 对话的艺术

Multimodal CoT

融合视觉与文本的 CoT 两阶段框架

Zhang 等人(2023)提出了一种多模态思维链提示方法。传统的思维链提示方法侧重于语言模态。相比之下,多模态思维链将文本和视觉融入到一个两阶段框架中。第一步涉及基于多模态信息的理性生成(rationale generation)。接下来是第二阶段的答案推断(answer inference),它利用生成的理性信息来得出最终答案。

多模态 CoT 模型(1B 参数)在 ScienceQA 基准测试中的表现优于 GPT-3.5。

MCOT

图片来源:Zhang et al. (2023)

为什么需要多模态 CoT?

传统的文本 CoT 在处理包含视觉信息的问题时存在明显局限。例如:

  • 科学题目:包含实验示意图、电路图、化学结构式
  • 数学几何:需要从图形中读取角度、长度、位置关系
  • 数据分析:涉及图表、柱状图、折线图的解读
  • 日常推理:需要观察照片中的细节来回答问题

在这些场景下,仅靠文字描述无法提供足够的信息,模型需要"看到"图像才能做出正确推理。

两阶段框架详解

阶段一:理性生成(Rationale Generation)

模型接收文本和图像作为输入,生成推理过程(rationale)。这个阶段的目标是让模型"说出"它的思考过程,包括它从图像中观察到了什么、如何将视觉信息与文本信息结合。

输入:
- 文本:一个物体沿斜面下滑,斜面角度如图所示。物体质量为2kg,
       求物体受到的重力沿斜面方向的分力。
- 图像:[一个30度角的斜面示意图]

理性输出:
从图中可以看出斜面角度为30度。物体质量m=2kg,
重力G = mg = 2 × 9.8 = 19.6N。
重力沿斜面方向的分力 = G × sin(30°) = 19.6 × 0.5 = 9.8N。

阶段二:答案推断(Answer Inference)

将第一阶段生成的理性与原始输入(文本+图像)拼接在一起,送入模型生成最终答案。这种两阶段方法的优势在于:理性为答案推断提供了"桥梁",使模型能更好地利用多模态信息。

输入:
- 原始文本 + 图像
- 理性(来自阶段一)

输出:
答案:重力沿斜面方向的分力为 9.8N

关键技术细节

视觉特征融合

多模态 CoT 使用视觉 Transformer(ViT)提取图像特征,并通过以下方式与语言特征融合:

  1. 特征拼接:将视觉特征向量与文本 embedding 拼接
  2. 交叉注意力:在 Transformer 层中让文本 token "关注"图像 patch
  3. 门控机制:动态控制视觉信息的注入比例

幻觉问题与解决

论文发现一个有趣的现象:当模型仅使用文本输入时,生成的 rationale 中经常出现幻觉(hallucination),即编造图像中不存在的信息。加入视觉模态后,幻觉率显著下降。

❌ 仅文本 CoT(幻觉):
"从图中可以看出这是一个等边三角形..."
(实际图中是直角三角形)

✅ 多模态 CoT(正确):
"图中显示一个直角三角形,其中一个角为90度,另一个角标注为30度..."

实验结果

在 ScienceQA 基准上的表现:

模型参数量准确率
GPT-3.5(CoT)175B75.17%
GPT-4(CoT)-83.99%
多模态 CoT(小模型)1B84.91%

关键发现:

  • 1B 参数的多模态 CoT 模型竟然超越了 GPT-3.5(175B),甚至略优于 GPT-4
  • 两阶段方法比单阶段方法(直接生成答案)准确率高 16%
  • 视觉特征对减少幻觉至关重要——没有视觉输入时,理性中的幻觉率高达 65%

实际应用场景

1. 教育与考试辅助

多模态 CoT 非常适合处理包含图表的考试题目:

Prompt:
请看下面的图表,回答问题。请先描述你从图中看到了什么,
然后一步步推理得出答案。

[附加图像:某公司2020-2025年营收柱状图]

问题:哪一年的营收增长率最高?

2. 医学影像分析

Prompt:
请分析以下X光片。首先描述你在图像中观察到的关键特征,
然后基于这些观察给出你的初步判断和推理过程。

[附加图像:胸部X光片]

3. 代码 + 截图调试

Prompt:
以下是一段代码和它的运行截图。请先描述截图中显示的错误现象,
然后分析代码中可能导致该错误的原因,最后给出修复建议。

代码:[代码块]
截图:[错误截图]

在现代多模态模型中的应用

虽然原论文使用的是微调小模型,但多模态 CoT 的思想在现代大模型(GPT-4o、Claude、Gemini)中同样适用。你可以通过 prompt 引导模型执行类似的两阶段推理:

请按以下步骤回答问题:

第一步(观察与推理):
- 仔细观察图像中的所有相关信息
- 列出关键的视觉元素(数字、标签、关系)
- 描述你的推理过程

第二步(得出答案):
- 基于你的推理,给出最终答案
- 说明你的信心程度和可能的不确定性

自查清单

  • 问题是否包含需要视觉理解的信息?(如果纯文本足够,用标准 CoT 即可)
  • 是否明确要求模型先"描述观察"再"推理作答"(两阶段思维)?
  • 图像分辨率是否足够模型识别关键细节?
  • 是否提供了结构化的输出格式要求?

参考文献