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