🚀 ファネルトランスフォーマー中間モデル (デコーダーなしのB6 - 6 - 6)
このモデルは、ELECTRA と同様の目的で英語で事前学習されたモデルです。このモデルは この論文 で紹介され、最初は このリポジトリ で公開されました。このモデルは大文字と小文字を区別しません。つまり、"english" と "English" を区別しません。
免責事項: ファネルトランスフォーマーを公開したチームはこのモデルについてモデルカードを作成していないため、このモデルカードはHugging Faceチームによって作成されました。
📚 ドキュメント
モデルの説明
ファネルトランスフォーマーは、自己教師付き学習方式で大量の英語データセットで事前学習されたトランスフォーマーモデルです。これは、人間が何らかの形でラベル付けを行わず、生のテキストのみを使用して事前学習されています(このため、大量の公開データを使用することができます)。具体的には、自動化されたプロセスによってそれらのテキストから入力とラベルを生成します。
より正確には、小さな言語モデルが入力テキストを破損させ、このモデルの入力の生成器として機能します。事前学習の目的は、どのトークンが元のもので、どれが置き換えられたものかを予測することで、GANのトレーニングに少し似ています。
このようにして、モデルは英語の内部表現を学習し、下流のタスクに役立つ特徴を抽出するために使用することができます。たとえば、ラベル付きの文のデータセットがある場合、BERTモデルが生成する特徴を入力として使用して、標準的な分類器をトレーニングすることができます。
注意: このモデルにはデコーダーが含まれていないため、出力される隠れ状態のシーケンス長は入力の4分の1になります。文の要約が必要なタスク(文分類など)には適していますが、元の各トークンに対応する入力が必要な場合は適していません。その場合は intermediate
モデルを使用する必要があります。
使用目的と制限
生のモデルを使用して、与えられたテキストのベクトル表現を抽出することができますが、主に下流のタスクでファインチューニングすることを目的としています。関心のあるタスクでファインチューニングされたバージョンを探すには、モデルハブ を参照してください。
このモデルは、主に文全体(潜在的にマスクされたもの)を使用して決定を行うタスクでファインチューニングすることを目的としています。例えば、シーケンス分類、トークン分類、質問応答などです。テキスト生成などのタスクには、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}
}
💻 使用例
基本的な使用法
以下は、このモデルを使用して与えられたテキストの特徴を抽出するPyTorchのコード例です。
from transformers import FunnelTokenizer, FunnelBaseModel
tokenizer = FunnelTokenizer.from_pretrained("funnel-transformer/intermediate-base")
model = FunnelBaseModel.from_pretrained("funnel-transformer/intermediate-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/intermediate-base")
model = TFFunnelBaseModel.from_pretrained("funnel-transformer/intermediate-base")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。