TinyChart: Efficient Chart Understanding with Visual Token Merging and Program-of-Thoughts Learning

2024年04月25日
  • 简介
    图表在呈现和解释复杂数据关系方面非常重要。最近,多模态大语言模型(MLLMs)在各种图表理解任务中展现出了非凡的能力。然而,这些模型在参数和计算要求方面的庞大规模限制了它们在资源受限环境中的使用。本文介绍了TinyChart,一种仅有3B参数的高效MLLM,用于图表理解。TinyChart克服了高效图表理解中的两个关键挑战:(1)通过“思考程序”(PoT)学习策略减轻学习数值计算的负担,该策略训练模型生成用于数值计算的Python程序;(2)通过“视觉令牌合并”模块减少视觉变换器为高分辨率图像产生的冗长视觉特征序列,逐渐合并最相似的视觉令牌。广泛的实验表明,我们的3B TinyChart在各种图表理解基准测试中实现了SOTA性能,包括ChartQA、Chart-to-Text、Chart-to-Table、OpenCQA和ChartX。它胜过了多个具有13B参数的图表理解MLLM,如ChartLlama和ChartAst,以及ChartQA上的闭源通用MLLM GPT-4V。它还展示了其卓越的效率,由于模型规模更小和更高效的视觉编码,在推理过程中具有更高的吞吐量。我们的代码和模型可在https://github.com/X-PLUG/mPLUG-DocOwl/tree/main/TinyChart上获得。
  • 图表
  • 解决问题
    TinyChart试图解决的问题是在资源受限的环境下,提供一个高效的多模态大语言模型(MLLM)来理解和解释复杂数据关系图表。论文通过两个关键挑战来实现这一目标:通过Program-of-Thoughts(PoT)学习策略减轻学习数值计算的负担,通过Vision Token Merging模块减少视觉变换器产生的冗长的视觉特征序列,从而实现高效的图表理解。
  • 关键思路
    TinyChart的关键思路是通过PoT学习策略和Vision Token Merging模块的结合,实现高效的图表理解。PoT学习策略训练模型生成Python程序进行数值计算,减轻了学习数值计算的负担;Vision Token Merging模块逐步合并最相似的视觉令牌,减少了视觉变换器产生的冗长的视觉特征序列。
  • 其它亮点
    TinyChart在多个图表理解基准测试中实现了SOTA性能,包括ChartQA、Chart-to-Text、Chart-to-Table、OpenCQA和ChartX。它比ChartLlama和ChartAst等具有多达13B参数的图表理解MLLM表现更好,并在ChartQA上优于闭源通用MLLM GPT-4V。它还展示了其卓越的效率,由于模型规模更小、视觉编码更高效,在推理期间具有更高的吞吐量。研究人员已经在GitHub上开源了代码和模型。
  • 相关研究
    最近在这个领域中,还有一些相关的研究,如ChartLlama、ChartAst和GPT-4V等。
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论