🚀 mALBERT Base Cased 128k
mALBERT Base Cased 128k 是一个预训练的多语言语言模型,采用掩码语言建模(MLM)目标进行训练。该模型与其他 ALBERT 模型不同,它区分大小写,能够区分“french”和“French”。详细信息可查看 此处。
✨ 主要特性
- 多语言支持:支持法语(fr)、英语(en)、德语(de)等多种语言。
- 大小写敏感:与其他 ALBERT 模型不同,该模型区分大小写。
- 自监督学习:通过自监督方式在 16GB 的法语维基百科文本上进行预训练。
- 双目标预训练:采用掩码语言建模(MLM)和句子顺序预测(SOP)两个目标进行预训练。
- 参数共享:模型在 Transformer 层之间共享参数,减少了内存占用。
📦 安装指南
文档未提供具体安装步骤,跳过此章节。
💻 使用示例
基础用法
以下是在 PyTorch 中使用该模型提取给定文本特征的示例:
from transformers import AlbertTokenizer, AlbertModel
tokenizer = AlbertTokenizer.from_pretrained('cservan/multilingual-albert-base-cased-128k')
model = AlbertModel.from_pretrained("cservan/multilingual-albert-base-cased-128k")
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-128k')
model = TFAlbertModel.from_pretrained("cservan/multilingual-albert-base-cased-128k")
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 |
词汇表大小 |
128k |
预期用途和限制
可以使用原始模型进行掩码语言建模或下一句预测,但它主要用于在下游任务上进行微调。可查看 模型中心 以查找针对感兴趣任务进行微调的版本。
请注意,该模型主要旨在用于需要使用整个句子(可能被掩盖)进行决策的任务,如序列分类、标记分类或问答。对于文本生成等任务,建议使用 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 许可证。