🚀 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许可证。