!python run_korquad.py \
--model_type electra \
--model_name_or_path monologg/koelectra-base-v3-discriminator \
--output_dir koelectra-base-v3-korquad \
--data_dir data \
--train_file korquad/KorQuAD_v1.0_train.json \
--predict_file korquad/KorQuAD_v1.0_dev.json \
--max_seq_length 512 \
--doc_stride 128 \
--max_query_length 64 \
--do_train \
--do_eval \
--evaluate_during_training \
--per_gpu_train_batch_size=16 \
--per_gpu_eval_batch_size=8 \
--learning_rate 5e-5 \
--gradient_accumulation_steps 1 \
--weight_decay 0.0 \
--adam_epsilon 1e-8 \
--max_grad_norm 1.0 \
--num_train_epochs 3 \
--max_steps -1 \
--warmup_steps 0 \
--n_best_size 20 \
--max_answer_length 30 \
--verbose_logging \
--logging_steps 1000 \
--save_steps 1000 \
--eval_all_checkpoints \
--overwrite_output_dir \
--seed 42 \
--local_rank -1 \
--threads 4
from evaluate import evaluate_result
dataset_file = 'data/korquad/KorQuAD_v1.0_dev.json'
prediction_file = 'koelectra-base-v3-korquad/predictions_korquad.json'
evaluate_result(dataset_file, prediction_file)
from evaluate import analyze_result
dataset_file = 'data/korquad/KorQuAD_v1.0_dev.json'
prediction_file = 'koelectra-base-v3-korquad/predictions_korquad.json'
f1_threshold = 0.85
model_name_or_path = 'koelectra-base-v3-korquad/checkpoint-12000'
analyze_result(dataset_file, prediction_file, f1_threshold, model_name_or_path)