🚀 mALBERT Base Cased 32k
mALBERT Base Cased 32k 是一个预训练的多语言语言模型,采用掩码语言建模(MLM)目标进行训练。该模型支持多种语言,能为下游任务提取有用特征。与其他 ALBERT 模型不同,它区分大小写,例如能区分 “french” 和 “French”。
🚀 快速开始
你可以使用这个原始模型进行掩码语言建模或下一句预测,但它主要用于在下游任务上进行微调。你可以在 模型中心 查找针对你感兴趣的任务微调后的版本。
💻 使用示例
基础用法
以下是如何在 PyTorch 中使用此模型获取给定文本的特征:
from transformers import AlbertTokenizer, AlbertModel
tokenizer = AlbertTokenizer.from_pretrained('cservan/multilingual-albert-base-cased-32k')
model = AlbertModel.from_pretrained("cservan/multilingual-albert-base-cased-32k")
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-32k')
model = TFAlbertModel.from_pretrained("cservan/multilingual-albert-base-cased-32k")
text = "Remplacez-moi par le texte en français que vous souhaitez."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
✨ 主要特性
- 多语言支持:支持法语(fr)、英语(en)、德语(de)、西班牙语(es)、俄语(ru)、意大利语(it)、中文(zh)等多种语言。
- 大小写敏感:能够区分大小写,提供更细致的语言表示。
- 参数共享:在 Transformer 层之间共享权重,内存占用小,但计算成本与具有相同隐藏层数的 BERT 架构相似。
📦 安装指南
文档未提供具体安装步骤,你可以参考 Transformers 库的官方文档进行安装。
📚 详细文档
模型描述
mALBERT 是一个基于自监督方式在 16GB 法语维基百科上预训练的 Transformer 模型。这意味着它仅在原始文本上进行预训练,没有人工标注(因此可以使用大量公开可用的数据),并通过自动过程从这些文本中生成输入和标签。更确切地说,它通过两个目标进行预训练:
- 掩码语言建模(MLM):取一个句子,模型随机掩盖输入中 15% 的单词,然后将整个掩码句子通过模型,并预测被掩盖的单词。这与传统的循环神经网络(RNN)不同,RNN 通常逐个看到单词,也与像 GPT 这样的自回归模型不同,GPT 内部掩盖未来的标记。这允许模型学习句子的双向表示。
- 句子顺序预测(SOP):mALBERT 使用基于预测两个连续文本段顺序的预训练损失。
通过这种方式,模型学习到语言的内部表示,可用于提取对下游任务有用的特征。例如,如果你有一个标记句子的数据集,你可以使用 mALBERT 模型生成的特征作为输入来训练标准分类器。
这个基础模型的第二个版本具有以下配置:
属性 |
详情 |
重复层数 |
12 层 |
嵌入维度 |
128 |
隐藏维度 |
768 |
注意力头数 |
12 |
参数数量 |
1100 万 |
词汇量大小 |
32k |
预期用途和限制
该模型主要用于需要使用整个句子(可能是掩码的)来做出决策的任务,如序列分类、标记分类或问答。对于文本生成等任务,你应该考虑像 GPT2 这样的模型。
训练数据
mALBERT 模型在 13GB 的 多语言维基百科(不包括列表、表格和标题)上进行预训练。
训练过程
预处理
文本先转换为小写,然后使用 SentencePiece 进行分词,词汇量大小为 128,000。模型的输入形式如下:
[CLS] 句子 A [SEP] 句子 B [SEP]
训练
mALBERT 的训练过程遵循 BERT 的设置。每个句子的掩码过程细节如下:
- 15% 的标记被掩盖。
- 80% 的情况下,被掩盖的标记被
[MASK]
替换。
- 10% 的情况下,被掩盖的标记被一个与它们替换的标记不同的随机标记替换。
- 10% 的情况下,被掩盖的标记保持不变。
工具
用于预训练模型的工具可在 这里 获取。
评估结果
在下游任务上进行微调时,ALBERT 模型取得了以下结果:
槽填充任务
模型 \ 任务 |
MMNLU |
MultiATIS++ |
CoNLL2003 |
MultiCoNER |
SNIPS |
MEDIA |
EnALBERT |
未提供 |
未提供 |
89.67 (0.34) |
42.36 (0.22) |
95.95 (0.13) |
未提供 |
FrALBERT |
未提供 |
未提供 |
未提供 |
未提供 |
未提供 |
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) |
🔧 技术细节
mALBERT 在 Transformer 层之间共享权重,所有层具有相同的权重。使用重复层导致内存占用小,但计算成本与具有相同隐藏层数的 BERT 架构相似,因为它必须遍历相同数量的(重复)层。
📄 许可证
本模型采用 Apache-2.0 许可证。
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