MatchSum 실행 가이드

김수빈·2021년 11월 19일
1

실행 가이드

목록 보기
1/2
post-thumbnail

📄Paper: MatchSum(Zhong et al., 2020, ACL)

Extractive Summarization as Text Matching

💻 Github Repo

https://github.com/maszhongming/MatchSum


DATASETSOURCETYPESAMPLETRAIN SIZEVAILD SIZETEST SIZEDOCUMENT TOKENSUMMARY TOKEN
RedditSocial MediaSDSReddit sample data41675645645(average) 482.2(average) 28.0
XSumNewsSDSXSum sample data2030281127311257(average) 430.2(average) 23.3
CNN/DailyMailNewsSDSCNNDM-RoBERTa sample data
CNNDM-BERT sample data
2870841336711489(average) 766.1(average) 58.2
WikiHowKnowledge BaseSDSWikiHow sample data16812660006000(average) 580.8(average) 62.6
PubMedScientific PaperSDSPubMed sample data8323349465025(average) 444.0(average) 209.5
Multi-NewsNewsMDSMulti-News sample data4497256225622(average) 487.3(average) 262.0

📌 SDS : Single Document Summary
📌 MDS : Multi Document Summary


Zhong et al.의 연구에서는 CNN/DailyMail에 대해서, 2가지 버전의 전처리 데이터를 제공
(다른 데이터셋은 1개 버전)

## Dependency

pytorch==1.4.0
fastNLP==0.5.0
pyrouge==0.1.3
rouge==1.0.0
transformers==2.5.1

Download Dataset

  1. CNN/DailyMail Dataset (BERT/RoBERTa ver)
├── bert # BERT에 따라 전처리
└── robert # RoBERTa에 따라 전처리
  1. Other (Reddit, XSum, WikiHow, PubMed, MultiNews)

    압축 해제한 *.jsonl 파일을 MatchSum/data 경로로 이동


모델 학습

1) 모델 저장 경로 설정

export SAVEPATH=/<trained model save path>/

2) 모델 학습 파라미터 설정

gpus 파라미터를 통해 사용 가능한 GPU 설정
encoder 파라미터를 통해 BERT 또는 RoBERTa 모델 선택 (bert, roberta)

Zhong et al.의 실험 환경은 8개의 Tesla-V100-16G GPU를 사용하였으며, 이에 학습은 30시간 소요

메모리에 따라 다음과 같이 조정하여 훈련할 수 있다.

  • train_matching.pybatch_size 또는 candidate_num을 조정
    batch_size (default=16)
    candidate_num (default=20)

  • dataloader.pymax_len 값 지정
    class MatchSumLoadermax_len (default=180)

CUDA_VISIBLE_DEVICES=0,1 python train_matching.py --mode=train --encoder=roberta --save_path=$SAVEPATH --batch_size=8 --candidate_num=16 --gpus=0,1 

3) 모델 훈련 예시

MATCHSUM(RoBERTa-base) 모델 훈련


모델 검증

학습이 끝나면 모델은 $SAVEPATH 내 모델의 학습 시작 시간 디렉토리 경로에 저장된다. (e.g. /<trained model save path>/2020-04-12-09-24-51)


1) 모델 경로 설정

export MODELPATH=$SAVEPATH/<model training start time>

2) 모델 테스트

📢 모델 테스트 시, GPU는 하나만 사용

CUDA_VISIBLE_DEVICES=0 python train_matching.py --mode=test --encoder=roberta --save_path=$MODELPATH --gpus=0

ROUGE 점수는 스크린에 나타나며, 학습된 모델은 $SAVEPATH/result에 저장된다


사전 학습된 모델


생성된 요약문 예시

profile
열심히 배우는 내가 되자

0개의 댓글