🚀 AraBERT v1 & v2 : アラビア語理解のためのBERT事前学習モデル
AraBERTは、GoogleのBERTアーキテクチャに基づくアラビア語の事前学習言語モデルです。AraBERTは、BERT-Baseと同じ設定を使用しています。詳細は、AraBERT論文とAraBERTミートアップで確認できます。
このモデルには、AraBERTv0.1とAraBERTv1の2つのバージョンがあります。違いは、AraBERTv1がFarasa Segmenterを使用して接頭辞と接尾辞を分割した事前分割テキストを使用していることです。
私たちは、AraBERTモデルをさまざまな下流タスクで評価し、mBERTや他の最先端モデル(私たちの知る限り)と比較しています。タスクは、6つの異なるデータセット(HARD、ASTD-Balanced、ArsenTD-Lev、LABR)でのセンチメント分析、ANERcorpを使用した固有表現認識、およびArabic-SQuADとARCDでのアラビア語の質問応答です。
🚀 クイックスタート
このセクションでは、AraBERTの基本的な使い方を説明します。まずは、必要なパッケージをインストールし、モデルを読み込み、前処理を行う方法を紹介します。
✨ 主な機能
- 2つのバージョン:AraBERTにはv0.1とv1の2つのバージョンがあり、v1は事前分割テキストを使用しています。
- 複数の下流タスクでの評価:センチメント分析、固有表現認識、質問応答などのタスクで評価されています。
- 新しいバリアント:AraBERTv2には4つの新しいバリアントがあり、事前処理と語彙が改善されています。
📦 インストール
AraBERT v1 & v2のテキストをセグメント化するため、またはデータをクリーニングするために、arbert Pythonパッケージをインストールします。
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: ولن نبالغ إذا قلنا : إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري
高度な使用法
TensorFlow 1.xモデルをダウンロードする方法を紹介します。
git-lfsを使用する場合
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論文を参照してください。
すべてのモデルは、HuggingFace
のモデルページのaubmindlab名の下で利用できます。チェックポイントは、PyTorch、TF2、およびTF1形式で利用可能です。
改善された事前処理と新しい語彙
AraBERTv1のワードピース語彙に問題があることが判明しました。この問題は、ワードピース語彙を学習する際に、句読点や数字がまだ単語に付着していたことに起因しています。現在、数字と文字の間、および句読点文字の周りにスペースを挿入するようになりました。
新しい語彙は、tokenizers
ライブラリのBertWordpieceTokenizer
を使用して学習され、transformers
ライブラリのFastトークナイザー実装をサポートするようになりました。
注意:すべての古いBERTコードは、新しいBERTでも動作するはずです。モデル名を変更し、新しい事前処理関数を確認してください。事前処理関数の使用方法のセクションを読んでください。
より大きなデータセットとより多くのコンピューティングリソース
約3.5倍のデータを使用し、より長い時間学習させました。データセットのソースについては、データセットセクションを参照してください。
モデル |
ハードウェア |
シーケンス長(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 |
データセット
新しい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="aubmindlab/bert-large-arabertv02"
arabert_prep = ArabertPreprocessor(model_name=model_name)
text = "ولن نبالغ إذا قلنا: إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري"
arabert_prep.preprocess(text)
>>> output: ولن نبالغ إذا قلنا : إن هاتف أو كمبيوتر المكتب في زمننا هذا ضروري
🔧 技術詳細
AraBERTは、GoogleのBERTアーキテクチャに基づいています。BERT-Baseと同じ設定を使用しており、アラビア語の事前学習言語モデルとして開発されています。
新しいバージョンのAraBERTでは、事前処理と語彙が改善されており、より大きなデータセットとより多くのコンピューティングリソースを使用して学習されています。
📄 ライセンス
このモデルを使用した場合は、次のように引用してください。
@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: Linkedin | Twitter | Github | wfa07@mail.aub.edu | wissam.antoun@gmail.com
Fady Baly: Linkedin | Twitter | Github | fgb06@mail.aub.edu | baly.fady@gmail.com