跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

从语言模型蒸馏视觉推理能力:基于代码中介的数据合成方法

综述由AI生成针对多模态大模型在复杂视觉推理任务中的幻觉问题,提出了一种基于代码中介翻译(CIT)的多模态数据合成新方法。该方法利用 Python 绘图代码作为图表与文本指令的中介,通过语言模型自动生成包含思维链的高质量图表问答对,构建了 ReachQA 数据集。实验表明,使用 ReachQA 训练能显著提升模型在图表识别、推理及通用数学任务上的表现,且识别与推理能力存在相互制衡关系。研究验证了从纯语言模型蒸馏视觉推理能力的可行性,为低成本构建高质量多模态训练数据提供了新方向。

Pythonist发布于 2025/2/6更新于 2026/6/220 浏览
从语言模型蒸馏视觉推理能力:基于代码中介的数据合成方法

从语言模型中蒸馏视觉推理能力:数据合成新方向

随着大语言模型(LLM)规模的不断扩大,互联网上的高质量语料资源逐渐匮乏。许多研究开始利用合成文本数据来训练 LLMs,例如微软的 Phi 系列模型、英伟达的 Nemotron-340B 模型等。高质量的合成数据为开源模型带来了显著的性能提升,这一方法也被称为新一代的「模型蒸馏(Distillation)」。同样,在多模态领域,已有部分研究尝试蒸馏更强多模态大模型(Stronger MLLMs)的能力,例如 ShareGPT4V 等工作。

然而,当前的这些工作仍然面临一些限制:

  1. 现有 MLLMs 能力不足:即使是 GPT-4o 等顶尖模型,在复杂的视觉推理任务中仍容易受到幻觉困扰。
  2. 图像合成的不可控性:多模态数据的质量不仅取决于文本指令,更取决于图像本身。目前 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 模型,让其合成具有挑战性的图表问答。为评估这些问答对的质量,我们招募了若干标注人员,从以下三个维度进行评分:

  1. 正确性:问题、答案是否正确;
  2. 推理复杂度:问题是否具有挑战性;
  3. 视觉参考性:问题是否涉及对颜色、位置、结构等视觉元素的考察。

可以看出,在文本形式的输入中(数据表和代码),模型的理解能力在前两个维度上优于直接图像输入。这可能是由于 LLMs 对文本的理解能力更强,数据表和代码输入能提供准确数值、结构化信息,便于模型精准解析图表内容。此外,数据表在视觉参考性上的得分较低,因为其仅包含数值输入,缺乏视觉细节。

值得注意的是,即便没有图像输入,代码输入仍能获得较高的视觉参考性分数。这表明代码不仅能传达数据,还包含丰富的视觉语义,如图表的类型、结构、颜色和位置等信息。这一发现表明,代码为语言模型的图表理解提供了一种有效途径,足以作为「看懂」图表的中介!

2 关键方法

CIT:代码中介翻译

基于上述发现,我们提出了 Code-as-Intermediary Translation (CIT)。我们借鉴了语言学领域中的「中介翻译」概念,这种方法应用于低资源语言间的翻译时,常利用高资源语言作为中介来提升翻译准确性。类似地,CIT 将代码作为图表与文本指令的中介,使用语言模型合成多样、复杂的图表、识别和推理导向的文本指令。

工作流程如下:

  1. 种子代码收集:从 Matplotlib 官方示例中收集 33 个种子代码。
  2. 多样性拓展:利用 Self-Instruct 和 Evol-Instruct 方法拓展种子代码的多样性、复杂性。
  3. 图像生成:在合成对应的代码后,一方面通过 Python 直接绘制图像。
  4. 指令构造:另一方面继续使用 LLMs 构造所需指令,生成带有思维链的问答对。
ReachQA 数据集信息

基于 CIT,我们构建了一个多模态指令数据集 ReachQA(Reasoning-intensive Chart Q&A)。

  • 训练集:包含 3k 张图表及 20k 问答对(其中 8k 识别 / 12k 推理)。
  • 测试集:包含 500 张图像和 2k 问答对(其中 1k 识别 / 1k 推理)。

每张图表附带多个识别和推理导向的问题,同时详细标注了每个问题的思维链答案。具体信息如下:

  • 识别导向问题:侧重于提取图表中的具体数值、标签、趋势等直观信息。
  • 推理导向问题:侧重于需要结合多个数据点进行计算、比较或逻辑推断的问题。

3 实验结果

主实验分析

我们在三类基准上进行了测试:

  1. 第一类基准:传统的图表任务,侧重识别能力,包括 ChartQA、ChartBench、ChartX。
  2. 第二类基准:同时关注图表的识别与推理能力,包括 CharXiv 和我们的 ReachQA 测试集。
  3. 第三类基准:通用的多模态数学推理任务,包括 MathVista 和 Math-Vision。

我们发现,闭源大模型在各类任务上表现更为均衡,不仅擅长传统识别任务,还在我们设计的推理任务上有出色表现。相比之下,部分开源模型(尤其是经过图表数据增强的模型和最新的开源模型)在能力上存在不平衡现象:它们在识别任务中表现较佳,但在复杂推理和通用数学任务上相对薄弱,可能反映出开源模型对常见基准的过拟合问题。

此外,经过 ReachQA 数据集的训练后,各个模型均有显著提升。如果只加入 8k 识别数据,模型会在识别任务中表现相对更好;而在 12k 推理数据上训练的模型则在推理密集的任务上更具优势。当结合识别和推理数据进行训练后,模型整体表现达到最优。此外,模型获得的这种推理能力还能泛化到除了图表任务之外的通用多模态数学推理任务,这是以前的工作中从未发现的。

推理能力的来源探究

进一步分析实验表明,模型能力的提升来源于丰富的图像和具有思维链的训练数据。 我们对多个开源数据集与 ReachQA 进行了对比分析,发现传统数据集(ChartBench)的局限在于仅提供最终答案,缺乏推理过程,导致模型的推理能力提升有限。而 ChartAst 因为其问题采用模板生成,缺乏多样性和难度,推理深度不足。

相比之下,ChartGemma 和 ReachQA 数据集具备多样化的图片内容和高质量的问答对,且包含完整的推理过程,有效提升了模型在多模态推理任务上的表现。但是 ChartGemma 数据集需要大量人力收集、过滤互联网上的图表资源,难以进一步扩大规模。

识别能力与推理能力的相互制衡

CharXiv 论文表示,识别与推理能力相互依存,而识别能力可能是有效推理的前提。为深入研究这一关系,我们在总数据量固定为 8k 的情况下,对推理数据和识别数据的比例(从 8:0 调整至 0:8)进行了实验。

如图所示,增加识别或推理数据比例能提升对应任务表现。识别任务中,高比例识别数据的模型甚至优于使用 20k 总数据训练的模型;而当推理数据比例增至 100% 时,性能却出现下降,表明推理数据的增加可能收益递减。

这或因推理能力部分依赖于识别能力:模型若无法准确理解图像中的信息,则更高层次的推理也会受限。尽管本研究未能进一步扩展数据量,但我们预计在更大数据集下,识别与推理数据的相互作用会更加显著。

混合通用数据,增强泛化能力

为了推动在实际应用场景中的落地,我们测试了将 ReachQA 与通用多模态训练集混合训练的效果。我们分别测试了 Base 模型、使用 20k ReachQA 数据集训练的模型、混合 20k 通用数据训练的模型。

结果表明,在 ReachQA 数据上训练,会略微影响通用多模态任务的表现,但同时也会显著提升模型的推理能力。并且,仅仅只需混合 20k 通用数据,便能基本恢复模型在通用任务上的表现,且在推理任务上依旧保持较高水准。

可解释性探究:从注意力角度

最后,我们通过一组注意力可视化的 Case Study 来尝试理解多模态推理的机制。通过将模型在预测下一个 Token 时的注意力分布可视化,我们能够观察到模型在推理时的视觉焦点。

例如,在回答「A 城市在 B 属性上的值是多少」这一问题时,经过我们训练的模型会依次关注标签、坐标轴、数据值等信息,最终准确得出答案;而未经微调的模型则注意力分散,难以形成稳定的焦点,最终导致答案错误。

4 总结与展望

本文的主要贡献包括:

  1. 探索了从语言模型中蒸馏视觉推理能力的可能性;
  2. 通过代码作为中介,高效构造高质量多模态图表和指令数据;
  3. 在多个模型和基准上验证了训练效果,并且观察到可泛化的视觉推理能力;
  4. 在 GitHub 和 Hugging Face 开源相关代码、数据集,可供复现、落地。

未来工作方向:

  • 数据规模扩展:当前数据集规模已达数千级,未来计划扩展至十万级,以进一步验证长尾分布下的模型鲁棒性。
  • 跨模态泛化:探索将 CIT 方法应用于其他结构化数据场景,如表格数据(Table QA)或科学公式推理。
  • 动态交互:研究如何让模型在推理过程中主动请求澄清或细化查询,模拟人类专家的分析流程。

资源链接:

  • 论文:https://arxiv.org/abs/2410.18798
  • 代码:https://github.com/hewei2001/ReachQA
  • 数据集:https://huggingface.co/datasets/hewei2001/ReachQA

目录

  1. 从语言模型中蒸馏视觉推理能力:数据合成新方向
  2. 1 动机介绍
  3. 为何选择 Chart 场景?
  4. LLMs 如何看懂图表?
  5. 2 关键方法
  6. CIT:代码中介翻译
  7. ReachQA 数据集信息
  8. 3 实验结果
  9. 主实验分析
  10. 推理能力的来源探究
  11. 识别能力与推理能力的相互制衡
  12. 混合通用数据,增强泛化能力
  13. 可解释性探究:从注意力角度
  14. 4 总结与展望
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 低空无人机 AI 算法详解:覆盖公安、消防、水利等十大核心场景
  • Stable Diffusion v1.5 实战:电商海报与创意图像生成指南
  • Coze AI Agent 开发平台入门与生态详解
  • Harness Engineering:给 AI 套上缰绳的工程学
  • 视频续播功能实现 - 断点续看从前端到 Spring Boot 后端
  • 现代 C++ 数学表达式解释器实现
  • 网络安全核心基础知识详解
  • 机器人路径规划:D* Lite算法应对动态障碍物及Python实现
  • Octo 模型:开源机器人技术如何降低行业门槛
  • 使用 CopilotKit 快速集成前端 AI 助手实战指南
  • 2025 最全的 10 大 AI提示库网站汇总
  • Windows 下安装 OpenClaw 并接入飞书机器人指南
  • 前端高频面试题:TypeScript 核心概念与实战解析
  • 当前主流大模型盘点及国内企业选型指南
  • Microsoft Copilot Studio 全面升级:一站式智能体构建与治理平台
  • 链表经典算法实战:相交节点查找与回文结构判断
  • 医疗 AI 场景下的朴素贝叶斯算法应用
  • 深度 Q 网络与知识图谱融合:映射机制深度解析
  • 医疗 AI 场景下算法编程深度解析(一)
  • CosyVoice 语音大模型部署与声音克隆指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online