language: zh
tags:
- tapas
- 表格问答
license: apache-2.0
datasets:
- wikitablequestions
基于WikiTable Questions (WTQ)微调的TAPAS中型模型
该模型有两个可用版本。默认版本对应原版Github仓库中的tapas_wtq_wikisql_sqa_inter_masklm_medium_reset
检查点。此模型先通过MLM及作者称为"中间预训练"的额外步骤进行预训练,随后在SQA、WikiSQL和WTQ上链式微调。它采用相对位置嵌入(即在表格每个单元格重置位置索引)。
另一个(非默认)可用版本是:
no_reset
,对应tapas_wtq_wikisql_sqa_inter_masklm_medium
(中间预训练,绝对位置嵌入)。
免责声明:发布TAPAS的团队未为此模型编写说明卡,故本说明卡由Hugging Face团队及贡献者撰写。
结果
模型描述
TAPAS是一个类似BERT的Transformer模型,通过自监督方式在维基百科英文表格数据上预训练。这意味着它仅通过原始表格及相关文本进行预训练,无需人工标注(因此可利用大量公开数据),并通过自动流程生成输入和标签。具体而言,其预训练包含两个目标:
- 掩码语言建模(MLM):给定(扁平化的)表格及上下文,模型随机遮蔽15%的输入词汇,随后处理整个(部分遮蔽的)序列。模型需预测被遮蔽的词汇。与传统RNN逐词处理或GPT等自回归模型内部遮蔽未来词不同,该方法使模型能学习表格及相关文本的双向表征。
- 中间预训练:为增强表格数值推理能力,作者基于数百万条合成训练样本构建平衡数据集进行额外预训练。模型需判断句子是否被表格内容支持或反驳,训练样本包含合成陈述及反事实陈述。
通过这种方式,模型学习了表格及相关英文文本的内部表征,可用于提取下游任务(如表格问答或句子与表格内容的蕴含关系判断)所需的特征。微调时,在预训练模型顶部添加单元格选择头和聚合头,并联合训练这些随机初始化的分类头与基础模型,先后在SQA、WikiSQL和WTQ上进行。
预期用途与限制
该模型适用于基于表格的问答任务。代码示例请参阅HuggingFace官网的TAPAS文档。
训练流程
预处理
文本经小写化和WordPiece分词(词汇量30,000)。模型输入格式为:
[CLS] 问题 [SEP] 扁平化表格 [SEP]
作者首先通过自动转换脚本将WTQ数据集转为SQA格式。
微调
模型在32个Cloud TPU v3核心上微调50,000步,最大序列长度512,批量大小512。此配置下微调约需10小时,使用Adam优化器(学习率1.93581e-5,预热比例0.128960)。添加归纳偏置使模型仅选择同列单元格,这体现在TapasConfig的select_one_column参数中。详见论文(表11和12)。
BibTeX条目及引用信息
@misc{herzig2020tapas,
title={TAPAS: Weakly Supervised Table Parsing via Pre-training},
author={Jonathan Herzig and Paweł Krzysztof Nowak and Thomas Müller and Francesco Piccinno and Julian Martin Eisenschlos},
year={2020},
eprint={2004.02349},
archivePrefix={arXiv},
primaryClass={cs.IR}
}
@misc{eisenschlos2020understanding,
title={Understanding tables with intermediate pre-training},
author={Julian Martin Eisenschlos and Syrine Krichene and Thomas Müller},
year={2020},
eprint={2010.00571},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@article{DBLP:journals/corr/PasupatL15,
author = {Panupong Pasupat and
Percy Liang},
title = {Compositional Semantic Parsing on Semi-Structured Tables},
journal = {CoRR},
volume = {abs/1508.00305},
year = {2015},
url = {http://arxiv.org/abs/1508.00305},
archivePrefix = {arXiv},
eprint = {1508.00305},
timestamp = {Mon, 13 Aug 2018 16:47:37 +0200},
biburl = {https://dblp.org/rec/journals/corr/PasupatL15.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}