🚀 AraBERT v1 & v2 : アラビア語理解のためのBERT事前学習
AraBERTは、GoogleのBERTアーキテクチャに基づくアラビア語の事前学習言語モデルです。AraBERTはBERT-Baseと同じ設定を使用しています。詳細については、AraBERT論文 と AraBERTミートアップ を参照してください。
モデルにはAraBERTv0.1とAraBERTv1の2つのバージョンがあり、AraBERTv1はFarasaセグメンターを使用して接頭辞と接尾辞を分割した事前セグメント化されたテキストを使用しています。
私たちは、AraBERTモデルをさまざまな下流タスクで評価し、mBERT や他の最先端のモデルと比較しています(私たちの知る限り)。タスクは、6つの異なるデータセット(HARD、ASTD-Balanced、ArsenTD-Lev、LABR)でのセンチメント分析、ANERcorp を使用した固有表現認識、および Arabic-SQuADとARCD でのアラビア語の質問応答です。
🚀 クイックスタート
このセクションでは、AraBERTの基本的な使い方を説明します。
モデルの選択
利用可能なモデルは以下の通りです。
すべてのモデルは HuggingFace
のモデルページで aubmindlab の名前で利用可能です。チェックポイントはPyTorch、TF2、TF1形式で提供されています。
前処理の実行
任意のデータセットでのトレーニング/テストの前に、前処理関数を適用することをお勧めします。
from arabert.preprocess import ArabertPreprocessor
model_name="bert-large-arabertv02"
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/INSERT_THE_SHA_HERE
を実行します(例: aragpt2-base
の場合: wget https://cdn-lfs.huggingface.co/aubmindlab/aragpt2-base/3766fc03d7c2593ff2fb991d275e96b81b0ecb2098b71ff315611d052ce65248
)
✨ 主な機能
AraBERTv2の新機能
新しいバリアントの登場
AraBERTには、古いv1バージョンを置き換える4つの新しいバリアントが追加されました。詳細については、AraBERTフォルダ、README、および AraBERT論文 を参照してください。
改善された前処理と新しい語彙
AraBERTv1のワードピース語彙に問題があることが判明しました。この問題は、ワードピース語彙を学習する際に、句読点や数字がまだ単語に付属していたことに起因しています。現在は、数字と文字の間、および句読点文字の周りにスペースを挿入するようになりました。
新しい語彙は tokenizers
ライブラリの BertWordpieceTokenizer
を使用して学習され、transformers
ライブラリのFastトークナイザー実装をサポートするようになりました。
より大きなデータセットとより多くの計算資源
約3.5倍のデータを使用し、より長い時間トレーニングしました。データセットのソースについては、データセットセクション を参照してください。
📦 インストール
AraBERT v1 & v2 のテキストをセグメント化するには、farasapy
をインストールする必要があります。
pip install farasapy
💻 使用例
基本的な使用法
from arabert.preprocess import ArabertPreprocessor
model_name="bert-large-arabertv02"
arabert_prep = ArabertPreprocessor(model_name=model_name)
text = "ولن نبالغ إذا قلنا إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري"
arabert_prep.preprocess(text)
高度な使用法
高度なシナリオでの使用方法は、具体的なコード例が提供されていないため、省略します。
📚 ドキュメント
データセット
新しいAraBERTモデルに使用される事前学習データは、アラビア語の GPT2とELECTRA にも使用されます。
データセットは、77GB、または200,095,961行、または8,655,948,860単語、または82,232,988,358文字(Farasaセグメンテーションを適用する前)で構成されています。
新しいデータセットでは、以前のAraBERTv1で使用されたデータセットに、徹底的にフィルタリングされた未シャッフルのOSCARコーパスを追加しましたが、以前にクロールしたウェブサイトは除外しています。
前処理
任意のデータセットでのトレーニング/テストの前に、前処理関数を適用することをお勧めします。
from arabert.preprocess import ArabertPreprocessor
model_name="bert-large-arabertv02"
arabert_prep = ArabertPreprocessor(model_name=model_name)
text = "ولن نبالغ إذا قلنا إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري"
arabert_prep.preprocess(text)
受け入れ可能なモデル
bert-base-arabertv01
bert-base-arabert
bert-base-arabertv02
bert-base-arabertv2
bert-large-arabertv02
bert-large-arabertv2
araelectra-base
aragpt2-base
aragpt2-medium
aragpt2-large
aragpt2-mega
TensorFlow 1.xモデル
TF1.xモデルはHuggingFaceのモデルリポジトリで利用可能です。ダウンロード方法については、クイックスタートセクション を参照してください。
🔧 技術詳細
モデルのトレーニング
各モデルのトレーニングに使用されたハードウェアとパラメータは以下の通りです。
モデル |
ハードウェア |
シーケンス長 (128 / 512) のサンプル数 |
128 (バッチサイズ/ステップ数) |
512 (バッチサイズ/ステップ数) |
総ステップ数 |
総時間 (日数) |
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 |
📄 ライセンス
このモデルを使用した場合は、以下のように引用してください。
@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}
}
謝辞
無料でCloud TPUにアクセスできるTensorFlow Research Cloud (TFRC) と、継続的なサポートを提供してくれた AUB MIND Lab のメンバーに感謝します。また、データとストレージへのアクセスを提供してくれた Yakshof とAssafirにも感謝します。最後に、AraBERTに顔を与えてくれたHabib Rahal (https://www.behance.net/rahalhabib) にも感謝します。
連絡先
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