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 개 유지
'Boostcamp AI Tech > [week 6-14] LEVEL2' 카테고리의 다른 글
[MRC] Passage Retrieval - Dense Embedding (0) | 2021.10.30 |
---|---|
[MRC] Passage Retrieval - Sparse Embedding (0) | 2021.10.30 |
[MRC] Extraction Based MRC (0) | 2021.10.20 |
[MRC] Machine Reading Comprehension (0) | 2021.10.19 |
[Week 10] PStage 과정 정리 (0) | 2021.10.06 |