ChartInstruct: Instruction Tuning for Chart Comprehension and Reasoning

Ahmed Masry, Mehrad Shahmohammadi, Md Rizwan Parvez, Enamul Hoque, Shafiq Joty
3/14/2024
cs.CL

No official code found. Best implementation: vis-nlp/ChartInstruct (29 stars, GPL-3.0, last commit 2024-07-06).

Abstract

Charts provide visual representations of data and are widely used for analyzing information, addressing queries, and conveying insights to others. Various chart-related downstream tasks have emerged recently, such as question-answering and summarization. A common strategy to solve these tasks is to fine-tune various models originally trained on vision tasks language. However, such task-specific models are not capable of solving a wide range of chart-related tasks, constraining their real-world applicability. To overcome these challenges, we introduce ChartInstruct: a novel chart-specific vision-language Instruction-following dataset comprising 191K instructions generated with 71K charts. We then present two distinct systems for instruction tuning on such datasets: (1) an end-to-end model that connects a vision encoder for chart understanding with a LLM; and (2) a pipeline model that employs a two-step approach to extract chart data tables and input them into the LLM. In experiments on four downstream tasks, we first show the effectiveness of our model--achieving a new set of state-of-the-art results. Further evaluation shows that our instruction-tuning approach supports a wide array of real-world chart comprehension and reasoning scenarios, thereby expanding the scope and applicability of our models to new kinds of tasks.

View on arXivView PDF

Code Implementations(1)

GPL-3.0
291Jupyter NotebookFeb 26, 20242 years agoGPL-3.0

Similar Papers

Cite this paper

@article{masry2024chartinstruct,
  title  = {ChartInstruct: Instruction Tuning for Chart Comprehension and Reasoning},
  author = {Ahmed Masry and Mehrad Shahmohammadi and Md Rizwan Parvez and Enamul Hoque and Shafiq Joty},
  year   = {2024},
  eprint = {2403.09028},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2403.09028v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2403.09028.svg)](https://codeofpaper.com/paper/2403.09028)

Discussion