前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多模态图表理解新SOTA: TinyChart-3B,兼顾性能和效率

多模态图表理解新SOTA: TinyChart-3B,兼顾性能和效率

作者头像
zenRRan
发布2024-05-11 14:14:08
2600
发布2024-05-11 14:14:08
举报

作者:胡安文@知乎

https://zhuanlan.zhihu.com/p/696540858

作为一种重要的信息来源,图表(Chart)能够直观地展示数据关系,被广泛地应用于信息传播、商业预测和学术研究中 [1]。随着互联网数据的激增,自动化图表理解受到广泛关注,近期诸如GPT-4V、QwenVL-Max和Gemini-Ultra等通用闭源多模态大模型都展现出一定的图表理解能力,开源模型Chartllama [2]、ChartAst [3]等也在图表问题回答、图表总结和图表转换等任务上取得强大的性能。然而,目前开源的图表理解模型有以下三个局限:(1)模型参数规模庞大,难以部署到应用中。例如Chartllama包含13B参数,无法直接部署到单张小于26 GB显存的消费级显卡上 [4]。(2)模型容易出现数值错误,尤其是回答涉及数值计算的问题时 [3]。(3)模型无法高效处理高清图片,而许多关键信息(比如OCR文本)往往需要在较高分辨率下才清晰可见。并且,考虑到标准视觉Transformer会产生较长的视觉特征序列,直接提高输入分辨率又会带来计算效率问题。

图1 TinyChart在多项图表理解评测上取得最佳性能,并展现出推理效率优势

针对以上三个问题,中国人民大学与阿里巴巴通义实验室mPLUG团队推出多模态图表理解模型TinyChart(https://arxiv.org/abs/2404.166355),仅通过3B参数达到多模态图表问答的SOTA水平(ChartQA: 83.6 > Gemin-Ultra 80.8 > GPT4V 78.5),并展示推理速度的优势,同时具备图表总结、图表转换和图表重绘等能力。相关代码已开源(https://github.com/X-PLUG/mPLUG-DocOwl-DocOwl,demo:https://https://huggingface.co/spaces/mPLUG/TinyChart-3BPLUG/TinyChart-3B)。针对数值计算问题,TinyChart采用程序思维链学习,能够生成Python程序进行计算,显著减少计算错误。而对于高清图片处理问题,考虑到图表通常包含大片的色块和空白区域,TinyChart引入视觉特征融合模块,将相似的区域融合到一起,从而有效降低了视觉特征序列长度。

TinyChart结构

如图2所示,TinyChart采用一种常见的多模态大模型(MLLM)结构,由基于ViT的视觉编码器、基于MLP的图文连接模块和大语言模型组成。不同的是,为了高效编码高清图片,TinyChart在视觉编码器的每一层中插入视觉特征融合模块(Visual Token Merging)[5]。

图2 TinyChart总览图

图3详细展示了视觉特征融合模块。它位于每层transformer的self attention和FFN之间,通过融合相似视觉特征的方式降低高分辨率图片特征的序列长度。图3(b)展示了融合过程。首先将视觉特征对应的token分成两个互不相交的两个集合,对于其中一个集合中的每个token,从另一个集合中找到与他最相似的token并连边。然后,保留相似度最高的 条边。最后,将有边相连的视觉特征进行平均融合。这个过程能够以较快的速度找到相似的视觉token并进行特征融合 [5]。通过视觉特征融合,视觉序列在经过每一层处理后长度降低 𝑟 ,最终的序列长度降低

,其中N为ViT的层数。

图3 视觉特征融合模块(a)位于每层Transformer之中(b)融合流程

程序思维链学习

TinyChart加入程序思维链方式进行训练。在进行推理时,对计算类问题可先生成Python程序,再交给Python解释器执行得到最终答案。而训练这项能力需要图片-问题-Python程序这样的数据支撑。为此,我们构建了ChartQA-PoT数据集。如图4所示,该数据集基于ChartQA [6]的图表图片,通过以下两种方式构建问题-Python程序对:

(1)基于模版的方式:构建包含placeholder的问题模版的程序模版,给定特定的图表数据,填入模版中的placeholder。

(2)基于GPT的方式:使用gpt-3.5-turbo,为ChartQA中人工标注的问题生成Python解答,并通过运行Python解释器验证答案的正确性(与标准答案进行比对)。我们将图表对应的表格数据提供给gpt-3.5-turbo,并给出相关的in-context样例促使LLM生成风格相似Python程序。

图4 程序思维链数据集构建方式

实验结果

表1展示了TinyChart在包含图表问答、总结和图表转换等多项评测基准上的性能。只有3B参数的TinyChart在这些基准上达到了最佳性能,其中在ChartQA上甚至超过了GPT-4V、Gemini-Ultra、Qwen-VL-Max等多个闭源多模态大模型,这得益于高效的程序思维链和高分辨率视觉图片处理方法。由于较小的模型规模,TinyChart在推理时的吞吐量也远高于包含ChartLlama、ChartAst等更大规模的开源模型。

表1 图表理解评测

从样例中也能够看出,TinyChart能够正确理解图表内容,并完成问题回答、图表总结、图表转换和图表重绘等任务。

图表问题回答

图表转换

图表总结生成

图表重绘

总结

TinyChart是一个具有3B参数量的多模态图表理解大模型,通过程序思维链学习和视觉特征融合模块,它在图表问题回答、图表总结生成、图表转换、图表重绘等多项图表理解任务上达到最佳性能,在推理速度上有明显优势,并可以通过生成Python程序解决计算问题。不过,我们发现TinyChart在生成过程中仍然存在幻觉问题,并且目前不支持中文图表理解。团队会进一步对TinyChart进行优化,欢迎大家持续关注和友好讨论!

参考文献

[1] Kung-Hsiang Huang, Hou Pong Chan, Yi R. Fung, Haoyi Qiu, Mingyang Zhou, Shafiq Joty, Shih-Fu Chang, and Heng Ji. 2024. From Pixels to Insights: A Survey on Automatic Chart Understanding in the Era of Large Foundation Models. arXiv preprint. arXiv:2403.12027.

[2] Yucheng Han, Chi Zhang, Xin Chen, Xu Yang, Zhibin Wang, Gang Yu, Bin Fu, and Hanwang Zhang. 2023. Chartllama: A multimodal llm for chart understanding and generation. arXiv preprint. arXiv:2311.16483(2023).

[3] Fanqing Meng, Wenqi Shao, Quanfeng Lu, Peng Gao, Kaipeng Zhang, Yu Qiao, and Ping Luo. 2024. ChartAssisstant: A Universal Chart Multimodal Language Model via Chart-to-Table Pre-training and Multitask Instruction Tuning. arXiv preprint arXiv:2401.02384(2024).

[4] https://www.zhihu.com/question/612046818/answer/3438795176

[5] Daniel Bolya, Cheng-Yang Fu, Xiaoliang Dai, Peizhao Zhang, Christoph Fe- ichtenhofer, and Judy Hoffman. 2023.Token Merging: Your ViT But Faster. In The Eleventh International Conference on Learning Representations.

[6] Ahmed Masry, Xuan Long Do, Jia Qing Tan, Shafiq Joty, and Enamul Hoque. 2022. ChartQA: A Benchmark for Question Answering about Charts with Visual and Logical Reasoning. InFindings of the Association for Computational Linguistics: ACL 2022. 2263–2279.


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习自然语言处理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TinyChart结构
  • 程序思维链学习
  • 实验结果
  • 总结
  • 参考文献
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档