🚀 日本語DeBERTa V2 baseモデルカード
このモデルは、日本語のWikipedia、CC - 100の日本語部分、およびOSCARの日本語部分を用いて事前学習された、日本語向けのDeBERTa V2 baseモデルです。
🚀 クイックスタート
このモデルは、以下のようにマスク言語モデリングに使用できます。また、下流タスクでのファインチューニングも可能です。
✨ 主な機能
- マスク言語モデリングタスクに使用可能。
- 下流タスクでのファインチューニングが可能。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコードを使用してモデルとトークナイザーをロードできます。
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained('ku-nlp/deberta-v2-base-japanese')
model = AutoModelForMaskedLM.from_pretrained('ku-nlp/deberta-v2-base-japanese')
sentence = '京都 大学 で 自然 言語 処理 を [MASK] する 。'
encoding = tokenizer(sentence, return_tensors='pt')
...
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained('ku-nlp/deberta-v2-base-japanese')
model = AutoModelForMaskedLM.from_pretrained('ku-nlp/deberta-v2-base-japanese')
sentence = '京都 大学 で 自然 言語 処理 を [MASK] する 。'
encoding = tokenizer(sentence, return_tensors='pt')
...
📚 ドキュメント
トークナイゼーション
入力テキストは、事前にJuman++で単語に分割する必要があります。事前学習にはJuman++ 2.0.0 - rc3が使用されました。各単語は、sentencepieceによってサブワードにトークナイズされます。
学習データ
事前学習には、以下のコーパスが使用されました。
- 日本語Wikipedia(20221020時点、3.2GB、27M文、1.3M文書)
- CC - 100の日本語部分(85GB、619M文、66M文書)
- OSCARの日本語部分(54GB、326M文、25M文書)
なお、OSCARでは、"header"、"footer"、または"noisy"タグが付けられた文書はフィルタリングされました。また、日本語Wikipediaは、コーパスの総サイズをCC - 100やOSCARに近づけるために10回複製されました。その結果、学習データの総サイズは171GBになります。
学習手順
まず、コーパス内のテキストをJuman++を使用して単語に分割しました。次に、単語(JumanDIC)とsentencepieceのユニグラム言語モデルによって誘導されたサブワードを含む32000トークンのsentencepieceモデルを構築しました。
分割されたコーパスをsentencepieceモデルを使用してサブワードにトークナイズし、transformersライブラリを使用して日本語DeBERTaモデルを学習させました。学習には、8台のNVIDIA A100 - SXM4 - 40GB GPUを使用して3週間かかりました。
事前学習中に使用されたハイパーパラメータは以下の通りです。
- learning_rate: 2e - 4
- per_device_train_batch_size: 44
- distributed_type: multi - GPU
- num_devices: 8
- gradient_accumulation_steps: 6
- total_train_batch_size: 2,112
- max_seq_length: 512
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e - 06
- lr_scheduler_type: linear schedule with warmup
- training_steps: 500,000
- warmup_steps: 10,000
学習されたモデルのマスク言語モデリングタスクでの精度は0.779でした。評価セットは、各学習コーパスからランダムにサンプリングされた5,000文書で構成されています。
NLUタスクでのファインチューニング
以下のモデルをファインチューニングし、JGLUEの開発セットで評価しました。各モデルとタスクに対して、学習率と学習エポック数をJGLUE論文に従って調整しました。
モデル |
MARC - ja/acc |
JSTS/pearson |
JSTS/spearman |
JNLI/acc |
JSQuAD/EM |
JSQuAD/F1 |
JComQA/acc |
Waseda RoBERTa base |
0.965 |
0.913 |
0.876 |
0.905 |
0.853 |
0.916 |
0.853 |
Waseda RoBERTa large (seq512) |
0.969 |
0.925 |
0.890 |
0.928 |
0.910 |
0.955 |
0.900 |
LUKE Japanese base* |
0.965 |
0.916 |
0.877 |
0.912 |
- |
- |
0.842 |
LUKE Japanese large* |
0.965 |
0.932 |
0.902 |
0.927 |
- |
- |
0.893 |
DeBERTaV2 base |
0.970 |
0.922 |
0.886 |
0.922 |
0.899 |
0.951 |
0.873 |
DeBERTaV2 large |
0.968 |
0.925 |
0.892 |
0.924 |
0.912 |
0.959 |
0.890 |
*LUKEのスコアは、公式リポジトリから取得したものです。
謝辞
この研究は、「大規模日本語言語モデルの構築と共有プラットフォームの開発」という一般共同研究プロジェクト(jh221004)を通じて、総合的大規模情報基盤共同利用・共同研究拠点(JHPCN)によって支援されました。モデルの学習には、mdx: a platform for the data - driven futureを使用しました。
📄 ライセンス
このモデルは、CC - BY - SA - 4.0ライセンスの下で提供されています。