准备工作:文本生成
更新时间:2022-12-17
数据准备
文心中文本生成的数据集分别存放在wenxin_appzoo/wenxin_appzoo/tasks/text_generation目录下 在生成任务中,训练集、验证集与测试集的数据格式相同,数据分为3列,列与列之间用\t进行分割。第一行为列名,从第二行开始为数据样例。示例如下:
翻译(数据来自wmt20-enzh dev-set):
qid | text_a | text_b |
---|---|---|
0 | Welsh AMs worried about 'looking like muppets' | 威尔士 AM 担心”像蠢蛋“ |
1 | There is consternation among some AMs at a suggestion their title should change to MWPs (Member of the Welsh Parliament). | 有人提议,AM 应该将头衔改为 MWP(威尔士议会议员),这让好多 AM 大为震惊。 |
古诗生成(数据来自开源古诗集):
qid | text_a | text_b |
---|---|---|
0 | 关关雎鸠,在河之洲。 | 窈窕淑女,君子好逑。 |
1 | 葛之覃兮,施于中谷,维叶萋萋。黄鸟于飞,集于灌木,其鸣喈喈。 | 葛之覃兮,施于中谷,维叶莫莫。是刈是濩,为絺为绤,服之无斁。 |
问题生成(数据来自Dureader-robust-qa dev-set):
qid | text_a | text_b |
---|---|---|
f826da8c0b45085df2f316914bbf5b0a | 年基准利率4.35%。 从实际看,贷款的基本条件是: 一是中国大陆居民,年龄在60岁以下; 二是有稳定的住址和工作或经营地点; 三是有稳定的收入来源; ...[SEP]年基准利率4.35% | 2017年银行贷款基准利率 |
3af9e21089f81c561a17305d75c51ca9 | U系列是最好的,采用国际顶尖技术(由格力自主研发)双级变频压缩机,提高压缩机运转效率,制冷制热能力更强劲;1赫兹变频技术,使空调相当于一个15 W电灯泡,更加节能省电;送风面积广,风力大;生态风,净化空气。非常不错,现在国美在做活动,可以了解一下。[SEP]U系列 | 格力空调哪个系列好 |
问题生成的源文本由文章和回答两部分组成,其中用[SEP]进行分割,放置在text_a列下。目标文本为问题放置在text_b列下。 问题生成任务可以通过已知的文章和用户回答,生成相关的问题来增加搜索引擎的泛化能力。
网络(模型)选择
文心预置的可用于生成任务的模型源文件在wenxin_appzoo/wenxin_appzoo/tasks/text_generation/model/目录下,
网络名称(py文件的类型) | 简介 | 支持类型 | 备注 |
---|---|---|---|
Ernie3Generation(ernie3_generation.py) | 基于知识增强的超大规模ERNIE3.0模型,具有NLU与NLG双分支。NLG分支为单向生成,训练收敛更快。NLU分支可以双向编码源文本,针对特定任务,可以取得优于NLG分支的效果。 | 通用生成Finetune任务 | 序列到序列,续写,单向双向。 |
ErnieBillionsGeneration (ernie_billions_generation.py) | ERNIE3.0-1.5B模型规模处于ERNIE-Large和ERNIE3.0(10B)模型之间。通过增大模型规模以及提出Pretrain-RDrop技术,使得模型在多个中文主流下游任务上获得了明显的效果提升。 | 通用生成Finetune任务 | 序列到序列 |
ErnieInfillingGeneration(ernie_infilling_generation.py) | ERNIE-GEN是针对通用生成任务的预训练模型,在4类生成任务的5个英文公开数据集上超过微软 MASS 和 UNILM、Facebook BART、谷歌 T5 等参数规模更大、预训练数据更多的竞品模型取得SOTA效果,在中文任务上较通用ERNIE模型提升显著 | 通用生成Finetune任务 | 序列到序列 |
ERNIE预训练模型选择
文心提供的ERNIE预训练模型的参数文件和配置文件在 wenxin_appzoo/wenxin_appzoo/models_hub目录下,使用对应的sh脚本,即可拉取对应的模型、字典、必要环境等文件。
模型名称 | 下载脚本 | 备注 |
---|---|---|
ERNIE 3.0 | sh download_ernie_3.0_ch.sh | 参数、字典与infer所需环境下载存放于ernie_3.0_ch_dir目录 |
ERNIE 3.0-1.5B | sh download_ernie_3.0_1.5b_ch.sh | 参数、字典和配置存放于ernie_1.5b_ch_dir目录 |
ERNIE-Gen | sh download_ernie_gen_base_ch.sh | 参数、字典和配置存放于ernie_gen_base_ch目录 |
模型评估指标选择
生成任务常用指标有:BLEU-4与ROUGE-L。 文心中上述已有的网络(模型)代码中已经默认预置了Acc(准确率)、Precision(精确率)、Recall(召回率)、F1计算
运行环境选择
- ERNIE3.0百亿网络至少需要4卡V100(关闭evaluation时)才能开启训练,单卡显存大小为32G以上。