モデル概要
モデル特徴
モデル能力
使用事例
🚀 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 でのアラビア語の質問応答が含まれます。
🚀 クイックスタート
モデルの新バージョンについて
!!! このモデルの新しいバージョンが利用可能です !!! AraBERTv02
データセット情報
Property | Details |
---|---|
言語 | アラビア語 |
データセット | wikipedia、OSIAN、1.5B_Arabic_Corpus |
ウィジェットテキスト | " عاصمة لبنان هي [MASK] ." |
事前処理の推奨
このモデルを使用する際には、事前処理関数を適用することをおすすめします。
from arabert.preprocess import ArabertPreprocessor
model_name="bert-base-arabertv01"
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のモデルリポジトリで利用可能です。以下の方法でダウンロードできます。
- 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モデル名 | サイズ (MB/パラメータ) | 事前セグメント化 | データセット (文/サイズ/単語数) |
---|---|---|---|---|
AraBERTv0.2-base | bert-base-arabertv02 | 543MB / 136M | いいえ | 200M / 77GB / 8.6B |
AraBERTv0.2-large | bert-large-arabertv02 | 1.38G / 371M | いいえ | 200M / 77GB / 8.6B |
AraBERTv2-base | bert-base-arabertv2 | 543MB / 136M | はい | 200M / 77GB / 8.6B |
AraBERTv2-large | bert-large-arabertv2 | 1.38G / 371M | はい | 200M / 77GB / 8.6B |
AraBERTv0.1-base | bert-base-arabertv01 | 543MB / 136M | いいえ | 77M / 23GB / 2.7B |
AraBERTv1-base | bert-base-arabert | 543MB / 136M | はい | 77M / 23GB / 2.7B |
すべてのモデルは、HuggingFace
のモデルページで aubmindlab の名前で利用可能です。チェックポイントは、PyTorch、TF2、およびTF1形式で利用可能です。
改善された事前処理と新しい語彙
AraBERTv1のワードピース語彙に問題があることが判明しました。この問題は、ワードピース語彙を学習する際に、句読点や数字がまだ単語に付着していたことに起因しています。現在、数字と文字の間、および句読点文字の周りにスペースを挿入するようになりました。
新しい語彙は、tokenizers
ライブラリの BertWordpieceTokenizer
を使用して学習され、transformers
ライブラリのFastトークナイザー実装をサポートするようになりました。
P.S. すべての古い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 | - |
AraBERTv2-base | TPUv3-8 | 520M / 245M | 13440 / 250K | 2056 / 300K | 550K | - |
AraBERTv2-large | TPUv3-128 | 520M / 245M | 13440 / 250K | 2056 / 300K | 550K | - |
AraBERT-base (v1/v0.1) | TPUv2-8 | - | 512 / 900K | 128 / 300K | 1.2M | 4日 |
📦 インストール
AraBERT v1とv2のテキストをセグメント化するには、farasapy
をインストールする必要があります。
pip install farasapy
💻 使用例
基本的な使用法
from arabert.preprocess import ArabertPreprocessor
model_name="bert-base-arabertv01"
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セグメンテーションを適用する前)で構成されています。
新しいデータセットでは、徹底的にフィルタリングされた未シャッフルのOSCARコーパスを、以前のAraBERTv1で使用されたデータセットに追加しましたが、以前にクロールしたウェブサイトは除外しています。
- 未シャッフルでフィルタリングされたOSCAR
- 2020/09/01のアラビア語Wikipediaダンプ
- 15億単語のアラビア語コーパス
- OSIANコーパス
- Assafirのニュース記事。Assafirにデータを提供してくれたことに感謝します。
事前処理
任意のデータセットでトレーニングまたはテストを行う前に、事前処理関数を適用することをおすすめします。
from arabert.preprocess import ArabertPreprocessor
model_name="bert-base-arabertv01"
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のモデルリポジトリで利用可能です。以下の方法でダウンロードできます。
- 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
)
🔧 技術詳細
事前学習の詳細
新しいAraBERTモデルの事前学習データは、アラビア語の GPT2およびELECTRA にも使用されます。データセットは、77GB、または200,095,961行、または8,655,948,860単語、または82,232,988,358文字(Farasaセグメンテーションを適用する前)で構成されています。
事前処理の詳細
AraBERTv1のワードピース語彙に問題があることが判明しました。この問題は、ワードピース語彙を学習する際に、句読点や数字がまだ単語に付着していたことに起因しています。現在、数字と文字の間、および句読点文字の周りにスペースを挿入するようになりました。
新しい語彙は、tokenizers
ライブラリの BertWordpieceTokenizer
を使用して学習され、transformers
ライブラリのFastトークナイザー実装をサポートするようになりました。
📄 ライセンス
このモデルを使用した場合は、以下のように引用してください。
@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



