yasuokaの日記: 青空文庫DeBERTaモデルdeberta-large-japanese-unidicリリース
一昨日の日記の手法を拡張して、トークナイザをBertJapaneseTokenizerに置き換えた日本語DeBERTa(V2)モデルdeberta-large-japanese-unidicも作ってみた。24層・隠れサイズ1024・16ヘッド・トークン幅512とした上で、7772556文3億字(青空文庫元データ2.37億字+異体字増量分0.64億字)をNVIDIA A100-SXM4-40GBで1457355ステップ(32バッチ)学習させたところ、50時間53分かかってしまった。JGLUEが、transformers 4.19.2をサポートしてくれたので、Google Colaboratoty (GPU)上でJCommonSenceQAに挑戦してみよう。
!test -d transformers-4.19.2 || git clone -b v4.19.2 --depth=1 https://github.com/huggingface/transformers transformers-4.19.2
!test -d JGLUE || ( git clone --depth=1 https://github.com/yahoojapan/JGLUE && cat JGLUE/fine-tuning/patch/transformers-4.9.2_jglue-1.0.0.patch | ( cd transformers-4.19.2 && patch -p1 ) )
!cd transformers-4.19.2 && pip install .
!pip install -r transformers-4.19.2/examples/pytorch/text-classification/requirements.txt
!pip install fugashi unidic-lite protobuf==3.19.1 tensorboard
!python transformers-4.19.2/examples/pytorch/multiple-choice/run_swag.py --model_name_or_path KoichiYasuoka/deberta-large-japanese-unidic --do_train --do_eval --do_predict --max_seq_length 64 --per_device_train_batch_size 12 --learning_rate 5e-05 --num_train_epochs 4 --output_dir ./output_jcommonsenseqa --overwrite_output_dir --train_file JGLUE/datasets/jcommonsenseqa-v1.0/train-v1.0.json --validation_file JGLUE/datasets/jcommonsenseqa-v1.0/valid-v1.0.json --test_file JGLUE/datasets/jcommonsenseqa-v1.0/valid-v1.0.json --use_fast_tokenizer False --evaluation_strategy epoch --warmup_ratio 0.1
ファインチューニングに1時間ほどかかったものの、私(安岡孝一)の手元では以下の「eval metrics」が出力された。
***** eval metrics *****
epoch = 4.0
eval_accuracy = 0.4718
eval_loss = 2.7386
eval_runtime = 0:00:33.67
eval_samples = 1119
eval_samples_per_second = 33.232
eval_steps_per_second = 4.158
JCommonSenseQAが0.4718なので、一昨昨日の日記の結果を考え合わせても、青空文庫DeBERTaモデルはJCommonSenseQAに向いてない、ということだろう。他のタスクも試してみたいところだけど、このJGLUEパッチは、transformers本体のsquad.pyやsquad_metrics.pyを勝手にイジっちゃうので注意を要する。examples配下だけだったらいいのだけど、src配下までイジっちゃうのは、まあ何か都合があるのだろう。でも、しばらくはGoogle Colaboratoryで試すしかないかな。
青空文庫DeBERTaモデルdeberta-large-japanese-unidicリリース More ログイン