- 링크:
https://proceedings.neurips.cc/paper/2020/file/1457c0d6bfcb4967418bfb8ac142f64a-Paper.pdf
Background
- Pretraining + Finetuning
- 대규모 데이터로 pretraining을 진행하고 각 task 별로 Finetuning해서 높은 성능을 내는 것이 가장 기본적인 방법
- 하지만 새로운 task에 대해 대용량을 labeled dataset을 생성하는 것은 비효율
- 큰 모델을 한 task에 fine-tuning하는 것은 좁은 분포로 모델을 다시 학습시키는거라 좋은 성능이 안 나올 수도 있음
- GPT-2
- transformer 기반 모델로 이전 모델 (seq2seq)에 비해서는 긴 문장을 처리할 수 있지만, 긴 문서의 경우 모든 단어끼리 attention 해야되서 비효율적임
- QA, Reading Comprehension 등의 Task에서 기존 SOTA 모델보다는 낮은 성능
Methods
- Architecture
- GPT-2와 같은 Transformer decoder block을 쌓은 모델
- 125M에서 175B의 다양한 크기의 모델을 제안
- 약 300B의 데이터를 CLM 학습
- In-context learning
- 다양한 task에 tuning 없이도 바로 사용 가능해
- Few-shot, One-shot, zero-shot으로 지시문과 함께 사용되는 샘플의 개수에 따라 구분
- Instruction (지시문)과 함께 프롬프트를 작성하면 finetuning 없이도 높은 성능을 낼 수 있음
Experiment & Analysis
- Figure 1.1
- 1. SuperGLUE: Few-shot이 가장 높은 성능을 보이나 SOTA에 비하면 낮은 성능
- 2. Incontext-learning: 같은 few-shot인데도 instruction을 추가하여 적은 샘플로도 높은 성능
- 3. 다양한 Benchmark에 시험해 보았을때 샘플이 많을 수록 높은 성능을 보임
- Figure 1.2
- 모델의 크기에 따라 일관되게 높은 성능을 보이지만 few-shot setting에서 유난히 큰 성능 향상을 보임
- Table 3
- Task에 따라 SOTA에 버금가는 성능을 내거나 Few-shot의 경우 SOTA보다 높은 성능을 내기도 함
Result
- 다양한 task에 대해서 few-shot이 SOTA에 버금가는 성능 달성
- 악용, 편견 (성별, 인종, 종교), 자원에 대한 영향을 분석
Limitation
- 대규모 모델을 대규모 데이터로 학습해야지만 fine-tuning 없이도 성능을 낼 수 있음