들어가며


2020년 5월, OpenAI의 GPT-3가 발표되었다. 최대 175B의 어마어마한 파라미터를 자랑하는 이 모델은, 이전 GPT-2의 1.5B의 100배도 넘어가며 pretrain 비용은 50억이나 들었다고 한다. GPT-2만 해도 꽤 그럴싸한 문장생성 성능을 보여주었지만, GPT-3에서는 훨씬 어마어마하다.

OpenAI에서 2020년 9월에 발표한 본 논문에는 그런 OpenAI의 기대와 고민이 함께 담겨 있다. 너무나 그럴듯한 문장을 만들어 내는데는 성공했다. 이를 위해서 어마어마한 비용을 투자했다. 그러나 이것만으로 충분히 쓸모있는 것은 아니다. [사용자가 원하는, 서비스 맥락에 맞는] 아웃풋을 낼 수 있는 모델이 되기 위해서는 뭔가 부족한 부분을 어떻게 채워갈 것인가?

(Abstractive) Text Summarization


  1. Seq2seq 방식

Abstractive Text Summarization에 접근하는 가장 일반적인 방법은 이것을 번역(NMT) 문제처럼 다루는 것이다. 그래서 seq2seq, AttnSeq2seq, Transformer 등이 많이 쓰였다. 그리고 transformer 기반이 아니더라도 Pointer Network 등 Extractive Text Summarization의 아이디어를 병용해서 성능을 올리는 방식들이 널리 검토되었다.

그래서 19년도까지만 해도(BERT 등 pretrained model이 이미 알려진 후에도) 한동안 SOTA 모델은 ConvSeq2seq 방식이었다. (Zhang et al. 2019, Abstract Text Summarization with a Convolutional Seq2seq Model)

  1. GPT 방식

그러나, Text Generation에 뛰어난 GPT 계열을 활용해서 Fine-tuning을 하면 훨씬 sample-efficient 하게 Text Summarization에 접근할 수 있다. (https://www.notion.so/Khandelwal-et-al-2019-Sample-Efficient-Text-Summarization-Using-a-Single-Pre-Trained-Transformer-b91779dc97644f5aba50b5185d95e8d7) 이후 GPT-2, 3 등이 이어져 나오면서, pretrain만으로도 좋은 요약성능을 보이거나, fine-tuning을 할 경우 이미 사람이 수행한 수준의 요약 성능을 보여주기도 한다.

Human Feedback을 반영하자.


그러나! 본 논문의 문제제기는 여기서 시작한다. GPT pretrain & fine-tune이라는 지도학습만으로도 요약성능이 잘 나오긴 하지만 과연 이게 최선일까?