🚀 ChartGemma:用于野外图表推理的视觉指令微调
ChartGemma是一个用于图表理解和推理的模型,它基于PaliGemma开发,通过直接从图表图像生成的指令微调数据进行训练,能捕捉图表的高级趋势和低级视觉信息,在多个基准测试中取得了最先进的成果。
🚀 快速开始
你可以通过以下两种方式快速体验ChartGemma模型:
- 在线演示:访问我们在Hugging Face Spaces平台上的公开网络演示,界面友好!ChartGemma Web Demo
- 本地推理:使用huggingface库轻松进行推理,具体步骤如下。
📦 安装指南
本项目依赖于huggingface库,你可以使用以下命令进行安装:
pip install transformers pillow requests torch
💻 使用示例
基础用法
from PIL import Image
import requests
from transformers import AutoProcessor, PaliGemmaForConditionalGeneration
import torch
torch.hub.download_url_to_file('https://raw.githubusercontent.com/vis-nlp/ChartQA/main/ChartQA%20Dataset/val/png/multi_col_1229.png', 'chart_example_1.png')
image_path = "/content/chart_example_1.png"
input_text ="program of thought: what is the sum of Faceboob Messnger and Whatsapp values in the 18-29 age group?"
model = PaliGemmaForConditionalGeneration.from_pretrained("ahmed-masry/chartgemma", torch_dtype=torch.float16)
processor = AutoProcessor.from_pretrained("ahmed-masry/chartgemma")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)
image = Image.open(image_path).convert('RGB')
inputs = processor(text=input_text, images=image, return_tensors="pt")
prompt_length = inputs['input_ids'].shape[1]
inputs = {k: v.to(device) for k, v in inputs.items()}
generate_ids = model.generate(**inputs, num_beams=4, max_new_tokens=512)
output_text = processor.batch_decode(generate_ids[:, prompt_length:], skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
print(output_text)
高级用法
我们建议使用束搜索(beam search),束大小为4,但如果你的机器内存较低,可以从generate
方法中移除num_beams
参数。
📚 详细文档
论文摘要
论文摘要指出:鉴于图表作为数据分析、可视化和决策工具在各行业和科学领域的广泛应用,人们对开发用于图表理解和推理的预训练基础模型以及通用指令微调模型的兴趣日益浓厚。然而,现有方法在影响图表表示模型性能的两个关键方面存在严重缺陷:它们基于图表的底层数据表生成的数据进行训练,忽略了图表图像中的视觉趋势和模式;并且使用弱对齐的视觉 - 语言骨干模型进行特定领域的训练,限制了它们在处理野外图表时的泛化能力。我们解决了这些重要问题,引入了ChartGemma,这是一个基于PaliGemma开发的新型图表理解和推理模型。ChartGemma不依赖于底层数据表,而是直接从图表图像生成的指令微调数据进行训练,从而能够从多样化的图表中捕捉高级趋势和低级视觉信息。我们的简单方法在涵盖图表总结、问答和事实核查的5个基准测试中取得了最先进的结果,并且我们对真实世界图表进行的详细定性研究表明,与同类模型相比,ChartGemma生成的总结更加真实且符合事实。
论文链接
ChartGemma: Visual Instruction-tuning for Chart Reasoning in the Wild
📄 许可证
本项目采用MIT许可证。
📞 联系我们
如果你对这项工作有任何疑问,请通过以下电子邮件地址联系 Ahmed Masry:
- amasry17@ku.edu.tr
- ahmed.elmasry24653@gmail.com
📖 引用
如果你在研究中使用了我们的模型,请引用我们的论文:
@misc{masry2024chartgemmavisualinstructiontuningchart,
title={ChartGemma: Visual Instruction-tuning for Chart Reasoning in the Wild},
author={Ahmed Masry and Megh Thakkar and Aayush Bajaj and Aaryaman Kartha and Enamul Hoque and Shafiq Joty},
year={2024},
eprint={2407.04172},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2407.04172},
}