模型:
aubmindlab/bert-base-arabertv02
AraBERT 是一个基于 Google's BERT architechture 的阿拉伯预训练语言模型。AraBERT使用相同的BERT-Base配置。更多详细信息,请参见 AraBERT Paper 和 AraBERT Meetup 。
该模型有两个版本,AraBERTv0.1和AraBERTv1,在于AraBERTv1使用了预分隔文本,其中前缀和后缀使用 Farasa Segmenter 进行了拆分。
我们将AraBERT模型在不同的下游任务上进行了评估,并将其与 mBERT 和其他最先进的模型进行了比较(据我们所知)。任务包括对6个不同数据集进行情感分析( HARD , ASTD-Balanced , ArsenTD-Lev , LABR ),以及通过 ANERcorp 进行命名实体识别,以及通过 Arabic-SQuAD and ARCD 进行阿拉伯问答。
AraBERT现在有4个新的变体来替换旧的v1版本:
在AraBERT文件夹中以及 README 和 AraBERT Paper 中有更多细节。
Model | HuggingFace Model Name | Size (MB/Params) | Pre-Segmentation | DataSet (Sentences/Size/nWords) |
---|---|---|---|---|
AraBERTv0.2-base | 12316321 | 543MB / 136M | No | 200M / 77GB / 8.6B |
AraBERTv0.2-large | 12317321 | 1.38G 371M | No | 200M / 77GB / 8.6B |
AraBERTv2-base | 12318321 | 543MB 136M | Yes | 200M / 77GB / 8.6B |
AraBERTv2-large | 12319321 | 1.38G 371M | Yes | 200M / 77GB / 8.6B |
AraBERTv0.2-Twitter-base | 12320321 | 543MB / 136M | No | Same as v02 + 60M Multi-Dialect Tweets |
AraBERTv0.2-Twitter-large | 12321321 | 1.38G / 371M | No | Same as v02 + 60M Multi-Dialect Tweets |
AraBERTv0.1-base | 12322321 | 543MB 136M | No | 77M / 23GB / 2.7B |
AraBERTv1-base | 12323321 | 543MB 136M | Yes | 77M / 23GB / 2.7B |
所有模型都可以在HuggingFace模型页面上找到,名称为 aubmindlab 。检查点可以以PyTorch、TF2和TF1格式下载。
我们发现AraBERTv1的字片词汇表存在问题。问题在于当学习字片词汇表时,标点符号和数字仍然附加在词语中。现在,我们在数字和字符之间和标点字符周围插入了空格。
新的词汇表是使用tokenizers库中的BertWordpieceTokenizer进行学习的,现在应该支持transformers库的Fast tokenizer实现。
P.S.:所有旧的BERT代码都可以与新的BERT一起使用,只需更改模型名称并检查新的预处理函数。 请阅读如何使用预处理函数的部分。
我们使用了大约3.5倍的数据,并进行了更长时间的训练。有关数据集来源,请参见数据集部分。
Model | Hardware | num of examples with seq len (128 / 512) | 128 (Batch Size/ Num of Steps) | 512 (Batch Size/ Num of Steps) | Total Steps | Total Time (in Days) |
---|---|---|---|---|---|---|
AraBERTv0.2-base | TPUv3-8 | 420M / 207M | 2560 / 1M | 384/ 2M | 3M | - |
AraBERTv0.2-large | TPUv3-128 | 420M / 207M | 13440 / 250K | 2056 / 300K | 550K | 7 |
AraBERTv2-base | TPUv3-8 | 420M / 207M | 2560 / 1M | 384/ 2M | 3M | - |
AraBERTv2-large | TPUv3-128 | 520M / 245M | 13440 / 250K | 2056 / 300K | 550K | 7 |
AraBERT-base (v1/v0.1) | TPUv2-8 | - | 512 / 900K | 128 / 300K | 1.2M | 4 |
用于新AraBERT模型的预训练数据也用于阿拉伯GPT2和ELECTRA。
该数据集包括77GB或200,095,961行或8,655,948,860个单词或82,232,988,358个字符(在应用Farasa Segmentation之前)。
对于新数据集,我们在以前用于AraBERTv1的数据集中添加了未打乱的OSCAR语料库,但去掉了之前我们爬取的网站:
强烈建议在对任何数据集进行训练/测试之前使用我们的预处理函数进行预处理。
安装 arabert Python包以对AraBERT v1 & v2中的文本进行分段或清理您的数据 pip install arabert
from arabert.preprocess import ArabertPreprocessor model_name="aubmindlab/bert-large-arabertv02" arabert_prep = ArabertPreprocessor(model_name=model_name) text = "ولن نبالغ إذا قلنا: إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري" arabert_prep.preprocess(text) >>> output: ولن نبالغ إذا قلنا : إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري
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的任何模型
学术搜索中的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} }
感谢谷歌学术云(TFRC)提供免费访问Cloud TPUs的机会,在此项目中我们无法离开这个计划的支持,还要感谢 AUB MIND Lab 成员一直以来的支持。另外要感谢 Yakshof 和Assafir提供的数据和存储访问。还要特别感谢Habib Rahal( https://www.behance.net/rahalhabib ),为AraBERT注入个性。
Wissam Antoun: Linkedin | Twitter | Github | wfa07@mail.aub.edu | wissam.antoun@gmail.com
Fady Baly: Linkedin | Twitter | Github | fgb06@mail.aub.edu | baly.fady@gmail.com