AI4NLP

GPT-3 paper를 읽고 써보는 간략한 리뷰 혹은 설명, Language Models are Few-Shot Learners 본문

Machine Learning

GPT-3 paper를 읽고 써보는 간략한 리뷰 혹은 설명, Language Models are Few-Shot Learners

nlp user 2020. 9. 6. 14:25

이번에 OpenAI에서 발표한 Language Models are Few-Shot Learners, 통칭 GPT-3 Paper를 읽어보았다. 논문이 상당히 길어서 읽기 힘들까 걱정되었지만, 기술적인 내용보다는 모델에 대한 insight에 대해 많이 다루는 편이어서 쉽게 읽혔다. 거대한 모델을 다루는 것에 대한 insight를 얻고 싶었지만, 그에 대한 내용은 상대적으로 적어서 아쉬웠었다.  이번 포스팅은 논문에 대한 재정리라기보단 논문 내용 요약이라고 보는 것이 타당할 것 같다. 

1.  Introduction

Fine tuning 기반의 방법들은 다음과 같은 단점이 있다.

1.     매번 새로운 task를 풀때마다 많은 레이블 데이터가 필요하다.

2.     Fine tuning 기반의 방법들은 사전학습 중에는 다량의 지식을 학습하지만, 특정 task fine tuning 되는 과정에서 특정task외의 문제에 대한 일반화 능력을 상실한다. 그래서 벤치마크 데이터에 대해서는 좋은 성적을 내는 것처럼 보이지만 실제 사람의 능력과는 동떨어져 있다.

3.     사람은 실제 언어를 활용할 때 대규모의 라벨을 필요로 하지 않는다. 간단한 지시 혹은 몇가지 예시만으로도 가능하다.

 

위와 같은 문제를 해결하기 위한 방법으로 메타러닝을 제시한다.

 

메타러닝은 훈련시에 다양한 기술과 패턴 인식 방법을 학습한 후 추론시에 이러한 능력을 사용하여 요구되는 task에 빠르게 적응하는 것을 의미한다.

 

그래서 GPT-2에서는 사전 학습시 풀고자 하는 task input으로 넣는 in-context-learning라는 방법으로 하였는데, 몇몇 task들에서는 기존 fine tuning을 넘지는 못했었다.

 

언어 모델링의 최근 추세는 parameter 수를 늘리는 것이다. ( BERT 3, GPT-2 14, Megatron 80, T5 110, Project Turing 170) 

 

Parameter 수가 늘어날 수록 downstream task에서의 성능의 개선이 이루어졌고, 실제 log loss가 규모가 커질수록 개선되는 추세가 있다는 연구 결과가 있다.

 

In-context-learning 방식은 모델의 parameter로부터 많은 스킬과 task를 습득하므로, 모델의 규모가 커질수록 성능 개선의 여지 또한 있을 수 있다.

 

이러한 가설을 입증하기 위해 해당 논문에서는 1750억개의 parameter autoregressive model language model, GPT-3를 학습하고, in-context-learning 능력을 테스트했다. 

 

실제 GPT-3 24개 이상의 NLP task에 대해 3가지 조건을 이용하여 GPT-3를 평가하였다. (1) few-shot learning : 모델의 context window(10-100)에 최대한 많은 예제를 넣는다. (2) one-shot learning : 하나의 예제만 넣는다. (3) zero-shot learning : 예제는 사용하지 않고, task에 대한 지침만 넣어준다.

 

그래프 해석

Task에 대한 Prompt가 주어지면 모델 성능이 향상됨.

Example in context의 숫자가 많아지면 모델 성능이 향상됨.

In-context-learning 능력은 모델의 크기가 커질수록 향상됨.

 

이 때에 성능의 증가는 gradient update fine tuning없이, example의 개수를 증가시킴으로서 발생했다.

 

in-context learning 방식을 이용하여, GPT-3는 몇 NLP Task에서 SOTA를 넘었다. 

 

하지만, ANLI(추론), RACE, QuAC(기계 독해) 데이터의 경우는 GPT-3의 규모로도 힘들었다.

 

 

2.  Approach 

 

모델, 데이터, 학습 과 같은 기본적인 접근은 GPT-2와 같고, 모델의 크기와 데이터의 크기 및 다양성, 학습 시간 등을 늘렸다. 

In-context-learning 방법도 GPT-2와 같지만, 평가 방법을 아래와 같은 4가지로 세분화하였다.

modified initialization, pre-normalization,  reversible tokenization을 사용하였고, Sparse Transformer처럼 Transformer의 레이어처럼 dense sparse attention을 교대로 사용하였다.

 

규모(Scale)에 따라 8개의 모델을 학습하고 테스트하였고, 모두 3000억개의 토근에 대해 학습하였다.

 

3.  Results 

생략

 

4.   Measuring and Preventing Memorization Of Benchmarks 

GPT-3의 훈련 데이터들은 인터넷에서 가져왔기 때문에, 훈련 데이터 안에 벤치마크 데이터가 들어있을 수도 있고, 이런 상황을 오염(contamination) 이라고 한다. 오염을 조사하지 않고 대규모 훈련을 하는 것은 관행이었지만, 데이터가 점점 커져갈수록 오염을 조사하는 것은 중요한 문제이다. 

GPT-2에서도 데이터 중복 분석을 수행했었고, 훈련과 테스트 사이에서 겹치는 데이터의 경우는 어느 정도의 성능 향상이 있었지만,  결과적으로 적은 비율의 오염 데이터가 결과에 큰 영향을 주지 않았다.

GPT-3의 경우, GPT-2 보다 2배 이상 많은 데이터를 사용하였고, common crawl 방식을 이용하여 인터넷의 데이터를 수집하였기 때문에 오염의 위험은 여전하다. 

그래서, 사전학습 데이터에 테스트 데이터가 담긴 경우의 영향을 측정하기 위해, 각각의 벤치마크에 대해 사전학습 데이터와 13-gram이 겹치는 데이터를 삭제한 clean version을 만들어 평가했다.

 

 

5.  Limitations 

성능적인 한계

분명 GPT-2에 비하여, 큰 성능의 향상이 있었던 것은 맞지만 여전히 잘하지 못하는 부분이 있었다. 텍스트 생성에서는 전체적으로 품질은 높았지만  여전히 ​​문서 단위로 의미론적인 반복이 일어났고, 충분히 긴 문장에서는 일관성을 잃거나, 모순이 발생했다.  또한, 상식 수준의 물리학 (common sense physics) 도메인을 잘 하지 못했다. 가령, 치즈를 냉장고에 넣으면 녹을까요?와 같은 질문에 잘 대답하지 못했다. In-context learning의 경우에도, WIC(두 단어가 한 문장에서 동일한 방식으로 사용되는지), ANLI(한 문장이 다른 문장을 의미하는지)와 같은 task에서는 큰 성능 향상이 없었다.  

 

알고리즘적 한계 (1)

훈련 방식을denoising이나 bi-direction등이 아닌 auto-regressive에만 집중했기 때문에 양방향성을 갖지 못했다. 그러한 이유로 WIC ANLI와 같은 task를 잘하지 못했던 것으로 추측된다.

 

알고리즘적 한계 (2)

훈련 방식이 autoregressive이던 아니던 모델의 규모를 키우는 것은 사전학습의 손실함수의 한계에 도달할 수 있다. 이러한 손실 함수는 모든 토큰에 동일한 가중치를 주고 있고, 토큰을 예측함에 있어 무엇이 중요하고 중요하지 않은지에 대한 정보가 없다. 또한 self-supervised 손실 함수는 특정 task에 대한 예측 문제로 강제하는데, 이는 궁극적으로 유용한 언어 모델이라고 말하기는 힘들다. 마지막으로 사전학습된 대규모 언어 모델은 실제 세상과의 상호작용이 없기 때문에 세상에 대한 context가 부족하다. 이러한 이유로 self-supervised 학습 방식은 구조적 한계를 가질 수 밖에 없다. 그렇기 때문에 앞으로는 사람이 학습하는 것처럼 목적함수 설계하기, 강화학습을 이용하여 fine tuning하기, multimodal 학습 등을 포함할 수 있을 것이다.

 

학습 데이터의 효율성

GPT-3는 사전 학습동안 사람이 평생 보는 것보다도 더 많은 텍스트를 보지만, 사람만큼의 성능을 내지 못한다. 데이터 샘플의 효율성을 개선하는 것도 매우 중요한 연구 과제이다.

 

Few-shot learning의 해석 불가능함

Few-shot learning 방식이 모델로 하여금 추론 중에 처음부터 새로운 과제를 학습하도록 하는 것인지, 학습했던 task를 식별해서 작동하는 것인지 구분이 모호하다. 

 

사용성

GPT-3 규모의 모델의 또 다른 한계는 비용이 비싸고, 추론 과정이 불편하다는 점이다. 이러한 문제는 distillation으로 해결가능할 것으로 보이지만, 1750억개의 parameter에서는 연구된 바가 없기 때문에 시도해봄직하다.

 

블랙박스

GPT-3 또한 다른 딥러닝 모델과 같은 문제를 갖고 있다. 바로 결과를 설명하기 힘들다는 점이다. 또한 새로운 입력에 대해서도 보정이 일어나지 않으며, 훈련데이터의 편향도 유지된다.

 

6.  Broader Impacts 

생략 (gpt 3의 data 혹은 model 내부에 존재하는 bias에 대한 분석을 다루고 있음. 종교 성별 etc)

 

7.  Related Work 

생략

 

 

 

Comments