Plot2Code: A Comprehensive Benchmark for Evaluating Multi-modal Large Language Models in Code Generation from Scientific Plots

相关链接:arXiv 关键字:Multi-modal LLMsCode GenerationBenchmarkVisual Codingmatplotlib

摘要

多模态大型语言模型(MLLMs)在视觉领域的卓越进展引起了显著关注。然而,它们将视觉图表转换为可执行码的能力尚未得到充分评估。为了解决这个问题,我们介绍了Plot2Code,这是一个全面的视觉编码基准测试,旨在公平深入地评估MLLMs。我们精心收集了来自公开可用的matplotlib画廊的132个手动选择的高质量matplotlib图表,涵盖六种图表类型。对于每个图表,我们都提供了其源代码和由GPT-4总结的描述性指令。这种方法使Plot2Code能够广泛评估MLLMs在各种输入模态下的代码能力。此外,我们提出了三个自动评估指标,包括代码通过率、文本匹配比率和GPT4V总体评分,以进行细粒度的输出代码和渲染图像评估。我们使用GPT-4V而不是简单地判断通过或失败,来对生成的和参考图像进行总体判断,这已被证明与人类评估一致。评估结果包括对14个MLLMs(如专有的GPT-4V、Gemini-Pro和开源的Mini-Gemini)的分析,突出了Plot2Code所呈现的实质性挑战。通过Plot2Code在视觉编码上的评估结果,我们希望指导MLLMs未来的发展。Plot2Code涉及的所有数据可在https://huggingface.co/datasets/TencentARC/Plot2Code找到。

核心方法

  1. 数据收集与筛选:从matplotlib画廊中收集841个不同的代码块,并通过自动化处理和手动筛选,最终获得132个测试示例。
  2. 评估设置:包括直接提问(Direct Asking)和条件提问(Conditional Asking)两种场景,以支持基于文本和图像输出的自动度量评估。
  3. 评估指标:提出了包括代码通过率、文本匹配比率和GPT-4V整体评分在内的评估指标,以全面评估模型性能。
  4. 模型评估:对14种公开可用的MLLMs进行评估,包括闭源商业API模型和最先进的开源模型。
  5. 统计分析:进行假设检验和相关性分析,以验证所提出的评估指标的有效性,并确定GPT-4V评分与人类评估之间的关系。

实验说明

实验结果通过表格展示,包括直接提问和条件提问两种设置下的代码通过率、文本匹配比率和GPT-4V整体评分。数据要求包括代码的可执行性、生成的图像与参考图像的相似度以及文本元素的精确匹配。数据来源于对不同MLLMs在Plot2Code基准测试上的评估。

模型 直接提问 条件提问
代码通过率 80.3% 68.2%
文本匹配比率 56.7% 53.6%
GPT-4V评分 9 7.68

结论

在本研究中,我们提出了一个全面的基准测试Plot2Code,用于评估多模态语言模型的代码生成能力。这个基准测试包含了广泛的科学图表的复杂性和类型,是一个强大的工具,用于评估不同模型的性能。我们提出了一套评估指标,包括代码通过率、文本匹配比率和GPT-4v评分,这些指标共同提供了对模型性能的全面评估。我们在Plot2Code基准测试上对各种模型的评估揭示了性能的显著差异,突出了该任务所提出的挑战以及当前模型中存在的改进空间。我们发现,尽管一些模型可以生成可执行的代码并产生与参考图像相似的图表,但准确再现所有文本元素和细节仍然是一个挑战。未来的工作可能会进一步探索多模态推理、文本密集图像理解和MLLMs的复杂代码生成能力。我们希望与这些方面相关的更多研究可以进一步缩小开源社区MLLMs与闭源商业API之间的差距。