🚀 漏斗变换器(Funnel Transformer)大型模型 (B8 - 8 - 8 带解码器)
Funnel Transformer是一个预训练模型,它使用与 ELECTRA 类似的目标在英文语料上进行训练。该模型在 这篇论文 中被提出,并首次在 这个仓库 中发布。此模型不区分大小写:它对 "english" 和 "English" 一视同仁。
免责声明:发布 Funnel Transformer 的团队并未为此模型撰写模型卡片,本模型卡片由 Hugging Face 团队撰写。
🚀 快速开始
Funnel Transformer 是一个以自监督方式在大量英文数据语料库上进行预训练的变换器(Transformer)模型。这意味着它仅在原始文本上进行预训练,没有人工对其进行任何标注(这也是它可以使用大量公开可用数据的原因),并通过自动流程从这些文本中生成输入和标签。
更确切地说,一个小型语言模型会对输入文本进行扰乱,并作为此模型的输入生成器,预训练的目标是预测哪个标记是原始标记,哪个是被替换的标记,有点类似于生成对抗网络(GAN)的训练。
通过这种方式,模型学习到英语语言的内部表示,然后可用于提取对下游任务有用的特征:例如,如果您有一个带标签的句子数据集,您可以使用 BERT 模型生成的特征作为输入来训练一个标准分类器。
✨ 主要特性
预期用途与局限性
您可以使用原始模型来提取给定文本的向量表示,但它主要用于在下游任务上进行微调。请查看 模型中心 以查找针对您感兴趣的任务进行微调的版本。
请注意,此模型主要旨在针对使用整个句子(可能经过掩码处理)来做出决策的任务进行微调,例如序列分类、标记分类或问答任务。对于文本生成等任务,您应该考虑使用像 GPT2 这样的模型。
如何使用
以下是如何在 PyTorch 中使用此模型来获取给定文本的特征:
from transformers import FunnelTokenizer, FunnelModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/large")
model = FunneModel.from_pretrained("funnel-transformer/large")
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/large")
model = TFFunnelModel.from_pretrained("funnel-transformer/large")
text = "Replace me by any text you'd like."
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}
}
📄 许可证
本项目采用 Apache-2.0 许可证。