重庆网站建设齐重庆零臻科技,光谷做网站推广电话,做市场调研的网站,做门户网站的系统原文链接#xff1a;https://arxiv.org/abs/2311.16483
代码与数据集#xff1a;https://tingxueronghua.github.io/ChartLlama/
本文启发#xff1a;文章提出利用GPT-4合成大量图表数据#xff0c;这些数据包含各种图表类型#xff0c;包含丰富的instruction data。然后…原文链接https://arxiv.org/abs/2311.16483
代码与数据集https://tingxueronghua.github.io/ChartLlama/
本文启发文章提出利用GPT-4合成大量图表数据这些数据包含各种图表类型包含丰富的instruction data。然后使用合成数据集对Llama进行微调得到ChartLlama完全属于数据驱动型方法。但是合成数据集与真实数据集相比是否存在弊端目前还没有研究明确证明这一点但是能看到不少研究者都专注于真实数据集。 Abstract 多模态大型语言模型在大多数视觉语言任务中表现出令人印象深刻的表现。但是该模型通常缺乏对特定域数据的理解能力尤其是在解释图表图片时。这主要是由于缺乏相关的多模态指令微调数据集。在本文中我们利用 GPT-4 创建了一个高质量的指令微调数据集。我们开发了一个多步骤的数据生成流程包括生成表格数据创建图表图形并分别设计指微调数据。我们方法能够高效地生成多样化、高质量的指令调整数据同时保持较低的资源支出此外它还允许我们整合现有数据集中尚未包含的更广泛的图表和任务类型。 接下来我们介绍 ChartLlama这是一个多模态大型语言模型我们使用创建的数据集对其进行了训练。ChartLlama 在 ChartQA、Chart-to-text 和 Chart-extraction 评估基准中优于所有以前的方法。此外ChartLlama 显著改进了我们专门编译的图表数据集中的基线其中包括新的图表和任务类型。ChartLlama 的结果表明我们提出的数据生成方法在增强图表理解方面的巨大潜力。
1.Introduction 随着LLM快速发展尽管 GPT-4V 等模型取得了成就和潜力但 GPT-4V 架构背后的细节仍然是个谜。这种不透明性在学术界引发了关于设计多模态 LLM 的最佳实践的问题。值得注意的是开创性的研究计划如 LLaVA和 MiniGPT 在这方面提供了有见地的方向。他们的研究结果表明通过将视觉编码器整合到现有的 LLM 中然后使用多模态指令调整数据集对其进行微调LLM 可以有效地转变为多模态 LLM。值得注意的是这些多模态数据集通常来自已建立的基准为积累指令调整所需的数据提供了一种经济高效的方法。 基于既定基准的数据集如 COCO数据集显著增强了多模态 LLM 解释日常照片的能力。然而当面对专门的视觉表示如图表时这些数据集显示出明显的局限性。图表是将复杂的数据集转化为易于理解的视觉叙述的重要视觉工具在促进理解、形成见解和有效传达信息方面发挥着至关重要的作用。从学术出版物到企业演示他们的普遍存在强调了增强多模态 LLM 解释图表能力的重要性。事实上专门收集数据以改进理解图表的指令会带来一些挑战。这些通常源于两个领域理解和生成。一个有效的图表理解模型应该能够从各种类型的图表中提取和总结数据并根据这些信息进行预测。 但是现存的绝大多数数据集仅仅提供简单的问答和描述说明这主要由于缺少详细的图表信息和注释无法提供对原始数据的高级理解。高度依赖Web 爬虫收集的手动注释图表会对这些数据集的质量产生负面影响。因此以前的注释方法只能导致图表数据集质量较低且注释不太全面。与图表理解相比生成图表图形对模型来说是一项更具挑战性的任务因为现有的基于深度学习的生成方法难以根据指令准确创建图像。使用 Python 代码生成图表似乎很有前途这需要相应的注释来监督模型。从 Web 获取的大多数图表都没有详细的注释因此很难对生成代码进行注释。缺少代码注释使得在代码生成中监督模型变得具有挑战性。这些问题结合在一起阻碍了模型理解图表和生成图表的能力。 为了解决这个问题我们引入了一种专为图表理解和生成量身定制的自适应和创新数据收集方法。我们方法的核心是利用 GPT-4 强大的语言和编码能力这有助于创建丰富的多模态数据集。这种思路不仅优化了数据的准确性还确保了其广泛的多样性。具体来说我们的方法包括三个主要阶段
1Chart Data Generation生成数据点我们不是将数据收集局限于 Web 或现有数据集等传统数据源而是利用 GPT-4 的强大功能来生成合成数据。通过提供topic、distribution、trend等特定特征我们指导 GPT-4 生成既多样化又精确的数据。
2Chart Figure Generation绘图GPT-4 的编码技能被用于使用开源库如 Matplotlib编写图表图给定数据和函数文档输出精心渲染的图表这些图表跨越各种形式每个图表都准确地表示其基础数据。
3Instruction data generation生成描述性文本、QAGPT-4 进一步用于解释和叙述图表内容确保整体理解。系统会提示它构建与图表相关的问答对。通过合并叙述文本、问答对以及图表的源代码从而得到一个全面的 instructiontuning 语料库。
通过上述方式我们构建了一个开源数据集它与其他数据集对比如下 我们的贡献总结如下
引入了一种新颖的多模态数据收集方法专门设计用于图表理解和生成。所提出的数据收集方法具有出色的灵活性和可扩展性能够轻松迁移到不同类型的图表和各种任务中。通过我们创新的数据收集方法我们创建了一个在质量和多样性方面脱颖而出的基准数据集。开发了ChartLlama一个多模态大型语言模型LLM不仅在各种现有基准测试中超越了现有模型而且具有多样化的独特图表理解和生成能力。
2. Related work
2.1. Large Language Model
2.2. Multi-modal Large Language Model
2.3. Chart Understanding 已经有一些数据集可用于评估模型的图表理解能力主要分为两类一类通过简单的问答任务进行衡量例如 ChartQA它具有由人工注释的高质量问题和答案以及 PlotQA它通过模板生成了质量较低的问题和答案这些数据集的优势在于它们的大比例尺以及通过模板生成它们的能力局限性在于难以确保问题和答案的质量以及倾向于关注图表中数据的简单问题。 另一个类别将图表转换为文本描述例如Chart-to-text 这些数据集中的图表和注释来自现实世界确保了更高的质量并鼓励模型更深入地研究图表背后的趋势和含义缺点是文本注释中存在更多的噪音和对 BLEU-4 的过度依赖。 早先关于图表理解任务的工作可以分为两种主要方法。一种方法是使用单个模型来理解图表并用自然语言回答问题。另一种方法首先利用模型将图表转换为结构化数据然后使用现有的大型模型根据结构化数据分析和回答问题例如Deplot: One-shot visual language reasoning by plot-to-table translationStructchart: Perception, structuring, reasoning for visual chart understanding 在我们的工作中我们主要探索前一种类型旨在利用单个模型来完成图表理解的整个过程。
3. Method
3.1. Chart Data Generation 我们在图表数据收集方面的主要目标是收集多样化和高质量的数据。为此我们采用两种主要策略1 使用 GPT4 从头开始生成数据为了收集多样化和高质量的数据集使用 GPT-4 从头开始生成表格数据。我们指示 GPT-4 根据特定主题、分布和其他特征例如数据集的行和列大小创建数据表。此过程可确保创建具有已知和受控特征的数据这对于生成可靠的 instruction-answer 对至关重要。此外通过管理这些特征我们可以有意识地减少偏差从而获得更加平衡的数据集。2 从现有图表数据集合成数据通过引用现有的图表数据集来合成数据。这些数据集已经包含一系列主题和特征为数据生成提供了坚实的基础。通过使用这些数据集提示 GPT-4我们指导它生成合理的数据以补充其现有的知识库。这种方法为我们的数据集增加了多样性并提高了其整体质量。 指导生成数据的具体方案如下 图表主题Chart theme我们首先生成数百个可能的主题这些主题都是短语。当我们生成数据时我们会从所有这些主题中随机选择一个这使得数据有意义且多样化。这也使得生成用于指令优化的问题和响应变得更加容易。 数据趋势Data trends数据的另一个重要特征是趋势。我们首先生成几个典型的趋势描述比如稳步上升和突然下降然后随机选择一些趋势并要求模型根据它们生成数据。如果缺乏这些特征模型将倾向于生成几组具有无意义分布的数据。 列和行长度Column and row lengths行和列的长度对于数据生成也是必需的。如果没有特定的约束LLM 往往会生成过长甚至重复的数据这很难通过图表以有意义的方式呈现。 图表类型Chart types不同类型的图表通常具有不同的特征。例如饼图中值的总和应为 100%。如果不指定图表类型我们最终可能会生成不符合相应图表标准的数据。
3.2. Chart Figure Generation 下一步是使用 GPT-4 的编码功能将我们的数据集转换为可视化图表使用 Matplotlib作为主要工具。在提示 GPT-4 时我们会提供收集的数据、相关函数文档和上下文示例。我们还对颜色方案和线条类型等多样化方面提供了详细说明以增强图表的视觉吸引力。为了提高图表生成的多样性和成功率我们在提示中随机抽样成功生成的代码作为上下文中的示例。与以前依赖模板的自动图表生成工作相比我们的方法提供了更多的多样性和更好的视觉吸引力。它还使我们能够有效地泛化不同的图表类型。结果是一系列精心制作的图表每张图表都准确地表示其数据并在视觉上吸引人展示了我们方法的有效性。下面列出了此阶段中提示的必要输入。 图表数据这是任务最重要的输入图表数据是将在图表中可视化的信息。 相关函数文档Related function documentation这是生成 Python 代码的重要参考。它提供有关可用于创建图表的可用函数和特性的信息。通过该文档该模型甚至可以创建上下文中没有的新样式的图表。
例如
函数名称bar()参数 xX轴的数据点yY轴的数据点color柱状图的颜色返回值图像 上下文示例这些上下文示例是从预先选择的高质量代码中采样的。这有助于促进 Python 代码的构建。当有高质量的新生成代码时我们可以保存并对其进行采样作为之后的上下文示例。 其他要求为了保证最终生成的代码适合批量处理和执行我们还需要在 prompt 中包含几个要求。例如需要在代码中列出数据以使生成的代码自包含且可执行而无需外部文件。我们还设置了标题、轴标签、图例和文本注释的要求。它们提供有关图表所代表内容的上下文并使其更易于理解数据。没有它们图表可能会令人困惑且难以解释。
3.3. Instruction data generation 在 GPT-4 的帮助下利用前两阶段的信息继续生成大量的 instruction-answer 数据。除了基本的图表理解功能如问答和摘要外我们还为更复杂的任务构建说明和答案例如准确的数据提取、详细的图表描述、图表代码生成甚至图表编辑。与以前依赖人工注释的指令数据生成方式相比我们的方法可以节省大量时间同时提高结果数据集的多样性和质量。以下是需要填写到提示中的数据的更多详细信息
图表描述和原始数据提供这些描述有助于模型更好地理解上下文。图表描述有助于模型理解数据的性质原始数据有助于理解数据的可视化表示。原始数据为模型提供实际值作为其响应的基础。所有描述和原始数据都在第一阶段和第二阶段生成。
被要求询问的特征Characteristics to be asked about这个要求确保模型提出关于图表的多样化和相关的问题它能提示模型检测数据及其表示的不同特征。
4. Experiment
4.1. Implementation details and dataset statistics
4.2. Evaluation Benchmark and Metrics 在七个任务上进行评估
ChartQAChart-to-textChart-extraction图表提取旨在从给定的图表中提取表格数据。Detailed description这项任务需要以详细的方式对给定的图表图形进行全面描述而不是简要总结它。Chart-to-chartText-to-chart根据说明文本和表格数据生成图表图形。Chart-editing输入条件是一个图表图和描述如何编辑图表的说明。预计会创建一个新图形该图形已根据给定图表图形的说明进行了修改。
4.3. Results
4.4. Qualitative results
总之实验表明ChartLlama在所有任务上都取得SOTA效果进一步证明了数据集的有效性。
5. Conclusion