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