🚀 AraELECTRA
AraELECTRA是一种用于自监督语言表示学习的方法,可在较少计算资源下预训练Transformer网络。它通过训练模型区分“真实”和“虚假”输入标记,类似生成对抗网络(GAN)的判别器。该模型在阿拉伯语问答数据集上取得了最先进的成果。
🚀 快速开始
模型使用示例
在transformers
库中使用生成器的示例代码如下:
from transformers import pipeline
fill_mask = pipeline(
"fill-mask",
model="aubmindlab/araelectra-base-generator",
tokenizer="aubmindlab/araelectra-base-generator"
)
print(
fill_mask(" عاصمة لبنان هي [MASK] .)
)
数据预处理
建议在任何数据集上进行训练或测试之前,应用预处理函数。可安装arabert
Python包来对文本进行分词或清理数据,安装命令为pip install arabert
。示例代码如下:
from arabert.preprocess import ArabertPreprocessor
model_name="aubmindlab/araelectra-base"
arabert_prep = ArabertPreprocessor(model_name=model_name)
text = "ولن نبالغ إذا قلنا إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري"
arabert_prep.preprocess(text)
>>> output: ولن نبالغ إذا قلنا : إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري
✨ 主要特性
- ELECTRA方法可在较少计算资源下预训练Transformer网络。
- 模型通过区分“真实”和“虚假”输入标记进行训练,类似GAN的判别器。
- 在阿拉伯语问答数据集上取得了最先进的成果。
📦 安装指南
安装arabert
Python包的命令为:
pip install arabert
💻 使用示例
基础用法
在transformers
库中使用生成器进行掩码填充的基础用法,代码如下:
from transformers import pipeline
fill_mask = pipeline(
"fill-mask",
model="aubmindlab/araelectra-base-generator",
tokenizer="aubmindlab/araelectra-base-generator"
)
print(
fill_mask(" عاصمة لبنان هي [MASK] .)
)
高级用法
数据预处理的高级用法,代码如下:
from arabert.preprocess import ArabertPreprocessor
model_name="aubmindlab/araelectra-base"
arabert_prep = ArabertPreprocessor(model_name=model_name)
text = "ولن نبالغ إذا قلنا إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري"
arabert_prep.preprocess(text)
>>> output: ولن نبالغ إذا قلنا : إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري
📚 详细文档
模型信息
计算资源
模型 |
硬件 |
示例数量 (序列长度 = 512) |
批量大小 |
步数 |
时间 (天) |
AraELECTRA-base |
TPUv3 - 8 |
- |
256 |
2M |
24 |
数据集
新的AraELECTRA模型的预训练数据也用于AraGPT2和AraELECTRA。数据集包含77GB、200,095,961行、8,655,948,860个单词或82,232,988,358个字符(应用Farasa分词之前)。新数据集在之前AraBERTv1使用的数据集基础上,添加了未打乱的OSCAR语料库(经过彻底过滤),并去除了之前爬取的网站数据,具体包括:
TensorFlow 1.x模型
可在HuggingFace的Transformer库中,以aubmindlab
用户名找到PyTorch、TF2和TF1模型。下载TF1模型的命令为:
wget https://huggingface.co/aubmindlab/MODEL_NAME/resolve/main/tf1_model.tar.gz
其中MODEL_NAME
是aubmindlab
下的任何模型。
🔧 技术细节
ELECTRA是一种自监督语言表示学习方法,通过训练模型区分“真实”输入标记和由另一个神经网络生成的“虚假”输入标记,类似于生成对抗网络(GAN)的判别器。具体细节可参考AraELECTRA论文《AraELECTRA: Pre - Training Text Discriminators for Arabic Language Understanding》。
📄 许可证
如果使用了该模型,请按以下格式引用:
@inproceedings{antoun-etal-2021-araelectra,
title = "{A}ra{ELECTRA}: Pre-Training Text Discriminators for {A}rabic Language Understanding",
author = "Antoun, Wissam and
Baly, Fady and
Hajj, Hazem",
booktitle = "Proceedings of the Sixth Arabic Natural Language Processing Workshop",
month = apr,
year = "2021",
address = "Kyiv, Ukraine (Virtual)",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/2021.wanlp-1.20",
pages = "191--195",
}
致谢
感谢TensorFlow研究云(TFRC)提供免费的Cloud TPU访问权限,感谢AUB MIND实验室成员的持续支持。同时感谢Yakshof和Assafir提供数据和存储访问权限。也感谢Habib Rahal(https://www.behance.net/rahalhabib)为AraBERT设计形象。
联系方式