前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >港大 & 腾讯 & 上交大 Plot2Code | 首个全面基准测试,深入评估多模态大型语言模型在视觉编码挑战中的表现!

港大 & 腾讯 & 上交大 Plot2Code | 首个全面基准测试,深入评估多模态大型语言模型在视觉编码挑战中的表现!

作者头像
AIGC 先锋科技
发布2024-07-08 13:19:04
1120
发布2024-07-08 13:19:04
举报
文章被收录于专栏:AIGC 先锋科技

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

1 Introduction

在大数据和计算能力显著进步的背景下,大型语言模型(LLM),例如ChatGPT [27]和GPT-4 [28],在商业和学术领域都成为了关注的焦点。为了在各种情境中扩展它们的灵活性,多模态大型语言模型(MLLM)[8; 23; 29]迅速发展,最新的模型如GPT-4V [29],Gemini [9],Claude-3 [1],以及开源模型LLaVA [21; 22],Mini-GPT [44; 5]等等[8; 7]。同时,各种各样的评估基准[17; 16; 41; 39]被策划出来,以评估它们在不同领域内的视觉理解性能。然而,对于文本密集图像中的图表的关注仍然存在明显的不足,这对于评估MLLM的多模态推理能力至关重要[24; 25]。

遵循理查德·费曼的理念,“我不能创造的东西,我就不理解”,评估MLLM生成能够有效渲染所提供图像的代码的能力,进一步展示了它们的多模态理解和推理实力。这一挑战要求MLLM准确解释输入图表中的视觉元素,与所提供的文本上下文相关联,并最终推导出可执行的代码来生成图表。

尽管近年来从单模态自然语言生成代码的发展经历了快速进步[30; 10; 37],但使用多模态输入进行代码生成的探索仍然是一个活跃的研究领域。以前的工作,例如HumanEval [6]和MBPP [2],主要集中在单模态代码问题上,而最近Design2Code [31]已经将范围扩展到包括用户界面(UI)设计,特别是HTML文件,用于评估MLLM。然而,这些研究关注的是单模态场景(例如,仅文本[6; 2]或仅图像[31]输入),在评估具有多模态输入的模型时能力有限。

为此,作者的工作强调了在评估MLLM的编程能力时,解决三个关键挑战的重要性和动机:

图1:Plot2Code概述。左:(a)来自作者Plot2Code数据集中的原始图表样本。(b)使用参考图像由多模态LLM生成的图表样本。右:(c)用于评估多模态LLM代码生成能力的综合 Pipeline 。作者考虑两种不同的设置:直接询问和条件询问。

  1. 评估设置是否容纳了所有模态,包括输入和输出中的文本和图像? 这个基本问题涉及视觉编码的范围。通过采用广泛的评估设置,作者可以对MLLMs在不同输入模态或其组合上的性能进行彻底的消融分析,同时评估跨不同模态的输出。
  2. 评估指标是否准确、直接且全面? 大多数现有的代码基准依赖于单元测试来获得二进制的评估结果。虽然这种方法对于单模态代码任务可能足够,但在需要代码通过率以及图像保真度评估的视觉编码任务上则显得不足。
  3. 视觉编码任务的评估是否与实际应用相关? 基准必须与实际应用对齐,特别是在编码任务中。使用常用于评估代码任务的多数选择格式是不充分且不合适的。因此,针对上述挑战,作者提出了Plot2Code,这是一个全面且专业的多模态代码基准,旨在评估MLLMs的多模态理解、推理和编码能力。这个基准包括一个精心策划的数据集,包含132个matplotlib图表,跨越6种图表类型,总共包含来自matplotlib图库的293个子图。每个图表都配对其相应的代码和由GPT-4生成的详细描述。为了适应不同的输入和输出格式,Plot2Code包括两种评估设置,直接询问条件询问,支持基于自动指标的文本和图像输出的评估。MLLMs可以使用文本、图像或两者的组合作为输入进行评估,而文本和图像输出可以根据代码通过率和GPT-4V总体评分进行评估,该评分与人类评估一致。

作者在各种评估设置下评估了14个公开可用的MLLMs,以确定最佳性能。作者的研究结果表明,Plot2Code提出了重大挑战,GPT-4V仅达到7.68/10的总体评分,表明在视觉编码任务中有很大的提升空间。

本研究的主要贡献如下:

  • 作者构建了一个针对多模态代码任务的新型评估基准Plot2Code,能够评估多模态理解和推理的进展。
  • 开发了Plot2Code的多样化评估设置,通过图像-代码对和自动评估指标,容纳了不同的输入和输出模态。
  • 在Plot2Code上评估了各种公开可用的MLLMs,揭示了像GPT-4V、Gemini-Pro和Claude-3这样的当前MLLMs在视觉编码任务中表现出适中的性能。

作者预计Plot2Code将激发研究社区进一步探索和推进MLLMs领域的边界,推动作者朝向真正智能的多模态系统的实现。

2 Related Work

Multi-modal Large Language Models

随着大型语言模型(LLMs)取得的显著进展,将多模态输入信号整合到基础LLMs中已经引起了学术界和工业界的广泛关注。多模态LLM研究的主要焦点是开发附加编码器,以使基础LLMs能够兼容并处理多模态输入。

为了增强实际应用,一些研究专注于使用高分辨率视觉编码器处理文本密集型图像,如文档和图表。作者的目标是通过对MLLMs及其潜能进行彻底和全面的调查,评估它们从参考图表生成代码的能力,展示它们在视觉编码方面的专业技能。

Multi-modal Code Benchmark

基于LLM模型的日益成熟,一类专门的模型子集,称为代码LLM [30; 19; 10],已经出现。这些模型专门关注编程代码,提供了许多吸引人的应用,如代码补全和填充。代码任务有效地反映了(多)LLM的深入推理能力。

单模态代码基准测试,如HumanEval和MBPP [6; 2],使用单轮单元测试并通过Pass@k指标测试生成的代码。近来,LLM代理在更复杂的多次交互式代码设置中进行了评估 [35; 38]。

扩展到单模态环境之外,MMCode [18] 将图像输入整合到代码任务中,而Design2Code [31] 通过CLIP分数和HTML块评估MLLM生成的HTML文件。

作者的工作提出了一个全面的基准测试Plot2Code,它支持广泛的评估场景,并容纳单模态和多模态输入。这些指标包括基于文本的度量,如代码通过率和生成的剧情相似度,作为评估MLLM深入理解和推理能力的全面评价套件。

有关与相关基准测试的详细比较,请参见表2。

3 Dataset Collection

在本节中,作者描述了整理和处理作者基准数据的过程。最初,作者抓取了matplotlib画廊中枚举的每个网站链接。随后,作者从每个相应的HTML文件中提取代码块。这个过程总共产生了841个独特的代码块,这些代码块在后续章节中进行进一步的筛选和处理。

测试集整理

主要目标是获取结构良好的绘图代码对,有效评估MLLM的代码生成能力。需要注意的是,最初抓取的Python代码并不总是适合生成用于评估的高质量绘图。为了解决这个问题,作者采用自动处理和手动筛选相结合的方法,如下所述。

生成筛选在分析过程中,作者观察到单个HTML文件可能包含多个代码段,有些段由于专注于导入行和初始化函数而无法生成绘图。为了克服这一限制,作者专门从包含单个代码块的HTML文件中提取代码。这确保了提取的代码包含所有基本组件,并且不需要额外的依赖就能生成绘图。然后作者筛选掉所有不能生成绘图的代码,获得了529个绘图代码对。

类型筛选作者的分析基于这样一个假设:绘图是简单、静态的图形,不包含动画和交互。因此,每个绘图都可以被视为由matplotlib引擎渲染的图像文件。为了保持这种简单性,作者筛选掉了与特定标签相关的绘图,如动画、小部件和事件处理,这些标签可以在它们对应的URL中找到。关于作者数据集中的绘图代码对类型的详细分解见图3。

手动整理在上述处理之后,作者进行最后一轮手动整理,根据以下标准筛选示例:

  • 绘图不包含任何外部文件依赖,可以直接使用相应的代码进行渲染。
  • 绘图在大小、文本、颜色和类型上展现出广泛的多样性,从而作为一个综合评估基准,涵盖了广泛常用的图表和绘图。
  • 绘图在各个难度 Level 上均匀分布,从初学者到专业 Level 。

在手动筛选过程中,作者采取了更为严格的方法,只保留高质量的绘图。最终,作者获得了132个测试示例,作为作者的基准。

Evaluation Setting

作者对在前一步骤中精心准备的测试集在两种不同的评估场景下进行了评估:直接提问和条件提问。为了方便从MLLM生成的回应中提取代码,作者要求代码被包含在特定的标记之间,这样就可以使用正则表达式进行提取。

直接提问在这种设置中,意味着给MLLM一个图像作为输入,并要求它生成可执行的代码,以产生与输入图像相近的图表。具体的提示可以在A.1中找到。图7展示了这种情况下的一个例子。

条件提问对于MLLM来说,这种设置意味着接收一个图像和条件(文本指令)作为输入,并生成可执行的代码,以产生符合指定条件的结果。对于LLM,输入只包括条件,其他要求与MLLM的要求一致。作者使用GPT-4从 GT 代码中提取这些指令,指示它保留所有复现所需的基本信息,同时避免暴露代码实现细节。用于构建这些指令的提示可以在附录A.2中找到。图8展示了这种情况下的一个例子。

Data Statistics

关键统计数据为了评估测试示例的难度 Level ,作者在表1中展示了一些统计数据。作者枚举了测试样本中存在的子图总数,因为单个图表可能包含多个子图。总共有293个子图(最小=1,最大=18)。

作者使用LLaMA-2分词器[33]对抓取的代码文件进行分词。 GT 代码平均有409个标记,标准差为291。此外,作者对伴随测试样本的说明进行分词,得到平均242个标记和标准差为58。

使用PaddleOCR2,作者计算每个图表的文本数量,平均为23,标准差为13。总的来说,这些指标表明作者的基准示例确实具有挑战性,并涵盖了科学图表中发现的广泛复杂性。

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

本文分享自 AIGC 先锋科技 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2 Related Work
    • Multi-modal Large Language Models
      • Multi-modal Code Benchmark
      • 3 Dataset Collection
        • 测试集整理
          • Evaluation Setting
            • Data Statistics
            相关产品与服务
            腾讯云服务器利旧
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档