본문 바로가기
Boostcamp AI Tech/[week 6-14] LEVEL2

[MRC] Generation- based MRC

by newnu 2021. 10. 30.
반응형

Generation based MRC

주어진 지문의 질의를 보고 답변을 생성 ( 답변이 지문에 있을수도, 없을수도 있음)

전체 시퀀스의 각 위치마다 모델이 아는 모든 단어들 중 하나의 단어를 맞추는 classification 문제

 

평가방법

EM, F1 Score

 

Generation based MRC, Extraction based MRC 비교

1. MRC 모델 구조

seq-to-seq PLM 구조 (generation) / PLM + Classifier 구조 (extraction)

2. Loss 계산을 위한 답의 형태, Prediction의 형태

Free-form text (generation) / 지문 내 답의 위치 (extraction)

 

Step 1

Preprocessing

tokenization (WordPiece Tokenizer)

 - 각 단어 토큰들에 대해 순서대로 인덱스 부여해두고 토큰화 할 때 인덱스로 변환 ( input_ids )

 - special token : CLS, SEP 토큰 대신 Question:, Context: 와 같이 자연어를 사용하여 정해진 텐스트 포맥으로 데이터 생성

 - attention mask

 - Token Type IDs

 

출력

 - 모델의 출력을 선형 레이어에 넣음 

   (batch_size, seq_length, hidden_dim) -> (batch_size, seq_length, vocab_size)

 - seq_length 내의 각 위치마다 들어가야할 단어 하나씩 선택

 - 정해진 횟수 또는 전체 길이의 수만큼 반복

 

Step 2

Model

BART : 기계 독해, 기계번역, 요약, 대화 등 sequence to sequence 문제의 pre training을 위한 denoising autoencoder

               정답 생성

BART Encoder : bi-directional

BART Decoder : uni-directional(autoregressive)

 

텍스트에 노이즈를 주고 원래 텍스트를 복구하는 문제를 푸는 것으로 pretraining

(token masking, sentence permutation, document rotation, token detection, text infilling)

 

corrupted text (A _ B _ E)-> Bidirectional ENCODER -> (<s> A B C D) -> Autoregressive Decoder -> Reconstructed Text (A B C D E)

 

Step 3

Post-Processing

Decoding :  디코더에서 이전 스템에서 나온 출력이 다음 스템의 입력으로 (autoregressive)

Searching : 디코딩 방법론 

   - Greedy Search : 그때그때 최적의 경우만

   - Exhaustive Search: 모든 경우 다 보기

   - Beam Search :  항상 top k 개 유지

반응형