🚀 mALBERT Base Cased 64k
mALBERT Base Cased 64kは、マスク言語モデリング(MLM)を目的として事前学習された多言語言語モデルです。このモデルの詳細についてはこちらを参照してください。他のALBERTモデルとは異なり、このモデルは大文字と小文字を区別します。例えば、frenchとFrenchは異なるものとして扱われます。
✨ 主な機能
モデルの概要
mALBERTは、16GBのフランス語ウィキペディアを用いて自己教師付き学習により事前学習されたトランスフォーマーモデルです。つまり、人間によるラベル付けを一切行わず、生のテキストのみを使用し、自動的なプロセスで入力とラベルを生成して事前学習されています。具体的には、以下の2つの目的で事前学習されています。
- マスク言語モデリング(MLM):文章を入力として受け取り、ランダムに15%の単語をマスクし、マスクされた文章全体をモデルに通して、マスクされた単語を予測します。これは、通常1単語ずつ見る従来の再帰型ニューラルネットワーク(RNN)や、内部的に未来のトークンをマスクするGPTのような自己回帰型モデルとは異なり、文章の双方向的な表現を学習することができます。
- 文順予測(SOP):mALBERTは、連続する2つのテキストセグメントの順序を予測することに基づく事前学習損失を使用しています。
このようにして、モデルは言語の内部表現を学習し、下流タスクに有用な特徴を抽出するために使用することができます。例えば、ラベル付きの文章のデータセットがある場合、mALBERTモデルが生成する特徴を入力として、標準的な分類器を訓練することができます。
mALBERTの特徴は、Transformerの層を共有することです。つまり、すべての層が同じ重みを持っています。繰り返し層を使用することで、メモリ使用量を抑えることができますが、計算コストは同じ数の隠れ層を持つBERTのようなアーキテクチャと同程度になります。
これはベースモデルの第2バージョンです。
このモデルは以下の構成を持っています。
属性 |
详情 |
層の数 |
12層(繰り返し層) |
埋め込み次元 |
128 |
隠れ次元 |
768 |
アテンションヘッド数 |
12 |
パラメータ数 |
11M |
語彙サイズ |
64k |
想定される用途と制限
このモデルは、マスク言語モデリングや次文予測にそのまま使用することもできますが、主に下流タスクでファインチューニングすることを想定しています。興味のあるタスクでファインチューニングされたバージョンを探すには、モデルハブを参照してください。
なお、このモデルは主に、文全体(潜在的にマスクされた)を使用して決定を行うタスク、例えばシーケンス分類、トークン分類、質問応答などでファインチューニングすることを目的としています。テキスト生成のようなタスクには、GPT2のようなモデルを使用することをお勧めします。
📦 インストール
このモデルを使用するには、transformers
ライブラリをインストールする必要があります。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
以下は、このモデルを使用して与えられたテキストの特徴を取得する方法の例です。
PyTorchでの使用例
from transformers import AlbertTokenizer, AlbertModel
tokenizer = AlbertTokenizer.from_pretrained('cservan/multilingual-albert-base-cased-64k')
model = AlbertModel.from_pretrained("cservan/multilingual-albert-base-cased-64k")
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/multilingual-albert-base-cased-64k')
model = TFAlbertModel.from_pretrained("cservan/multilingual-albert-base-cased-64k")
text = "Remplacez-moi par le texte en français que vous souhaitez."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
📚 ドキュメント
学習データ
mALBERTモデルは、13GBの多言語ウィキペディア(リスト、テーブル、ヘッダーを除く)を使用して事前学習されています。
学習手順
前処理
テキストは小文字に変換され、SentencePieceを使用して語彙サイズ128,000でトークン化されます。モデルの入力は以下の形式になります。
[CLS] Sentence A [SEP] Sentence B [SEP]
学習
mALBERTの学習手順はBERTの設定に従っています。
各文のマスク手順の詳細は以下の通りです。
- 15%のトークンがマスクされます。
- 80%の場合、マスクされたトークンは
[MASK]
に置き換えられます。
- 10%の場合、マスクされたトークンはランダムなトークンに置き換えられます。
- 残りの10%の場合、マスクされたトークンはそのまま残されます。
ツール
モデルを事前学習するために使用されたツールはこちらで入手できます。
評価結果
下流タスクでファインチューニングされた場合、ALBERTモデルは以下の結果を達成します。
スロット埋め込みタスク
モデル \ タスク |
MMNLU |
MultiATIS++ |
CoNLL2003 |
MultiCoNER |
SNIPS |
MEDIA |
EnALBERT |
N/A |
N/A |
89.67 (0.34) |
42.36 (0.22) |
95.95 (0.13) |
N/A |
FrALBERT |
N/A |
N/A |
N/A |
N/A |
N/A |
81.76 (0.59) |
mALBERT-128k |
65.81 (0.11) |
89.14 (0.15) |
88.27 (0.24) |
46.01 (0.18) |
91.60 (0.31) |
83.15 (0.38) |
mALBERT-64k |
65.29 (0.14) |
88.88 (0.14) |
86.44 (0.37) |
44.70 (0.27) |
90.84 (0.47) |
82.30 (0.19) |
mALBERT-32k |
64.83 (0.22) |
88.60 (0.27) |
84.96 (0.41) |
44.13 (0.39) |
89.89 (0.68) |
82.04 (0.28) |
分類タスク
モデル \ タスク |
MMNLU |
MultiATIS++ |
SNIPS |
SST2 |
mALBERT-128k |
72.35 (0.09) |
90.58 (0.98) |
96.84 (0.49) |
34.66 (1.46) |
mALBERT-64k |
71.26 (0.11) |
90.97 (0.70) |
96.53 (0.44) |
34.64 (1.02) |
mALBERT-32k |
70.76 (0.11) |
90.55 (0.98) |
96.49 (0.45) |
34.18 (1.64) |
BibTeX引用
@inproceedings{servan2024mALBERT,
author = {Christophe Servan and
Sahar Ghannay and
Sophie Rosset},
booktitle = {the 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation (LREC-COLING 2024)},
title = {{mALBERT: Is a Compact Multilingual BERT Model Still Worth It?}},
year = {2024},
address = {Torino, Italy},
month = may,
}
論文のリンク: PDF
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。