🚀 漏斗變換器中間模型 (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 許可證。