🚀 FrALBERT Base Cased
FrALBERT Base Casedは、マスク言語モデリング(MLM)を目的としてフランス語で事前学習されたモデルです。このモデルに関する詳細はこちらで確認できます。他のALBERTモデルとは異なり、このモデルは大文字と小文字を区別します。つまり、「french」と「French」を区別します。
🚀 クイックスタート
FrALBERT Base Casedモデルは、フランス語のマスク言語モデリングや次文予測に使用できますが、主に下流タスクでのファインチューニングを目的としています。
✨ 主な機能
事前学習の目的
- Masked language modeling (MLM): 文章を入力として、モデルは入力の中の15%の単語をランダムにマスクし、そのマスクされた文章全体をモデルに通して、マスクされた単語を予測します。これは、通常は単語を順番に見る従来の再帰型ニューラルネットワーク(RNN)や、内部的に未来のトークンをマスクするGPTのような自己回帰モデルとは異なり、文章の双方向的な表現を学習することができます。
- Sentence Ordering Prediction (SOP): FrALBERTは、2つの連続したテキストセグメントの順序を予測することに基づく事前学習損失を使用します。
モデルの特徴
FrALBERTは、Transformerの層を共有するという特徴があります。つまり、すべての層が同じ重みを持っています。繰り返し層を使用することで、メモリ使用量が少なくなりますが、計算コストは同じ数の隠れ層を持つBERTのようなアーキテクチャと同程度になります。
モデルの構成
- 12の繰り返し層
- 128の埋め込み次元
- 768の隠れ次元
- 12のアテンションヘッド
- 1100万のパラメータ
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='cservan/french-albert-base-cased')
>>> unmasker("Paris est la capitale de la [MASK] .")
[
{
"sequence": "paris est la capitale de la france.",
"score": 0.6231236457824707,
"token": 3043,
"token_str": "france"
},
{
"sequence": "paris est la capitale de la region.",
"score": 0.2993471622467041,
"token": 10531,
"token_str": "region"
},
{
"sequence": "paris est la capitale de la societe.",
"score": 0.02028230018913746,
"token": 24622,
"token_str": "societe"
},
{
"sequence": "paris est la capitale de la bretagne.",
"score": 0.012089950032532215,
"token": 24987,
"token_str": "bretagne"
},
{
"sequence": "paris est la capitale de la chine.",
"score": 0.010002839379012585,
"token": 14860,
"token_str": "chine"
}
]
高度な使用法
PyTorchでの特徴抽出
from transformers import AlbertTokenizer, AlbertModel
tokenizer = AlbertTokenizer.from_pretrained('cservan/french-albert-base-cased')
model = AlbertModel.from_pretrained("cservan/french-albert-base-cased")
text = "Remplacez-moi par le texte en français que vous souhaitez."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
TensorFlowでの特徴抽出
from transformers import AlbertTokenizer, TFAlbertModel
tokenizer = AlbertTokenizer.from_pretrained('cservan/french-albert-base-cased')
model = TFAlbertModel.from_pretrained("cservan/french-albert-base-cased")
text = "Remplacez-moi par le texte en français que vous souhaitez."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
📚 ドキュメント
意図された用途と制限
このモデルは、生のモデルとしてマスク言語モデリングや次文予測に使用できますが、主に下流タスクでのファインチューニングを目的としています。関心のあるタスクでファインチューニングされたバージョンを探すには、モデルハブを参照してください。
このモデルは、主に文全体(潜在的にマスクされた)を使用して決定を行うタスク、例えばシーケンス分類、トークン分類、質問応答などでのファインチューニングを目的としています。テキスト生成のようなタスクには、GPT2のようなモデルを使用することをお勧めします。
学習データ
FrALBERTモデルは、4GBのフランス語版Wikipedia(リスト、表、ヘッダーを除く)で事前学習されました。
学習手順
前処理
テキストは小文字に変換され、SentencePieceを使用してトークン化されます。語彙サイズは32,000です。モデルの入力は以下の形式になります。
[CLS] Sentence A [SEP] Sentence B [SEP]
学習
FrALBERTの学習手順はBERTの設定に従っています。各文のマスキング手順の詳細は以下の通りです。
- 15%のトークンがマスクされます。
- 80%のケースで、マスクされたトークンは
[MASK]
に置き換えられます。
- 10%のケースで、マスクされたトークンは置き換えるトークンとは異なるランダムなトークンに置き換えられます。
- 残りの10%のケースでは、マスクされたトークンはそのまま残されます。
評価結果
下流タスクでファインチューニングされた場合、ALBERTモデルは以下の結果を達成します。
Slot-filling:
属性 |
FrALBERT-base |
FrALBERT-base-cased |
MEDIA |
81.76 (0.59) |
85.09 (0.14) |
🔧 技術詳細
FrALBERTは、Transformerアーキテクチャをベースにしたモデルで、層を共有することでメモリ使用量を削減しています。学習にはマスク言語モデリング(MLM)と文順予測(SOP)の2つの目的を使用しています。これにより、モデルはフランス語の内部表現を学習し、下流タスクに有用な特徴を抽出することができます。
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。
BibTeXエントリと引用情報
@inproceedings{cattan2021fralbert,
author = {Oralie Cattan and
Christophe Servan and
Sophie Rosset},
booktitle = {Recent Advances in Natural Language Processing, RANLP 2021},
title = {{On the Usability of Transformers-based models for a French Question-Answering task}},
year = {2021},
address = {Online},
month = sep,
}
論文へのリンク: PDF