🚀 漏斗变换器中型模型 (B6 - 3x2 - 3x2 无解码器)
漏斗变换器中型模型是基于与 ELECTRA 类似的目标在英文语料上进行预训练的模型。它能够学习英文语言的内部表示,可用于提取对下游任务有用的特征。
🚀 快速开始
漏斗变换器(Funnel Transformer)是一个以自监督方式在大量英文数据语料上进行预训练的变换器模型。这意味着它仅在原始文本上进行预训练,无需人工以任何方式对其进行标注(这就是它可以使用大量公开可用数据的原因),并通过自动过程从这些文本中生成输入和标签。
以下是如何在 PyTorch 中使用该模型来获取给定文本的特征:
from transformers import FunnelTokenizer, FunnelBaseModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/medium-base")
model = FunnelBaseModel.from_pretrained("funnel-transformer/medium-base")
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, TFFunnelBaseModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/medium-base")
model = TFFunnelBaseModel.from_pretrained("funnel-transformer/medium-base")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
✨ 主要特性
- 以自监督方式在大量英文数据语料上进行预训练,学习英文语言的内部表示,可用于提取对下游任务有用的特征。
- 该模型不包含解码器,输出的隐藏状态序列长度是输入的四分之一,适用于需要句子摘要的任务(如句子分类)。
📚 详细文档
模型描述
漏斗变换器是一个以自监督方式在大量英文数据语料上进行预训练的变换器模型。这意味着它仅在原始文本上进行预训练,无需人工以任何方式对其进行标注(这就是它可以使用大量公开可用数据的原因),并通过自动过程从这些文本中生成输入和标签。
更准确地说,一个小型语言模型会对输入文本进行损坏,并作为该模型的输入生成器,预训练的目标是预测哪个标记是原始的,哪个是被替换的,有点像 GAN 训练。
通过这种方式,模型学习到英文语言的内部表示,然后可用于提取对下游任务有用的特征:例如,如果您有一个带标签句子的数据集,您可以使用 BERT 模型生成的特征作为输入来训练一个标准分类器。
注意:该模型不包含解码器,因此它输出的隐藏状态序列长度是输入的四分之一。它适用于需要句子摘要的任务(如句子分类),但如果您需要每个初始标记都有一个输入,则不适用。在这种情况下,您应该使用 medium
模型。
预期用途和限制
您可以使用原始模型来提取给定文本的向量表示,但它主要用于在下游任务上进行微调。请参阅 模型中心 以查找针对您感兴趣的任务进行微调的版本。
请注意,该模型主要旨在针对使用整个句子(可能是掩码的)来做出决策的任务进行微调,例如序列分类、标记分类或问答。对于文本生成等任务,您应该考虑使用像 GPT2 这样的模型。
训练数据
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 许可证。