language: zh
tags:
- tapas
license: apache-2.0
datasets:
- wikisql
基于WikiSQL监督式微调的中等规模TAPAS模型
该模型有两个可用版本。默认版本对应原GitHub仓库中的tapas_wikisql_sqa_inter_masklm_medium_reset
检查点。该模型先通过掩码语言建模(MLM)和作者称为中间预训练的附加步骤进行预训练,随后在SQA和WikiSQL上链式微调,采用相对位置嵌入(即在表格每个单元格重置位置索引)。
另一个(非默认)可用版本为:
no_reset
版本,对应tapas_wikisql_sqa_inter_masklm_medium
(中间预训练,绝对位置嵌入)。
免责声明:发布TAPAS的团队未编写此模型卡,故本模型卡由Hugging Face团队及贡献者撰写。
模型描述
TAPAS是一种类似BERT的Transformer模型,通过自监督方式在维基百科英文表格数据上大规模预训练。这意味着它仅基于原始表格及关联文本进行预训练,无需人工标注(因此可利用大量公开数据),通过自动流程从文本生成输入与标签。具体而言,其预训练包含两个目标:
- 掩码语言建模(MLM):将(扁平化的)表格及相关上下文输入后,随机遮蔽15%的词汇,模型需预测被遮蔽词汇。与传统递归神经网络(RNN)逐词处理或GPT等自回归模型内部遮蔽未来词不同,该方法使模型能学习表格及关联文本的双向表征。
- 中间预训练:为增强表格数值推理能力,作者额外通过数百万条语法生成的平衡训练样例进行预训练。模型需判断句子是否被表格内容支持或反驳,训练样例基于合成及反事实陈述生成。
通过这种方式,模型学习了表格及相关英文文本的内在表征,可用于下游任务特征提取,如表格问答或判断句子与表格内容的蕴涵关系。微调时在预训练模型顶部添加单元格选择头和聚合头,联合训练这些随机初始化的分类头与基础模型。
预期用途与限制
该模型适用于表格相关问答任务。代码示例请参阅HuggingFace官网TAPAS文档。
训练流程
预处理
文本经小写处理和WordPiece分词(词汇量30,000)。模型输入格式为:
[CLS] 问题 [SEP] 扁平化表格 [SEP]
作者首先通过自动转换脚本将WikiSQL数据集转为SQA格式。
微调
模型在32个Cloud TPU v3核心上微调50,000步,最大序列长度512,批量大小512。此配置下微调约需10小时,采用Adam优化器(学习率6.17164e-5,预热比例0.1424)。详见论文表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/abs-1709-00103,
author = {Victor Zhong and
Caiming Xiong and
Richard Socher},
title = {Seq2SQL: Generating Structured Queries from Natural Language using
Reinforcement Learning},
journal = {CoRR},
volume = {abs/1709.00103},
year = {2017},
url = {http://arxiv.org/abs/1709.00103},
archivePrefix = {arXiv},
eprint = {1709.00103},
timestamp = {Mon, 13 Aug 2018 16:48:41 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-1709-00103.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}