语言: 英语
许可证: Apache-2.0
数据集:
Funnel Transformer 中型模型(B6-3x2-3x2,无解码器)
这是一个基于英语语料预训练的模型,采用了与ELECTRA类似的目标任务。该模型在这篇论文中首次提出,并在此代码库中发布。此模型为不区分大小写版本:例如"english"和"English"将被视为相同。
免责声明:发布Funnel Transformer的团队未为此模型编写说明卡片,本文档由Hugging Face团队撰写。
模型描述
Funnel Transformer是通过自监督方式在海量英语文本上预训练的Transformer模型。这意味着它仅基于原始文本进行预训练,无需任何人工标注(因此可以利用大量公开数据),并通过自动过程从文本生成输入和标签。
具体而言,一个小型语言模型会对输入文本进行干扰,作为本模型的输入生成器。预训练目标是预测哪些标记是原始内容,哪些被替换——类似于GAN的训练方式。
通过这种方式,模型学习到英语语言的内部表征,这些表征可用于提取对下游任务有益的特征。例如,如果您有一个带标签句子的数据集,可以使用BERT模型生成的特征作为输入来训练标准分类器。
注意:此模型不包含解码器,因此输出的隐藏状态序列长度仅为输入的四分之一。适用于需要句子摘要的任务(如句子分类),但不适用于需要每个初始标记对应一个输入的情况。此类场景应使用medium
模型。
预期用途与限制
您可以使用原始模型提取给定文本的向量表征,但主要用途是针对下游任务进行微调。请参阅模型中心寻找您感兴趣任务的微调版本。
请注意,该模型主要适用于利用整个句子(可能包含掩码)进行决策的任务,如序列分类、标记分类或问答。对于文本生成等任务,应选用GPT2等模型。
使用方法
在PyTorch中获取文本特征的示例:
from transformers import FunnelTokenizer, FunnelBaseModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/medium-base")
model = FunnelBaseModel.from_pretrained("funnel-transformer/medium-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/medium-base")
model = TFFunnelBaseModel.from_pretrained("funnel-transformer/medium-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}
}