语言:
- 英文
- 法语
- 罗马尼亚语
- 德语
- 多语言
推理: 不支持
任务标签: 视觉问答
许可协议: Apache-2.0
标签:
- 抹茶模型
MatCha模型卡片 - 基于ChartQA微调版

本模型是在Chart2text-pew数据集上微调的MatCha模型。
目录
- 摘要
- 使用模型
- 贡献者
- 引用
摘要
论文摘要指出:
图表、曲线图和信息图等视觉语言数据在人类世界中无处不在。然而,当前最先进的视觉语言模型在此类数据上表现欠佳。我们提出MATCHA(数学推理与图表解析预训练)来增强视觉语言模型联合处理图表与语言数据的能力。具体而言,我们设计了几项覆盖图表解构和数值推理等核心能力的预训练任务。该预训练基于近期提出的Pix2Struct图像到文本模型实现。在PlotQA和ChartQA等标准测试中,MATCHA模型以近20%的优势超越现有最佳方法。我们还验证了MATCHA预训练在屏幕截图、教科书图表和文档插图等领域的迁移效果,观察到整体性能提升,证实了该预训练方法在更广泛视觉语言任务中的有效性。
使用模型
需向模型提出具体问题才能获得稳定输出。以下示例要求模型判断图表中所有数值之和是否大于最大值:
from transformers import Pix2StructProcessor, Pix2StructForConditionalGeneration
import requests
from PIL import Image
processor = Pix2StructProcessor.from_pretrained('google/matcha-chartqa')
model = Pix2StructForConditionalGeneration.from_pretrained('google/matcha-chartqa')
url = "https://raw.githubusercontent.com/vis-nlp/ChartQA/main/ChartQA%20Dataset/val/png/20294671002019.png"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(images=image, text="老挝的数值是否大于四个地区的总和?", return_tensors="pt")
predictions = model.generate(**inputs, max_new_tokens=512)
print(processor.decode(predictions[0], skip_special_tokens=True))
>>> 否
若需使用GPU预测,在创建模型和输入时添加.to(0)
即可(inputs = inputs.to(0)
)
从T5x转换至HuggingFace格式
可使用以下脚本转换:
python convert_pix2struct_checkpoint_to_pytorch.py --t5x_checkpoint_path T5X检查点路径 --pytorch_dump_path 保存路径 --is_vqa
大模型转换需添加参数:
python convert_pix2struct_checkpoint_to_pytorch.py --t5x_checkpoint_path T5X检查点路径 --pytorch_dump_path 保存路径 --use-large --is_vqa
转换完成后可通过以下代码推送至Hub:
from transformers import Pix2StructForConditionalGeneration, Pix2StructProcessor
model = Pix2StructForConditionalGeneration.from_pretrained(保存路径)
processor = Pix2StructProcessor.from_pretrained(保存路径)
model.push_to_hub("用户名/模型名")
processor.push_to_hub("用户名/模型名")
贡献者
该模型由刘芳宇、Francesco Piccinno等学者首创,并由Younes Belkada引入Hugging Face生态。
引用
若需引用本研究,请参考原始论文:
@misc{liu2022matcha,
title={MatCha: 通过数学推理与图表解析增强视觉语言预训练},
author={刘芳宇 and Francesco Piccinno and Syrine Krichene and 庞晨曦 and Kenton Lee and Mandar Joshi and Yasemin Altun and Nigel Collier and Julian Martin Eisenschlos},
year={2022},
eprint={2212.09662},
archivePrefix={arXiv},
primaryClass={cs.CL}
}