논문 및 개념 정리

[GPT3] 주요 내용 정리

2022. 2. 16. 18:57

GPT 모델은 auto-regressive 모델 계열 중 하나이며 특히 GPT3는 transformer 계열 언어모델의 크기에 따른 성능을 매우 잘 보여주었다. 본 글에서는 GPT3 논문의 주요 내용 및 궁금했던 점들을 정리하고자 한다.

 

궁금한 점들

  • in-context learning이란? & few(one, zero)-shot learning이란?
  • prompt 및 GPT3 입력

 

더 좋은 contextualized embedding을 얻기 위한 많은 노력들 끝에 transformer 계열 모델들이 등장했다. 이후 사전학습(pre-training)된 언어모델을 사용하기 위해서 fine-tuning을 거치면 task 데이터셋에 대해서 높은 성능을 보이는 것이 확인되었으나 이는 다음과 같은 한계점들이 있다.

  • task별로 fine-tuning을 위한 수만~수십만개의 데이터를 모으는 것은 비현실적임
  • pre-training에서 학습한 분포와 task에서 학습한 분포와의 차이로 인해 generalization 능력이 약화되며, task 성능이 좋더라도 해당 task에만 해당되는 over-fitting된 결과일 수 있다.
  • 인간은 task가 달라져도 비슷한 수준의 이해능력을 보여준다. task간 전환이 유동적이며 안정적인 성능을 보여주는 모델은 이점이 많다.

GPT3 논문은 이러한 한계점들이 극복가능한지 확인하기 위해 모델 크기에 따른 few(one, zero)-shot learning의 성능을 측정하였다. 

GPT3 모델 핵심인 few-shot learning 성능

이 그림을 이해하기 위해서는 먼저 few-shot learning이 무엇인지, 그리고 언어모델에서의 few-shot learning이 무엇인지를 알아야한다.

원래의 few-shot learning이 무엇인지는 Shusen Wang 교수 영상에 매우 잘 설명되어 있다. 핵심은 "Learn-to-Learn"으로 모델이 학습할 수 있는 능력(meta-learning)을 잘 한다면, training 과정에서 한번도 학습하지 못한 데이터가 입력으로 왔을 때 support set(few shot)에서 몇개의 예시만 있다면 이를 잘 구분할 수 있다는 것이다.

언어모델에서의 few-shot learning은 바로 이 support set이 주어지는 상황을 말한다. support set의 example수가 0개면 zero-shot, 1개면 one-shot, 2개 이상이면 few-shot이라고 불리는 것인데, 중요한 것은 learning이라고 하지만 실제로는 gradient update이 일어나지 않는 과정 forward pass라는 것이다. GPT3의 input을 보면 이를 잘 이해할 수 있다. 

 

GPT3 입력

 

GPT3 입력은 [task description, [SEP], examples, [SEP], prompt :]의 형태이며 출력은 prompt에 알맞은 token sequence이다. 즉, example 수가 많아지면 모델의 성능이 더 좋아지며, task description과 example들을 어떻게 주느냐가 모델의 성능에 영향을 주게 된다.

 

정리하자면 모델의 크기가 커지면서 few(one, zero)-shot learning의 성능이 좋아지는데 이를 설명하는 것이 in-context learning이다. stanford AI blog 글에 이러한 양상이 잘 정리되어 있다.

Informally, in-context learning describes a different paradigm of “learning” where the model is fed input normally as if it were a black box, and the input to the model describes a new task with some possible examples while the resulting output of the model reflects that new task as if the model had “learned”. While imprecise, the term is meant to capture common behaviour that was noted in the GPT-3 paper by OpenAI as a phenomenon that GPT-3 displayed with surprising consistency.

 

GPT3의 놀라운 점은 example이 몇개만 주어진다면 prompt에 대한 출력이 매우 안정적이며 반복적으로 알맞은 결과가 나온다는 것이다(!). 또한 이렇게 example-based conditioning 형태는 여러 태스크에 바로 적용할 수 있는 장점이 있다.

 

 

 

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'논문 및 개념 정리' 카테고리의 다른 글

[2020] Poly-encoders: architectures and pre-training strategies for fast and accurate multi-sentence scoring  (0) 2022.04.04
[LM] Perplexity 개념  (0) 2022.02.17
[2020] Spot The Bot: A Robust and Efficient Framework for the Evaluation of Conversational Dialogue Systems  (0) 2021.08.13
[2017] On Calibration of Modern Neural Networks  (0) 2021.05.26
[2018] Universal Language Model Fine-tuning for Text Classification(ULMfiT)  (0) 2021.03.15
'논문 및 개념 정리' 카테고리의 다른 글
  • [2020] Poly-encoders: architectures and pre-training strategies for fast and accurate multi-sentence scoring
  • [LM] Perplexity 개념
  • [2020] Spot The Bot: A Robust and Efficient Framework for the Evaluation of Conversational Dialogue Systems
  • [2017] On Calibration of Modern Neural Networks
Fine애플
Fine애플
이것저것
Fine애플
끄적끄적
Fine애플
전체
오늘
어제
  • 분류 전체보기 (167)
    • 논문 및 개념 정리 (27)
    • Pattern Recognition (8)
    • 개발 (57)
    • python 메모 (45)
    • pytorch, tensorflow (5)
    • 알고리즘 (9)
    • Toy Projects (4)
    • 통계이론 (2)
    • Reinforcement Learning (10)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • Bert
  • Probability
  • 딥러닝
  • GPU
  • miniconda
  • 자연어
  • container
  • pandas
  • 개발환경
  • Docker
  • reinforcement learning
  • transformer
  • 알고리즘
  • PyTorch
  • 언어모델
  • python
  • ubuntu
  • nlp
  • tensorflow
  • BigBird

최근 댓글

최근 글

hELLO · Designed By 정상우.
Fine애플
[GPT3] 주요 내용 정리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.