Skip to content

Latest commit

 

History

History
118 lines (104 loc) · 3.51 KB

README.md

File metadata and controls

118 lines (104 loc) · 3.51 KB

SKKALBERT

기계 독해 성능 개선을 위한 데이터 증강 기법 구현

ALBERT-base, ALBERT-large 모델 사용

SQuAD 1.1KorQuAD 1.0 데이터를 이용하여 실험

학습, 데이터 제한 5000, 동의어 교체 편집 기법 사용(--eda_type sr)

python3 run_qa_small.py \
  --checkpoint bert_small/korquad_small.bin \
  --config_file bert_small/bert_small.json \
  --output_dir bert_small/output/limit_data_5000/ \
  --vocab_file bert_small/ko_vocab_32k.txt \
  --train_file data/korquad/KorQuAD_v1.0_train.json \
  --max_seq_length 384 \
  --doc_stride 128 \
  --max_query_length 128 \
  --max_answer_length 30 \
  --per_gpu_train_batch_size 6 \
  --learning_rate 3e-5 \
  --num_train_epochs 20.0 \
  --adam_epsilon 1e-6 \
  --warmup_proportion 0.1 \
  --train_data_limit 5000 \
  --min_score 0.85 \
  --eda_type sr

평가

python3 eval_qa.py \
  --check_list True \
  --checkpoint bert_small/output/limit_data_5000/ \
  --config_file bert_small/bert_small.json \
  --output_dir bert_small/output/ \
  --vocab_file bert_small/ko_vocab_32k.txt \
  --predict_file data/korquad/KorQuAD_v1.0_dev.json \
  --max_seq_length 384 \
  --doc_stride 128 \
  --max_query_length 128 \
  --max_answer_length 30 \
  --batch_size 4 \
  --n_best_size 20

결과

Evaluating: 100% 1832/1832 [00:28<00:00, 64.14it/s]
36.00623484586075 56.618519894936234
Evaluating: 100% 1832/1832 [00:28<00:00, 64.52it/s]
37.72081745756841 57.37260467328269
...

데이터 증강 기법

SR(동의어 교체), RD(무작위 삭제), RI(무작위 삽입), RS(무작위 교체) n_aug : 데이터 증강 단위 α : 문장 내 단어 또는 문단 내 문장 변화 정도

문장 부분 단어 단위 기법 효과

위의 SR, RD, RI, RS 기법별 성능 차이를 비교

문단 부분 문장 단위 기법 효과

문장 단위 기법 n_aug α EM Gain F1 Gain
Context RS 0.5 0.1 0.24 0.21
Context RD 1 0.1 0.02 0.24

문장 단위는 무작위 삭제(RD)와 무작위 교체(RS)를 수행

모델 규모에 따른 성능 향상

Model(ALBERT) Question:단어 단위 Context:문장 단위
EM Gain F1 Gain EM Gain F1 Gain
Base 0.478 0.366 -0.374 -0.170
Large 0.648 0.293 -0.161 -0.182

ALBERT-base와 ALBERT-large모델 비교

데이터 크기에 따른 문장 단위 기법 성능 향상

Data size EM Gain F1 Gain
500 0.965 0.690
5000 0.653 0.196
Full data -0.374 -0.170

주어진 학습데이터를 제한하여 기법 성능 향상 정도를 비교