项目介绍:Funnel Transformer 小型模型
模型简介
Funnel Transformer是一个针对英语语言预训练的小型变换器模型。这种预训练采用了类似于ELECTRA的目标,在原始文本上进行自监督学习。由于这种方法不需要人工标注数据,因此可以利用大量的公开数据集进行训练。模型采用了一种生成-鉴别的策略,通过一个小型语言模型对输入文本进行扰动,然后训练模型辨别哪些词是原始的,哪些是替换的。这与生成对抗网络(GAN)的训练有些类似。
模型用途及限制
Funnel Transformer的小型模型主要用于提取文本的特征表示,适合在下游任务中进行微调,如序列分类、标记分类或问题回答等需要使用完整句子(可能包含掩码)的任务。但如果任务是生成文本,推荐使用其他模型例如GPT2。
如何使用
用户可以通过PyTorch或TensorFlow来调用该模型:
在PyTorch中:
from transformers import FunnelTokenizer, FunnelModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/small")
model = FunnelModel.from_pretrained("funnel-transformer/small")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
在TensorFlow中:
from transformers import FunnelTokenizer, TFFunnelModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/small")
model = TFFunnelModel.from_pretrained("funnel-transformer/small")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
训练数据
Funnel Transformer模型的预训练数据集包括:
- BookCorpus:由11,038本未公开发行的书籍构成的数据集。
- 英文维基百科:排除了列表、表格和标题的内容。
- ClueWeb:包含733,019,372个英文网页的数据集。
- GigaWord:新闻文本数据存档。
- Common Crawl:原始网页数据集。
进一步阅读
Funnel Transformer的更多技术细节和贝叶斯条目可以参考以下文献:
@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}
}
此模型方案主要来自Hugging Face团队所编写的模型卡信息。