🚀 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設計形象。
聯繫方式