语言: 英语
许可证: Apache-2.0
数据集:
- bookcorpus
- wikipedia
- gigaword
Funnel Transformer 中间模型(B6-6-6,无解码器)
这是一个基于英语语料预训练的模型,采用了与ELECTRA类似的目标任务。该模型在这篇论文中首次提出,并在此代码库中发布。该模型不区分大小写:例如“english”和“English”被视为相同。
免责声明:发布Funnel Transformer的团队未为此模型编写模型卡,因此本模型卡由Hugging Face团队撰写。
模型描述
Funnel Transformer是一个基于自监督方式在大规模英语语料上预训练的Transformer模型。这意味着它仅通过原始文本进行预训练,无需任何人工标注(因此可以利用大量公开数据),并通过自动过程从这些文本生成输入和标签。
具体来说,一个小型语言模型会破坏输入文本,并作为该模型的输入生成器。预训练目标是预测哪些标记是原始的,哪些被替换过,类似于GAN的训练方式。
通过这种方式,模型学习到英语语言的内部表示,可用于提取对下游任务有用的特征。例如,如果你有一个带标签句子的数据集,可以使用该模型生成的特征作为输入训练标准分类器。
注意:此模型不包含解码器,因此输出的隐藏状态序列长度为输入的四分之一。适用于需要句子摘要的任务(如句子分类),但不适用于需要每个初始标记对应一个输出的任务。在这种情况下,应使用intermediate
模型。
预期用途与限制
你可以使用原始模型提取给定文本的向量表示,但主要目的是在下游任务上进行微调。请查看模型中心以寻找你感兴趣任务的微调版本。
请注意,此模型主要针对使用整个句子(可能被掩码)进行决策的任务,如序列分类、标记分类或问答。对于文本生成等任务,应使用类似GPT2的模型。
使用方法
以下是如何在PyTorch中使用此模型获取给定文本的特征:
from transformers import FunnelTokenizer, FunnelBaseModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/intermediate-base")
model = FunnelBaseModel.from_pretrained("funnel-transformer/intermediate-base")
text = "替换为任意你想要的文本。"
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
在TensorFlow中的使用方法:
from transformers import FunnelTokenizer, TFFunnelBaseModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/intermediate-base")
model = TFFunnelBaseModel.from_pretrained("funnel-transformer/intermediate-base")
text = "替换为任意你想要的文本。"
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
训练数据
BERT模型的预训练数据包括:
BibTeX条目与引用信息
@misc{dai2020funneltransformer,
title={Funnel-Transformer: Filtering out Sequential Redundancy for Efficient Language Processing},
author={Zihang Dai and Guokun Lai and Yiming Yang and Quoc V. Le},
year={2020},
eprint={2006.03236},
archivePrefix={arXiv},
primaryClass={cs.LG}
}