T5v1.1
概述
T5v1.1 由 Colin Raffel 等人在 google-research/text-to-text-transfer-transformer 代码库中发布。它是原始 T5 模型的改进版本。该模型由 patrickvonplaten 贡献。原始代码可以在这里找到 here。
使用技巧
可以将 T5v1.1 的权重直接插入到 T5 模型中,如下所示
>>> from transformers import T5ForConditionalGeneration
>>> model = T5ForConditionalGeneration.from_pretrained("google/t5-v1_1-base")
与原始 T5 模型相比,T5 版本 1.1 包括以下改进
前馈隐藏层使用 GEGLU 激活函数,而不是 ReLU。参见 这篇论文。
预训练期间关闭了 dropout(质量提升)。在微调期间应重新启用 dropout。
仅在 C4 上进行预训练,没有混合下游任务。
嵌入层和分类器层之间没有参数共享。
“xl” 和 “xxl” 替换了 “3B” 和 “11B”。模型形状略有不同——更大的
d_model
和更小的num_heads
和d_ff
。
注意:T5 版本 1.1 仅在 C4 上进行预训练,排除了任何监督训练。因此,与原始 T5 模型不同,该模型在用于下游任务之前必须进行微调。由于 t5v1.1 是无监督预训练的,因此在单任务微调期间使用任务前缀没有真正的优势。如果您正在进行多任务微调,则应该使用前缀。
Google 发布了以下变体
有关所有 API 参考、技巧、代码示例和笔记本,请参阅 T5 的文档页面。