🚀 mALBERT Base Cased 64k
mALBERT Base Cased 64k是一個預訓練的多語言語言模型,採用掩碼語言建模(MLM)目標進行訓練。它能區分大小寫,例如“french”和“French”會被視為不同詞彙。詳細信息可查看這裡。
✨ 主要特性
- 多語言支持:支持法語(fr)、英語(en)、德語(de)等多種語言。
- 大小寫敏感:與其他ALBERT模型不同,該模型區分大小寫。
- 自監督學習:在無人工標註的原始文本上進行自監督預訓練。
- 雙向表徵學習:通過掩碼語言建模(MLM)學習句子的雙向表徵。
- 句子順序預測:使用基於預測兩個連續文本片段順序的預訓練損失。
- 參數共享:在Transformer層之間共享參數,減少內存佔用。
📦 安裝指南
文檔未提及安裝步驟,跳過該章節。
💻 使用示例
基礎用法
以下是在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是一個基於Transformer的模型,以自監督方式在16GB的法語維基百科文本上進行預訓練。這意味著它僅在原始文本上進行訓練,無需人工標註(因此可以使用大量公開可用的數據),並通過自動過程從這些文本中生成輸入和標籤。具體來說,它通過兩個目標進行預訓練:
- 掩碼語言建模(MLM):給定一個句子,模型隨機掩碼輸入中15%的單詞,然後將整個掩碼後的句子輸入模型,並預測被掩碼的單詞。這與傳統的循環神經網絡(RNN)不同,RNN通常逐個處理單詞,也與自迴歸模型(如GPT)不同,GPT會在內部掩碼未來的標記。這種方式允許模型學習句子的雙向表徵。
- 句子順序預測(SOP):mALBERT使用基於預測兩個連續文本片段順序的預訓練損失。
通過這種方式,模型學習到語言的內部表徵,可用於提取對下游任務有用的特徵。例如,如果您有一個帶標籤的句子數據集,可以使用mALBERT模型生成的特徵作為輸入,訓練一個標準的分類器。
mALBERT的特殊之處在於它在Transformer層之間共享參數。因此,所有層具有相同的權重。使用重複層可以減少內存佔用,但計算成本與具有相同隱藏層數的BERT架構相似,因為它仍然需要遍歷相同數量的(重複)層。
這是基礎模型的第二個版本,具有以下配置:
屬性 |
詳情 |
層數 |
12個重複層 |
嵌入維度 |
128 |
隱藏維度 |
768 |
注意力頭數量 |
12 |
參數數量 |
11M |
詞彙表大小 |
64k |
預期用途與限制
您可以直接使用該模型進行掩碼語言建模或下一句預測,但它主要用於在下游任務上進行微調。請查看模型中心,查找針對您感興趣的任務進行微調的版本。
請注意,該模型主要用於需要使用整個句子(可能是掩碼後的句子)進行決策的任務,如序列分類、標記分類或問答任務。對於文本生成任務,建議使用GPT2等模型。
訓練數據
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) |
引用信息
@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許可證。