1. introduction
text-to-text format을 적극적으로 밀었던 사실상 첫번째 model?
BART랑 유사하면서도 text-to-text format을 활용하여 거의 모든 자연어처리 문제를 text-to-text format으로 해결하자고 제안했다
자세한 부분은 조금 다르겠지만 seq-to-seq original transformer와 유사한 구조를 사용했다

2. pre-training
다양한 모델 구조, 다양한 사전학습목표, 방대한 사전학습용 데이터셋, 다양한 fine tuning 방법등을 마련하여 체계적으로 실험을 수행
당연하지만 이들 중 가장 좋은 방식을 선택하여 방대한 규모의 모델을 학습시킴

BERT나 BART와 마찬가지로 T5같은 모델을 방대한 언어에 사전학습시켜서 fine-tuning시켜 성능이 잘 나오는 방식대로 tuning을 함
3. data size
데이터 사이즈도 위키피디아나 예전에 사용한 여러 데이터들보다 훨씬 더 큰 C4를 사용
그 C4도 원래 filtering전에는 6.1TB의 상상도 할 수 없는 크기였는데 filtering해서 겨우 745GB로 만들고 1epoch을 훈련했다고함
BERT같은 경우 위키피디아 약 20GB짜리 사용했다고 하는데 C4 filtering 전 데이터는 이것의 300배이고 filtering했다고 하더라도 이것의 30배나 큰 데이터를 사용함
4. model parameter
T5 model내에 최대한 많은 사전 언어지식을 담아야하므로 T5 model의 크기를 최대한 크게 키웠다

괴물같다던 GPT2, BERT보다도 T5-xlarge같은 경우는 30배나 더 큼
T5-xlarge는 웬만한 GPU로는 못돌려서 보통은 T5-base나 그나마 T5-large정도 많이 돌린다
5. closed book QA에 활용하는법
미리 학습된 pre-trained T5를 활용함
MRC데이터셋(예를 들어 TriviaQA, WebQuestions, Natural Questions 등)에서 지문을 제외한
question & answering pair를 input, output으로 fine-tuning을 수행함

위 그림 보면 T5만의 pretraining을 수행하여 언어적 지식을 습득하고
fine-tuning 과정에서 질문을 주면 T5가 가지고 있는 지식을 바탕으로 바로 답변을 내고 있는 모습
6. dataset 활용
기존의 MRC set인 TriviaQA, WebQuestions, Natural Questions 등에 존재하는 supporting document를 제외하고 question과 answer만을 이용하여 fine-tuning을 수행
input인 question에 task-specific prefix를 추가했음
예를 들어 trivia question: ~, natural question:~ 같이 데이터 셋 명을 표시했나?
natural questions같이 답이 여러개인 질문의 경우 output에 answer1, answer2도 표시해줬음

7. salient span masking
고유명사나 날짜 등 의미를 갖는 단위에 속하는 토큰 범위를 masking한 뒤 pretraining을 했다.
일반적인 BERT는 완전히 랜덤하게 mask를 하여 pretraining을 함
이 방식은 조사나 is, are 등등 의미없는 동사가 masking되어 비효율적임
이런 mask prediction을 해봤자 모델이 언어의 의미 파악에 전혀 도움이 안될 수 있어
salient span masking을 위하여 pre-trained checkpoint에서 추가로 pretraining을 수행했다고함
8. 예시로 알아보는 T5를 활용한 closed book question answering
input앞에 데이터셋의 이름?인 trivia question같이 task-specific prefix를 붙여줘야함

마지막 예시같은 경우는 prediction이 target과 다르긴 한데 prediction을 보면 n으로 시작하는 island 이름을 나름대로 냈으므로
모델이 질문을 이해하고 있다는점이 의미있음
9. experiment result
closed book test를 한 T5 모델이 open book model보다 성능이 뛰어난 경우가 많음
모델 크기가 커질수록 성능이 증가함
SSM은 salient span masking으로 T5를 일반 BERT처럼 mask prediction pre-training을 수행한 뒤에 salient span masking으로 추가적인 학습을 수행하면 성능향상에 효과적임

10. T5의 answering 분석
T5가 낸 대답을 분석해보니 EM기준으로는 오답이겠지만 사람이 직접 채점해보면 오답이라고 보기 어려운 대답들이 생각보다 많았다.
실제로는 정답인데 다른 문구로 바꿔서 표현한 phrasing mismatch
복수정답이 있는데 하나만 정답처리되는 경우라서 복수정답중 운없게 정답처리가 안되는 정답을 제시해버린 incomplete annotation
질문을 한 시간이나 문맥에 따라서 다른 정답을 내버려서 틀려버린 unanswerable??? 이건 뭔말인데
“finally, some questions were unanswerable without knowing the exact time or article they referred to (e.g. “what is the latest version of microsoft office 2010” depends on when the question is being asked).”
그런 질문이 언급된 시간이나 문맥을 모르면 대답할수없었던 질문이 있었다 이런게 unanswerable인듯...?

오답중 62%는 실제로 오답이나 38%는 사람이 보면 오답이라고 보기는 어려웠다
11. closed book question answering의 한계점
기본적으로 많은 사전지식을 가지고 있어야하므로 모델의 크기가 커서 계산량도 많고 속도도 느림. 더욱 효율적인 모델이 필요함
모델이 어떤 근거를 가지고 답을 내는지 알 수 없음. 해석 가능성을 높이도록 연구해야함
모델이 참조하는 ‘지식’이라는 것을 추가하거나 제거하기가 어려움. 어디있는지 진짜로 있긴한건지 잘 모르니까
'딥러닝 > NLP' 카테고리의 다른 글
transformer 간단요약2 - encoder, attention, positional encoding, decoder (0) | 2024.04.16 |
---|---|
transformer 간단요약1 - transformer의 핵심 아이디어, 무엇을 이해해야하는가 (0) | 2024.04.16 |
text-to-text format 방법론 간단하게 (0) | 2024.04.04 |
RNN을 개선한 LSTM(Long short term memory) (0) | 2023.07.27 |
RNN의 특별한 학습방법 Backpropagation through time 이해해보기 (0) | 2023.07.12 |