语言: 阿拉伯语
数据集:
- 维基百科
- Osian
- 15亿阿拉伯语语料库
- 未打乱的OSCAR阿拉伯语语料
- Assafir(私有)
小部件示例:
AraBERT v1 与 v2:为阿拉伯语理解预训练的BERT模型
AraBERT 是一个基于谷歌BERT架构的阿拉伯语预训练语言模型。AraBERT使用与BERT-Base相同的配置。更多细节请参阅AraBERT论文及AraBERT技术交流会。
模型分为两个版本:AraBERTv0.1和AraBERTv1,区别在于AraBERTv1使用了经过Farasa分词器预处理的分段文本,将前缀和后缀分开。
我们在多个下游任务上评估了AraBERT模型,并与mBERT及其他前沿模型进行了比较(据我们所知)。这些任务包括6个不同数据集的情感分析(HARD、ASTD-Balanced、ArsenTD-Lev、LABR)、基于ANERcorp的命名实体识别,以及基于Arabic-SQuAD和ARCD的阿拉伯语问答。
AraBERTv2
新特性!
AraBERT现推出4个新变体以取代旧版v1:
更多细节请参阅AraBERT文件夹中的README及AraBERT论文。
所有模型均可在HuggingFace
模型页面的aubmindlab名下获取,支持PyTorch、TF2和TF1格式的检查点。
更优的预处理与新词表
我们发现AraBERTv1的词片(wordpiece)词表存在标点符号和数字与单词粘连的问题。新版通过在数字与字符间及标点周围插入空格解决了这一问题。
新词表使用tokenizers
库中的BertWordpieceTokenizer
学习,现支持transformers
库的快速分词实现。
注:所有旧版BERT代码应兼容新版BERT,只需更改模型名称并检查新的预处理函数。
请务必阅读预处理函数使用说明。
更大数据集与更强算力
我们使用了约3.5倍的数据量并延长了训练时间。
数据集来源详见数据集章节。
模型 |
硬件 |
序列长度(128/512)的样本数 |
128(批大小/步数) |
512(批大小/步数) |
总步数 |
总耗时(天) |
AraBERTv0.2-base |
TPUv3-8 |
4.2亿 / 2.07亿 |
2560 / 100万 |
384 / 200万 |
300万 |
- |
AraBERTv0.2-large |
TPUv3-128 |
4.2亿 / 2.07亿 |
13440 / 25万 |
2056 / 30万 |
55万 |
7 |
AraBERTv2-base |
TPUv3-8 |
4.2亿 / 2.07亿 |
2560 / 100万 |
384 / 200万 |
300万 |
- |
AraBERTv2-large |
TPUv3-128 |
5.2亿 / 2.45亿 |
13440 / 25万 |
2056 / 30万 |
55万 |
7 |
AraBERT-base (v1/v0.1) |
TPUv2-8 |
- |
512 / 90万 |
128 / 30万 |
120万 |
4 |
数据集
新版AraBERT的预训练数据同时用于阿拉伯语GPT2和ELECTRA模型。
数据集包含77GB或200,095,961行或8,655,948,860词或82,232,988,358字符(Farasa分词前)。
新版数据集在AraBERTv1原有数据基础上添加了经过严格过滤的未打乱OSCAR语料,但剔除了之前爬取的网站:
预处理
建议在任何数据集训练/测试前应用我们的预处理函数。
安装arabert
Python包以对AraBERT v1 & v2文本分词或清洗数据:pip install arabert
from arabert.preprocess import ArabertPreprocessor
model_name="aubmindlab/bert-large-arabertv2"
arabert_prep = ArabertPreprocessor(model_name=model_name)
text = "ولن نبالغ إذا قلنا إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري"
arabert_prep.preprocess(text)
>>> "و+ لن نبالغ إذا قل +نا إن هاتف أو كمبيوتر ال+ مكتب في زمن +نا هذا ضروري"
TensorFlow 1.x模型
TF1.x模型可通过HuggingFace模型库获取,下载方式如下:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
git clone https://huggingface.co/aubmindlab/MODEL_NAME
tar -C ./MODEL_NAME -zxvf /content/MODEL_NAME/tf1_model.tar.gz
其中MODEL_NAME
为aubmindlab
名下任意模型。
- 通过
wget
:
- 访问huggingface.co/models/aubmindlab/MODEL_NAME下的tf1_model.tar.gz文件。
- 复制
oid sha256
。
- 运行
wget https://cdn-lfs.huggingface.co/aubmindlab/aragpt2-base/插入SHA值
(例如aragpt2-base
:wget https://cdn-lfs.huggingface.co/aubmindlab/aragpt2-base/3766fc03d7c2593ff2fb991d275e96b81b0ecb2098b71ff315611d052ce65248
)。
引用
若使用本模型,请引用以下文献(谷歌学术的Bibtex有误,缺失作者名,请使用以下格式):
@inproceedings{antoun2020arabert,
title={AraBERT: Transformer-based Model for Arabic Language Understanding},
author={Antoun, Wissam and Baly, Fady and Hajj, Hazem},
booktitle={LREC 2020 Workshop Language Resources and Evaluation Conference 11--16 May 2020},
pages={9}
}
致谢
感谢TensorFlow Research Cloud (TFRC)提供免费Cloud TPU访问,以及AUB MIND Lab成员的支持。同时感谢Yakshof和Assafir提供数据与存储支持。另感谢Habib Rahal (https://www.behance.net/rahalhabib)为AraBERT设计形象。
联系方式
Wissam Antoun: 领英 | 推特 | GitHub | wfa07@mail.aub.edu | wissam.antoun@gmail.com
Fady Baly: 领英 | 推特 | GitHub | fgb06@mail.aub.edu | baly.fady@gmail.com