英文

中文T5版本1.1

模型描述

这是由 UER-py 预训练的中文T5版本1.1模型集,介绍在 this paper 中。

版本1.1

与我们的中文T5模型相比,中文T5版本1.1包括以下改进:

  • 在前馈隐藏层中使用GEGLU激活,而不是ReLU
  • 在预训练中关闭了Dropout
  • 嵌入层和分类器层之间没有参数共享

您可以从以下链接中下载中文T5版本1.1的模型集,或通过HuggingFace获得:

Link
T5-v1_1-Small 12310321
T5-v1_1-Base 12311321

在T5版本1.1中,输入序列的片段被称为"sentinel token"进行屏蔽。每个"sentinel token"代表输入序列的唯一屏蔽令牌,应以"", "", ..., ""开始。然而,在Huggingface的托管推理API中,""被分为多个部分。因此,我们在词汇表中用"extraxxx"替换"",而BertTokenizer将"extraxxx"视为一个屏蔽令牌。

如何使用

您可以直接使用文本生成管道来使用该模型(以T5-v1_1-Small为例):

>>> from transformers import BertTokenizer, MT5ForConditionalGeneration, Text2TextGenerationPipeline
>>> tokenizer = BertTokenizer.from_pretrained("uer/t5-v1_1-small-chinese-cluecorpussmall")
>>> model = MT5ForConditionalGeneration.from_pretrained("uer/t5-v1_1-small-chinese-cluecorpussmall")
>>> text2text_generator = Text2TextGenerationPipeline(model, tokenizer)  
>>> text2text_generator("中国的首都是extra0京", max_length=50, do_sample=False)
    [{'generated_text': 'extra0 北 extra1 extra2 extra3 extra4 extra5'}]

训练数据

CLUECorpusSmall 是用作训练数据的。

训练过程

该模型是由 UER-py Tencent Cloud 上进行预训练的。我们使用序列长度为128进行了100万步的预训练,然后使用序列长度为512进行了额外的25万步的预训练。我们在不同的模型尺寸上使用相同的超参数。