从语言模型中蒸馏视觉推理能力:数据合成新方向
随着大语言模型(LLM)规模的不断扩大,互联网上的高质量语料资源逐渐匮乏。许多研究开始利用合成文本数据来训练 LLMs,例如微软的 Phi 系列模型、英伟达的 Nemotron-340B 模型等。高质量的合成数据为开源模型带来了显著的性能提升,这一方法也被称为新一代的「模型蒸馏(Distillation)」。同样,在多模态领域,已有部分研究尝试蒸馏更强多模态大模型(Stronger MLLMs)的能力,例如 ShareGPT4V 等工作。
然而,当前的这些工作仍然面临一些限制:
- 现有 MLLMs 能力不足:即使是 GPT-4o 等顶尖模型,在复杂的视觉推理任务中仍容易受到幻觉困扰。
- 图像合成的不可控性:多模态数据的质量不仅取决于文本指令,更取决于图像本身。目前 AIGC 方法往往注重画质和内容表现,却无法精确控制细节,尤其难以生成具有识别和推理挑战的特定图像。
这就引出了一个核心问题:是否存在一种多模态数据合成方式,能够同时构造优质的文本指令与高质量的图像?在尽量减少人工参与的情况下实现高度自动化,同时保持成本可控且具备良好的可扩展性?
为了实现这三个目标,我们探索了从语言模型中蒸馏视觉推理能力的可能性。在图表问答场景中,我们通过代码作为中介(Code-as-Intermediary Translation, CIT)来合成多模态指令微调数据集,包括推理密集的图像和问答对。
1 动机介绍
为何选择 Chart 场景?
在本研究中,我们选择了图表问答(Chart Question-Answering, CQA)场景。主要基于以下两点考虑:
图表生成的可控性:与自然图像不同,图表(例如柱状图、折线图)可以通过代码唯一地映射生成,而根据图表也可以准确还原出代码。这种代码生成的图像具备非常好的文字可控性,不同于传统 AIGC 模型,其生成的图像不够稳定、缺少细节。
全面考察多模态能力:CQA 任务能够系统地考察多模态模型的感知、推理能力。许多模型如 GPT-4o、Claude 3.5 都会在官方博客中公布 CQA 任务上的表现。
在论文中,我们首先分析了最新的开源模型在经典的 ChartQA 任务上的表现。如果去观察这些模型做错的问题,可以发现它的错误类型主要集中在两类:
- 识别错误:模型在最基础的信息识别上就出错,例如颜色、数值提取;
- 推理错误:模型在正确识别后,在推理环节反而出错,例如数值计算、逻辑推断。
通过这些现象的观察,我们发现当模型想要解决一个视觉难题的时候,它对两部分能力:识别和推理,缺一不可。那么我们如何去针对性地提升这两方面能力呢?一个直接的办法就是构造这样的带思维链的指令数据去微调模型。
我们调研了现有的 CQA 相关数据集,并将这些数据的属性分成了三大类:图表、问答、数据本身的属性,并整理了对比表。
可以看出:
- 图表属性:图表类型和主题决定了多样性。数据集不仅要涵盖多种图表类型,还应提供数据表或文字说明等辅助形式,有助于语言模型的输入和理解。此外,图表的复杂度也是一个关键因素——对图像识别提出了更大的挑战。
- 问答属性:我们关注其是否基于模板生成(使用模板会降低多样性)、是否与图表视觉信息相关(如颜色、位置、结构),而非仅限于数值的提取。以及答案是否包含完整的思维链,有助于模型训练。
- 数据集属性:依赖人工标注的高质量数据集因成本高,规模难以扩展,只适合作为小规模的测试集。此外,部分合成数据集只能扩展问答对,无法拓展图像内容,因而无法满足大规模 Scale 的需求。
LLMs 如何看懂图表?
为了实现「低成本、高效、易于扩展」的多模态数据合成方法,我们将目标转向了纯语言模型,因为其相比现有的多模态大模型,能力更稳定且成本更低。在正式开始前,我们先做了一项前置调研,探讨语言模型能否「看懂」图表——尝试仅通过文本输入,让 LLMs 理解图表的结构和内容。
具体来说,我们收集了多种图表形式,包括:
- 图表的图像文件;
- 用于绘图的数据表(CSV 表格);
- 用于绘图的完整 Python 脚本。
我们尝试将这些不同形式(图像、数据表、代码)分别输入给 GPT-4o 模型,让其合成具有挑战性的图表问答。为评估这些问答对的质量,我们招募了若干标注人员,从以下三个维度进行评分:
- 正确性:问题、答案是否正确;
- 推理复杂度:问题是否具有挑战性;
- 视觉参考性:问题是否涉及对颜色、位置、结构等视觉元素的考察。


