准备工作
更新时间:2022-07-05
数据准备
阅读理解的数据比较特殊,至少同时包含问题(Q)、段落(P)和答案(A),而段落偶尔会来自一篇完整的文章,所以常以json的格式进行存储。本文以Dureader的数据为例进行介绍。请注意,这里我们提供一份部分dureader的数据仅作为示例,您可以在DuReader中下载全量开源数据集。
训练集、测试集和验证集分别存放在./package/task_data/dureader目录下。
注:该任务仅提供调用ernie的接口,数据集不需要分词,且词表采用ernie模型的默认词表。数据集(包含词表)均为utf-8格式。
训练集、测试集和验证集格式相同,数据为json形式存储,其中的关键字层级关系如下所示:
├── data
├── paragraphs
├── id
├── context
├── qas
├── question
├── id
├── answers
├── text
├── answer_start
├── question
├── id
├── answers
├── text
├── answer_start
...
title
id
...示例数据如下所示:
{
"data": [{
"title": "",
"paragraphs": [{
"context": "爬行垫根据中间材料的不同可以分为:XPE爬行垫、EPE爬行垫、EVA爬行垫、PVC爬行垫;其中XPE爬行垫、EPE爬行垫都属于PE材料加保鲜膜复合而成,都是无异味的环保材料,但是XPE爬行垫是品质较好的爬行垫,韩国进口爬行垫都是这种爬行垫,而EPE爬行垫是国内厂家为了减低成本,使用EPE(珍珠棉)作为原料生产的一款爬行垫,该材料弹性差,易碎,开孔发泡防水性弱。EVA爬行垫、PVC爬行垫是用EVA或PVC作为原材料与保鲜膜复合的而成的爬行垫,或者把图案转印在原材料上,这两款爬行垫通常有异味,如果是图案转印的爬行垫,油墨外露容易脱落。当时我儿子爬的时候,我们也买了垫子,但是始终有味。最后就没用了,铺的就的薄毯子让他爬。您好,爬行垫一般色彩鲜艳,能吸引宝宝的注意力,当宝宝刚会爬的时候,趴在上面玩,相对比较安全,不存在从床上摔下来的危险。对宝宝的爬行还是很有好处的。还有就是妈妈选择爬行垫时可以选择无害的PE棉,既防潮又隔冷隔热。外有要有一层塑料膜,能隔绝液体进入垫子内部,而且方便清洗。宝宝每次爬行,一定要记得把宝宝的手擦干净。",
"qas": [{
"answers": [{
"text": "XPE",
"answer_start": 17
}],
"id": "DR-single-pre_and_next_paras-181574",
"question": "爬行垫什么材质的好"
}]
},
...,
]
}]
}网络(模型)选择
文心预置的可用于阅读理解的网络文件在wenxin/models/目录下,各个网络的特点如下所示:
| 网络名称(py文件的类名) | 简介 | 支持类型 | 支持预训练模型 | 备注 |
|---|---|---|---|---|
| ErnieMrc | 基于ERNIE预训练模型的最简单的阅读理解模型,在ERNIE的embedding输出层之后直接添加FC(全链接层),loss使用交叉熵。网络结构简单,效果好。 | 阅读理解 | Ernie 1.0、ERNIE 2.0-Base、ERNIE 2.0-Large、ERNIE 2.1-Base、ERNIE 2.1-Large、ERNIE 2.2-Base |
ERNIE预训练模型选择
文心提供的ERNIE预训练模型的参数文件和配置文件在./tasks/model_files/目录下,config目录下是所提供的所有ERNIE预训练模型的配置文件,dict目录下是所有ERNIR预训练模型对应的词表文件,ERNIE预训练模型的参数文件都存储在文心的仓库中,由对应的download_xx.sh文件是下载得到。以下是各个ERNIE预训练模型的介绍。
| 模型名称 | 简介 | 备注 |
|---|---|---|
| ERNIE 3.0 | ERNIE 3.0 (Large-Scale Knowledge Enhanced Pre-Training for Language Understanding And Generation) 是基于知识增强的多范式统一预训练框架。在ERNIE 3.0中,自回归和自编码网络被创新型地融合在一起进行预训练,其中自编码网络采用ERNIE 2.0的多任务学习增量式构建预训练任务,持续的进行语义理解学习。 通过新增的实体预测、句子因果关系判断、文章句子结构重建等语义任务。同时,自编码网络创新性地增加了知识增强的预训练任务。自回归网络基于Tranformer-XL结构,支持长文本语言模型建模。多范式的统一预训练模式使得ERNIE 3.0能够在理解任务、生成任务和零样本学习任务上获取SOTA的表现。 | |
| ERNIE 3.0-1.5B | ERNIE3.0-1.5B是针对理解任务训练的大模型,模型规模处于ERNIE-Large和ERNIE3.0(10B)模型之间。通过增大模型规模以及提出Pretrain-RDrop技术,使得模型在多个中文主流下游任务上获得了明显的效果提升。在6大中文数据集上,1.5B模型相对ERNIE 2.3 Large模型平均提升+0.49%。 |
模型评估指标选择
阅读理解任务常用的指标有:
- 精准匹配度(Exact Match,EM):计算预测结果与标准答案是否完全匹配。
- 模糊匹配度(F1):计算预测结果与标准答案之间字级别的匹配程度。
运行环境选择
- ERNIE网络优先考虑GPU机器,显存大小最好在10G以上。
