语言:
- 英语
- 法语
- 罗马尼亚语
- 德语
- 多语言
推理: 关闭
任务标签: 视觉问答
许可证: Apache-2.0
DePlot模型卡片

目录
- 摘要
- 使用模型
- 贡献
- 引用
摘要
论文摘要指出:
图表等视觉语言在人类世界中无处不在。理解图表需要强大的推理能力。先前最先进的模型需要至少数万条训练样本,其推理能力仍非常有限,尤其是针对复杂的人工编写查询。本文提出了首个单样本视觉语言推理解决方案。我们将视觉语言推理挑战分解为两步:(1)图表转文本翻译,(2)对翻译后文本进行推理。该方法的核心是一个名为DePlot的模态转换模块,能将图表图像转换为线性化表格。DePlot的输出可直接用于提示预训练大语言模型(LLM),利用LLM的少样本推理能力。为训练DePlot,我们通过统一任务格式和指标标准化了图表转表任务,并端到端训练该任务。DePlot可与LLM即插即用。相比在超过28k数据点上微调的最先进模型,DePlot+LLM仅通过单样本提示就在人工编写的图表QA查询上实现了24.0%的性能提升。
使用模型
可通过以下方式对输入图像和问题进行预测:
from transformers import Pix2StructProcessor, Pix2StructForConditionalGeneration
import requests
from PIL import Image
processor = Pix2StructProcessor.from_pretrained('google/deplot')
model = Pix2StructForConditionalGeneration.from_pretrained('google/deplot')
url = "https://raw.githubusercontent.com/vis-nlp/ChartQA/main/ChartQA%20Dataset/val/png/5090.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))
从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
转换完成后可通过以下代码推送模型:
from transformers import Pix2StructForConditionalGeneration, Pix2StructProcessor
model = Pix2StructForConditionalGeneration.from_pretrained(保存路径)
processor = Pix2StructProcessor.from_pretrained(保存路径)
model.push_to_hub("用户名/模型名")
processor.push_to_hub("用户名/模型名")
贡献
该模型最初由Fangyu Liu、Julian Martin Eisenschlos等人贡献,并由Younes Belkada添加到Hugging Face生态。
引用
若需引用此工作,请参考原论文:
@misc{liu2022deplot,
title={DePlot: 通过图表转表实现单样本视觉语言推理},
author={刘芳宇、艾森施洛斯·朱利安·马丁等},
year={2022},
eprint={2212.10505},
archivePrefix={arXiv},
primaryClass={cs.CL}
}