[论文阅读] ChartInstruct: Instruction Tuning for Chart Comprehension and Reasoning

原文链接:http://arxiv.org/abs/2403.09028

源码链接:https://github.com/vis-nlp/ChartInstruct

启发:本文构建的instruction-tuning数据集以及使用该数据集对模型进行微调的过程都值得学习。 

Abstract

研究对象:图表

研究问题:微调视觉语言模型以更好的解决图表问答和摘要任务

研究方法:引入了 ChartInstruct:一种新颖的图表特定视觉语言教学跟踪数据集,由 191K 条指令和 71K 图表生成。然后,我们提出了两个不同的系统,用于对此类数据集进行指令调整:(1) 一个端到端模型,将用于图表理解的视觉编码器与 LLM 连接起来;(2) 采用两步方法提取图表数据表并将其输入到 LLM 中的管道模型。

优势:在四个下游任务的实验中,我们的模型获得最先进的结果。进一步的评估表明,我们的指令调优方法支持各种真实世界的图表理解和推理场景,从而将模型的范围和适用性扩展到新的任务类型。

1 Introduction

        早期工作试图通过微调最初在语言和视觉任务上训练的模型来解决图表相关任务。但是,此类模型可能不是特定于图表的任务的最佳选择,因为它们忽略了图表结构的显式建模,例如图表元素(如条形、图例和轴)之间的关系。最近的模型,如 UniChart(Masry 等人,2023 年)、Chart-T5(周 等人,2023 年)和 MatCha(Liu 等人,2022b)是专门为图表设计的,考虑了图表元素和值的视觉和数学推理。但是,他们通常局限于有限来源的图表,并专注于少数特定的任务,这限制了它们在现实世界中的适用性。事实上,在现实世界广泛的应用中,我们无法确定这些模型能适应哪些应用。

不少论文都说MatCha等模型局限于有限来源的图表数据集,但是论文真的解决了这个问题吗?难不成真有无限的数据集?另外,这些论文提到泛用性问题,可是论文本身依旧局限于QA和摘要生成,并没能解决更多的问题,这篇论文有改进吗?

        一个有效解决方案是指令调优(instruction tuning),相关文章有:

  • Training language models to follow instructions with human feedback
  • Scaling instruction-finetuned language models
  • Alpaca: A Strong, Replicable Instruction-Following Model
  • Vicuna: An opensource chatbot impressing gpt-4 with 90%* chatgpt quality
  • Llama: Open and efficient foundation language models

        这些论文表明在instruction-following数据集(包含图表图像以及问答对,不过标注的答案会包含推理过程,从而让模型在训练时能学习正确的推理步骤)上训练LLM能够更好的理解用户意图。然而,图表理解和推理的指令调整仍未得到充分探索,现有方法的instruction-tuning任务缺乏多样性,限制了它们在实际图表理解场景的有效性。

        在本文中,我们介绍了图表指令调优 (Chart Instruction Tuning),为构建基于 VLM 的通用图表理解和推理助手铺平了道路。为此,我们开发了一个新的图表指令调整数据集,其中包含从 157 个在线平台收集的真实世界图表,涵盖了广泛多样的视觉风格。利用 GPT-3.5(OpenAI-Blog,2022 年)、GPT-4(OpenAI,2023 年)和 Gemini(Team et al.,2023 年)等高级 LLM,我们生成了 191K 条指令,涵盖反映真实世界应用的广泛任务(图 1)。

或许从157个渠道收集的图表可以称作unlimited range of sources,但是下图所示的9种任务类型实在难以称作“涵盖广泛任务”,因为其中部分任务本质并没有区别,这些问题在作者之前的文章UniChart中已经有体现,ChartLlama涵盖范围更广

         我们设计了两种系统:(1)端到端系统,修改Llava架构,使用Unichart的视觉编码器替换Llava本身的CLIP编码器。(2)两步式方法,先图表结构分析,从图表中提取原始数据表,然后将表格和question作为LLM的输入,得到answer。

        通过四个基准进行综合评估:ChartQA、Chart2Text、OpenCQA、ChartFC。并且进一步采取了人工评估。

        我们的主要贡献包括:(i) 利用 LLM 构建了一个新的带有真实世界图表和广泛任务的指令跟踪语料库,(ii) 两个专门为图表理解任务量身定制的不同系统;(iii) 广泛的评估,展示了 ChartInstruct 在现有图表相关基准任务中的最新性能,同时也将其适用性扩展到新任务。

2 Related Work

2.1 Chart Modeling

2.2 Visual Instruction Tuning

2.3 Chart Domain Downstream Tasks

3 Chart Instruction Data Generation

3.1 Chart Corpora Collection

        图表图像来源有两个:已有的公共数据集和Web爬取图表。公共数据集选择了UniChart论文数据集,该数据集包含611K图表,不过这个数据集的数据来源较为受限。所以我们构建了WebCharts,包含41K图表,这个数据集从各个网站根据关键词检索图表图像并抓取,然后进行筛选,由于这些图标缺少原始表格,所以我们使用Gemini Pro Vision自动提取表格与标题

3.2 Instruction Data Generation

        图表指令数据集生成,包含190774条指令,对应70882张图表,涵盖图表理解和推理的各个方面。

(1)Tasks Selection

  • Summarization and QA:
  • Fact Checking:输入关于图表的一段描述文本,需要模型判断这段描述是否准确,并给出accept或者refute反馈以及解释。该任务可以让模型减少事实性错误,提高图表解释准确性。
  • Chain-of-thought (CoT) Reasoning:旨在增强模型执行复杂数学和视觉推理的能力,这也是目前许多模型有待改进的地方,本文设计了两种类型的问题:变量相关问题,涉及统计量计算等数学运算问题;变量无关问题,侧重数值检索、比较和逻辑分析。
  • Code Generation:生成可执行的 Python 脚本来回答用户问题。
  • Novel Tasks:让LLM生成新的图表相关任务,需要注意不能与上述任务重复,这在增强指令集的多样性方面起着至关重要的作用。

(2) Prompt Design

        要为不同的任务提供一定的指示,我们首先创建了一组提示符模板,每个模板包含:

  • 任务描述
  • 输入图表数据表,以及图表标题等元数据
  • 输出约束(如果有)
  • 输出格式。

(3) Input and Output Generation

        设计好prompt模板之后,利用GPT3.5 Turbo 和 GPT4为每个模板创建input-output实例,由于图表数量有限,我们为每个图表都会生成多种类型的任务实例。

3.3 Dataset Analysis

4 Modeling 

4.1 End-to-End System

        利用LLaVa架构,将其中的CLIP编码器替换成UniChart视觉编码器。对于语言解码器,本文研究了decoder-only(Llama2)和encoder-decoder(Flan-T5)两种类型的架构。在 Llama2 设置中,提取的视觉特征直接注入到语言解码器中,而在 Flan-T5 模型中,这些特征和指令首先由语言编码器处理,然后解码器生成文本

        在微调时,先冻结视觉编码器和LLM部分,对adaptor进行微调。这是一个对齐阶段,将UniChart视觉编码器的视觉特征与LLM的输入嵌入空间对齐,从而使LLM能够准确解释图表图像,此阶段的两个特定任务是:从图表生成表格和汇总图表内容。对齐后,下一阶段是冻结视觉编码器,训练adaptor和LLM

4.2 Pipeline System 

        在第一阶段,也就是图表转换成表格阶段,使用UniChart模型,该模型已被证明能够从图表图像生成高质量的数据表。第二阶段,使用Llama2和Flan-T5模型进行实验。

        与端到端方法不同的是,端到端方法传到LLM的是视觉特征,而此处传入LLM的是表格文本,所以不需要进行对齐,可以直接对LLM进行微调。

5 Experiments and Results

5.1 Experimental Setup 

5.2 Results and Findings

5.3 Human Evaluation on Chart Tasks

5.4 Error Analysis and Challenges 

Value Estimation and Comparison

当图表中的细节过于复杂或者过于简单时,会导致视觉元素与其相关值匹配、数值估算、基于视觉属性的比较遭遇困难。

Factual Errors

尽管我们的模型显示出改进的文本生成质量和更好的可用信息利用率,但它们仍然会产生图表未提及或事实不正确的陈述。

Numerical Reasoning

模型在某些数值推理任务上依旧不够可靠

模型在指标上面有改进,但原本存在的问题依旧存在,只是有所优化,但并没有对问题作出根源性解决

6 Conclusion 

        我们推出了 ChartInstruct,这是一个自动生成的图表相关指令数据集和两个指令系统,专为广泛的图表相关任务而设计。据我们所知,这是第一个指令调整数据集,它不仅包括预定义的任务,还包括 LLM 自动提取的许多新类型的任务。我们的模型在各种自动测量下为四个不同的下游任务设定了最先进的性能,而人工评估进一步证实了我们的方法在许多新任务上的有效性。我们相信我们的模型和指令调整数据集将成为未来研究的宝贵资源,并鼓励进一步探索图表理解和推理的独特问题领域。

上一篇:EnvoyFilter 是 Istio 中用于直接修改 Envoy 配置的一种资源类型