TAPAS: 用于序列问题回答的微调模型
这个项目介绍的是一个名为"tapas-tiny-finetuned-sqa"的自然语言处理模型。它是基于Google研究团队开发的TAPAS模型,针对序列问题回答(Sequential Question Answering, SQA)任务进行了微调。
模型概述
TAPAS是一个类似BERT的transformer模型,专门用于处理表格数据和相关文本。该模型在大规模Wikipedia英文语料上进行了自监督预训练,学习了表格和文本的联合表示。预训练采用了两个目标:
- 掩码语言建模(MLM):随机遮蔽输入中15%的词,让模型预测这些被遮蔽的词。
- 中间预训练:创建了数百万个合成训练样本,让模型判断一个句子是否被表格内容支持或反驳。
通过这种方式,TAPAS学习到了表格和相关文本中英语的内部表示,为下游任务如表格问答奠定了基础。
模型变体
该项目提供了两个版本的模型:
- 默认版本:使用相对位置编码,对应原始仓库中的"tapas_sqa_inter_masklm_tiny_reset"检查点。
- "no_reset"版本:使用绝对位置编码,对应"tapas_sqa_inter_masklm_tiny"检查点。
性能表现
在SQA开发集上,tiny尺寸模型的准确率如下:
- 默认版本(相对位置编码):23.75%
- no_reset版本(绝对位置编码):20.04%
虽然tiny模型的性能相对较低,但它是TAPAS系列中最小的模型,适用于资源受限的场景。
应用场景
该模型主要用于回答与表格相关的问题,特别是在对话式的场景中。它可以处理一系列简单但相互关联的问题,这更接近人类之间的自然对话。
训练过程
模型的训练分为以下几个步骤:
- 预处理:文本小写化,使用WordPiece分词,词表大小为30,000。
- 微调:在32个Cloud TPU v3核心上进行了200,000步训练,最大序列长度为512,批量大小为128。
- 优化器:使用Adam优化器,学习率为1.25e-5,预热比例为0.2。
此外,模型还添加了一个归纳偏置,使其只选择同一列的单元格。
结语
tapas-tiny-finetuned-sqa模型虽然规模较小,但它展示了TAPAS在处理表格相关问题上的潜力。通过预训练和微调,该模型能够理解表格结构和内容,为构建更智能的表格问答系统提供了基础。