🚀 XLM-R Longformerモデル
XLM-R Longformerは、通常の512トークンではなく、最大4096トークンのシーケンス長をサポートするように拡張されたXLM-Rモデルです。このモデルは、XLM-RoBERTaのチェックポイントから、Longformerの事前学習スキームを使用して、英語のWikiText-103コーパスで事前学習されました。
この取り組みの目的は、スウェーデン語などの低リソース言語に対して、それぞれの言語の長文脈データセットで事前学習することなく、効率的なTransformerを作成する方法を調査することでした。この学習済みモデルは、Peltarionでの修士論文プロジェクトの成果物であり、多言語の質問応答タスクで微調整されています。コードはこちらから入手できます。
XLM-RモデルとLongformerモデルはどちらも大規模なモデルであるため、NVIDIA Apex(16ビット精度)、大容量のGPU、およびいくつかの勾配累積ステップを使用してモデルを実行することをお勧めします。
🚀 クイックスタート
このモデルは、下流タスクでの微調整に使用できます。例えば、質問応答タスクに使用することができます。
✨ 主な機能
- XLM-Rモデルを拡張し、最大4096トークンのシーケンス長をサポート。
- 英語のWikiText-103コーパスで事前学習されたモデル。
- 多言語の質問応答タスクで微調整されている。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
import torch
from transformers import AutoModel, AutoTokenizer
MAX_SEQUENCE_LENGTH = 4096
MODEL_NAME_OR_PATH = "markussagen/xlm-roberta-longformer-base-4096"
tokenizer = AutoTokenizer.from_pretrained(
MODEL_NAME_OR_PATH,
max_length=MAX_SEQUENCE_LENGTH,
padding="max_length",
truncation=True,
)
model = AutoModelForQuestionAnswering.from_pretrained(
MODEL_NAME_OR_PATH,
max_length=MAX_SEQUENCE_LENGTH,
)
📚 ドキュメント
学習手順
このモデルは、WikiText-103コーパスで、48GBのGPUを使用して、以下の学習スクリプトとパラメータで学習されました。モデルは6000イテレーションで事前学習され、約5日間かかりました。詳細な学習スクリプトとGithubリポジトリを参照してください。
wget https://s3.amazonaws.com/research.metamind.io/wikitext/wikitext-103-raw-v1.zip
unzip wikitext-103-raw-v1.zip
export DATA_DIR=./wikitext-103-raw
scripts/run_long_lm.py \
--model_name_or_path xlm-roberta-base \
--model_name xlm-roberta-to-longformer \
--output_dir ./output \
--logging_dir ./logs \
--val_file_path $DATA_DIR/wiki.valid.raw \
--train_file_path $DATA_DIR/wiki.train.raw \
--seed 42 \
--max_pos 4096 \
--adam_epsilon 1e-8 \
--warmup_steps 500 \
--learning_rate 3e-5 \
--weight_decay 0.01 \
--max_steps 6000 \
--evaluate_during_training \
--logging_steps 50 \
--eval_steps 50 \
--save_steps 6000 \
--max_grad_norm 1.0 \
--per_device_eval_batch_size 2 \
--per_device_train_batch_size 1 \
--gradient_accumulation_steps 64 \
--overwrite_output_dir \
--fp16 \
--do_train \
--do_eval
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。
### 注意事項
> ⚠️ **重要提示**
>
> XLM-RモデルとLongformerモデルはどちらも大規模なモデルであるため、NVIDIA Apex(16ビット精度)、大容量のGPU、およびいくつかの勾配累積ステップを使用してモデルを実行することをお勧めします。
> 💡 **使用建议**
>
> モデルを使用する際には、`transformers`ライブラリを最新バージョンに更新してから使用することをお勧めします。