SlideShare a Scribd company logo
GPT-X
고현웅
(https://github.com/hyunwoongko)
1
2
Generative Pretrained Transformer
생성 방식으로 사전 학습된 트랜스포머
3
4
• Semi-supervised Sequence Learning과 ULMFiT (LSTM으로 Semi supervised learning 하던 모델들)
이후에 나온 Semi supervised learning 학습에 관련된 논문.
• 본격적으로 Transformer 기반의 Pretraining – Fine tuning 학습 방식의 유행을 시작시킨 장본인.
GPT-1
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
우리에게 Unlabeled 텍스트 데이터 (웹 데이터)는 많이 있지만,
Labeled 데이터가 적어서 자연어 이해 모델이 잘 동작하기 어렵다.
5
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
대량의 Unlabeled 코퍼스를 이용해 생성 방식의 사전 학습을 진행하고
특정한 자연어 이해 태스크에 파인 튜닝을 해봤는데 효과가 굉장히 좋았다.
6
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
대량의 Unlabeled 코퍼스를 이용해 생성 방식의 사전 학습을 진행하고
특정한 자연어 이해 태스크에 파인 튜닝을 해봤는데 효과가 굉장히 좋았다.
7
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에,
모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다.
8
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에,
모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다.
9
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에,
모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다.
10
모델은 고정
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에,
모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다.
11
입력문 변경
Abstract
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
그 이후로는 뭐 대충 자기들 방식이 짱이라는 이야기…
12
13
Introduction
GPT-1
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
14
지도학습이 가능하다고 하더라도, 모델의
좋은 표현력을 이용하면 성능을 크게 개선시킬 수 있음.
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
15
특히 Pretrained Embedding 모델들
(Word2Vec, GloVe, FastText 등…)이 그러했음.
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
16
그러나 Unsupervised Corpus를 이용한 학습에는 두가지 문제가 있다.
첫 번째는 어떤 Pretraining Objective가 가장 좋은지 모름.
어떨 때는 번역으로 하는게 잘 되고 어떨 때는 LM으로 하는게 잘 되고…
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
17
그러나 Unsupervised Corpus를 이용한 학습에는 두가지 문제가 있다.
두번째는 학습한 표현을 어떻게 다운 스트림
태스크로 Transfer 하는 것이 가장 좋은지 정해진 게 없음.
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
18
그러나 Unsupervised Corpus를 이용한 학습에는 두가지 문제가 있다.
특히 최근 등장한 Semi-supervised learning 기법들은
태스크에 따라 모델의 아키텍처를 변형해서 Transfer하는데
이런 방식은 개발을 어렵게 만듦. (실제로 매우 번거로움 ^^)
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
19
이 논문에서는 (우리가 이제는 너무 잘 아는) Pretraining과
Fine tuning 기법을 이용해서 NLU 태스크를 풀어보려고 한다.
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
20
(1) Pretraining : 뉴럴넷 모델을 Language Modeling 방식으로 학습
(2) Fine tuning : 학습된 모델을 특정한 Supervised Task에 다시 학습
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
21
(1) Pretraining : 뉴럴넷 모델을 Language Modeling 방식으로 학습
(2) Fine tuning : 학습된 모델을 특정한 Supervised Task에 다시 학습
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
22
(1) Pretraining : 뉴럴넷 모델을 Language Modeling 방식으로 학습
(2) Fine tuning : 학습된 모델을 특정한 Supervised Task에 다시 학습
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
23
(1) 최근 유행하는 트랜스포머 모델을 사용했다.
(2) 태스크마다 모델이 아닌 입력 구조를 변경한다.
Introduction
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
24
자기들 방식이 짱이라는 고런 이야기들…
25
Related Works
GPT-1
Related Works
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
26
(1) 이미 Word2Vec이나 FastText 등을 Unsupervised Training 해서 썼을 때 좋았던 경험이 있다.
(2) 최근에는 단어 수준이 아닌 문장 수준에서도 이러한 방식이 좋은 성과를 거두었다. (feat. ELMO)
Related Works
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
27
최근에 LSTM으로 Language Modeling + Fine tuning을 시도한
논문도 있었는데 LSTM을 사용했기 때문에 그 능력에 한계가 있음
Related Works
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
28
최근 몇몇 연구에서 LM Loss를 보조 로스(Auxiliary Loss)로 부여하면
성능이 개선되는 것을 관찰하였음. 이 논문에서도 그러한 보조 로스를 실험함.
29
Framework
GPT-1
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
30
Pretraining Loss : LM Loss
이전 토큰들 보고 다음 토큰 맞추기
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
31
<외부 코드>
>>> outputs = gpt(input_ids, labels= input_ids)
>>> # input_ids = labels 같은 텐서를 입력.
<내부 코드>
>>> shift_logits = lm_logits[..., :-1, :].contiguous()
>>> # [batch_size, seq_len - 1, d_model]
>>> shift_labels = labels[..., 1:].contiguous()
>>> # [batch_size, seq_len - 1]
>>> loss_fct = CrossEntropyLoss()
>>> loss = loss_fct(shift_logits.view(-1, shift_logits.size(-1)),
shift_labels.view(-1))
>>> # batchwise input을 flatten해서 처리
https://github.com/huggingface/transformers/blob/master/src/transformers/models/gpt2/modeling_gpt2.p
y
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
32
Logits : My name is Ko </s> <pad> …
Labels : <s> My name is Ko </s> …
Input_ids = labels 같은 텐서를 입력.
색칠한 부분의 토큰들만 Loss가 계산됨.
Transformer Decoder
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
33
Model은 Transformer Decoder 사용했는데,
인코더가 없기 때문에 Cross Attention은 없는 구조
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
34
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
35
Supervised Fine-tuning : Task Specific Loss + λ * LM Loss
λ * LM Loss = Auxiliary Loss (그러나 GPT2부터 사라짐)
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
36
Input Transformation : Model Architecture는 고정.
Task별로 Input 프롬프트 구조만 변경해줌으로서 태스크별 작업 수행.
(이후 대부분 PLM이 이 방식을 채용하였음.)
Framework
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
37
Text Classification :
<s> 배송이 버트 학습시키는 것 만큼 느리네요. </s>
→ “Negative”
Natural Language Inference :
<s> 나는 거기에 있었다. <$> 나는 거기에 없었어요. </s>
→ “Contradiction”
Question Answering :
<s> 케빈은 NLP 덕후이다. 케빈은 어떤 것의 덕후인가? <$> NLP
38
Experiments
GPT-1
Experiments
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
39
Unsupervised Pre-training :
(1) BookCorpus Dataset : 7000개의 책 데이터.
(이야기가 계속 이어지므로 Long range 정보 학습 가능)
(2) Word Benchmark Dataset : ELMo에서 사용한 데이터.
(문장 단위에서 셔플해서 입력하기 때문에, Long range 정보 파괴)
Experiments
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
40
Model Specifications :
(1) 12 Layer의 Transformer Decoder
(2) d_model=768 , n_heads=12
(3) GELU activation 함수 사용.
(4) Positional Embedding 사용 (not sinusoid)
(5) BPE 사용 (vocab_size=40,000)
Experiments
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
41
Fine-tuning (NLI) :
RTE를 제외하고는 SOTA 달성.
(RTE는 크기가 작은 NLI 데이터 셋.)
Experiments
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
42
Fine-tuning (QA) :
모든 태스크에서 SOTA 달성
Experiments
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
43
Fine-tuning (Others) :
SST(Sentiment Classification)과
MRPC(News crawled Paraphrase)를 제외하고 SOTA 달성
GLUE에서 아주 잠깐 SOTA 달성 (BERT 등장 전까지)
mc= Mathews correlation, acc=Accuracy, pc=Pearson correlation
44
Analysis
GPT-1
Analysis
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
45
Pretraining은 확실히 도움이 된다.
(1) 더 많은 Pretrained Layer를 Transfer 하면 성능이 오른다.
(2) Pre-training을 더 오래하면 zero-shot 성능이 오른다.
Analysis
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
46
이 때부터 Zero-shot에 대한 도전을 시도했다.
성능은 매우 저조하지만 Zero-shot 인퍼런스가 가능을 보였다.
특히 LSTM보다 Transformer가 Pretrain시 더 우수한 성능을 보였다.
Analysis
Improving Language Understanding by Generative Pre-Training (Radford et al, 2018)
47
Ablation studies
(1) Pretraining > non-Pretraining
(2) Aux Loss = non-Aux Loss (거의 비슷)
Bi-text 문제에서는 약간 향상, 나머지는 약간 하락
(3) Transformer > LSTM
48
• LM이 Fine-tuning 없이도 Specific Task들을 풀 수 있다는 걸 보여주었다.
• 그 외에도 Dataset이나 Tokenization에 신경을 꽤 많이 쓴 게 보인다.
• GPT-3의 떡밥을 이미 다 던져 놓은 논문.
GPT-2
Abstract
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
49
• 최근 NLP에서 Supervised Learning을 이용해
서 최첨단의 성능을 보여주고 있다.
• GPT-2 논문에서는 LM이 Supervision 없이 특
정 태스크들을 수행할 수 있다는 것을 보인다.
50
Introduction
GPT-2
Introduction
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
51
• 현재 시스템은 Generalist가 아니라 Narrow Experts
이다. (그에 비해 인간은 Generalist)
Introduction
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
52
• 하나의 모델이 하나의 태스크만 잘 수행하도록 하는
현재의 연구 방식들이 Generalization의 부족을 불러
오는 원인이다. (아예 생각을 바꿔야한다.)
Introduction
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
53
• MTL은 하나의 모델이 여러가지 태스크를
동시에 수행 하는 것. (e.g. QA Loss +
NER Loss + NLI Loss + …)
• 이는 한 모델의 Generalization
Performance를 향상시킬 수 있지만 그러
나 NLP에서의 MTL은 걸음마 단계이다.
• 그러나 이 방식은 매번 Supervised 데이
터셋과 objective를 새롭게 만들어야 하는
데 이는 scalability의 감소로 이어진다.
Introduction
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
54
• Pretraining + Finetuning 방식의 학습은 꽤
오랜 전통이 있는 방식.
• 최근 GPT-1이나 BERT 등의 모델들은
Transformer를 이용해 Task-specific 아키텍
처 없이도 이를 더 효율적으로 수행하였음.
Introduction
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
55
• (1) 이러한 방식들도 결국에
Supervised Learning이 필요하다.
• (2) 그러나 Supervised 데이터셋이 거
의 없거나 아예 없을 때 한가지 대안은
LM을 이용해서 수행하는 것이다.
• 이 논문에서는 이 두가지 방법을 연결
한다. 이 방식은 어떠한 파라미터나 구
조의 변경이 필요 없다.
56
Approach
GPT-2
Approach
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
57
• 기존 시스템은 P(output | input)을 학습하지만, 우리
의 시스템은 P(output | input, task)를 학습한다. (즉
파라미터로 task를 입력 받는 universal function을
학습한다.)
• 번역 예시 : Function(“translate to French”, English
text, French text)
• QA 예시 : Function(“answer the question”,
document, question, answer)
Approach
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
58
• 우리는 가능한 가장 크고 다양한 도메인의 데이터를
만들어야 한다. (다양한 도메인과 태스크에서 전부 잘
하는 모델을 만들어야 하므로)
• Common Crawl은 거의 무제한의 데이터이다. (스크
랩 봇들이 실시간으로 데이터를 계속 수집하고 있음)
그러나 이 데이터는 퀄리티 상에 매우 큰 문제가 있다.
(쓸모 없고 낮은 퀄리티의 데이터가 너무 많음)
• 몇몇 연구에서는 Common Crawl의 subset을 만들어
서 사용했다. Winograd Challenge (상호 참조 해결
챌린지) 데이터셋과 높은 similarity를 갖는 데이터만
사용해서 특정 태스크에서 좋은 성적을 거두었다.
• 이러한 접근법은 특정 태스크의 성능을 개선할 수는
있지만, 우리는 이렇게 특정 태스크에 대한 가정을 하
는 것을 피하고 싶다.
Approach
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
59
• 따라서 Common Crawl을 안 쓰고 새로운 데이터를 만
들었는데, Reddit에서 카르마(점수)를 3점 이상 받은
글에서 레퍼런스 하는 링크에 있는 글만 스크랩했음.
Approach
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
60
• HTML에서 텍스트를 추출하고 De-duplication을 수
행하여 텍스트를 추출했음.
• 여기에서 Wikipedia 데이터는 전부 제거했는데, 이는
특정 태스크들이 Wikipedia 데이터를 많이 활용하고
있기 때문. (Cheating으로 이어질 수도 있음)
Approach
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
61
• 기존의 BPE 구현은 Byte 레벨이 아니라 Unicode 레
벨로 구현되어 있는데 이는 130,000 개 이상의 vocab
이 있어야 OOV 없이 입력을 처리할 수 있다는 것을
의미함. (그러나 130,000개는 커도 너무 크다)
• 그래서 우리는 Byte 레벨로 Vocab을 구축한 뒤에
(256개) 높은 확률을 갖는 바이트들을 병합하는 방식
으로 Vocab 사이즈를 원하는 크기로 키웠다. (모든 바
이트를 포함하기 때문에 OOV가 발생하지 않음)
• 또한 BPE를 수행하다 보면 Dog. Dog? Dog! 등의 토
큰들이 발생하는데, 이는 Dog의 Token
representation이 원할하게 학습되는 것을 방해하기
때문에 서로 다른 문자 카테고리(word, punctuation)
등이 함께 병합되지 못하게 하였다.
Approach
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
62
• Unicode에서는 ‘가’, ‘나‘, ‘다' 등의 문자가 모두 한 개의 문
자로서 처리되며 서로 다른 하나의 문자로 취급 됨. (모든
Unicode를 포함하려면 130,000개가 있어야 함, 한글은 예시
임. GPT2에 한글이 포함된 것은 아님!)
• Byte 레벨에서 ‘가'는 3개의 바이트로 구성됨 (한글의 경우)
따라서 GPT2는 ‘가'를 3개의 바이트로 분할한 뒤에 바이트
레벨 BPE를 수행한 것. (Byte는 256개로 모든 것을 커버 가능)
• 따라서 절대 OOV가 발생하지 않음.
Approach
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
63
• small, medium, large, xlarge로 총 4가지 사이즈의 모델
을 학습 시켰으며, 구조는 GPT-1과 동일함.
• Pre-LN 구조를 사용하였으며, Residual branch의 폭발을
막기 위해 Residual layer에 1/sqrt(N)의 Normalization을
적용했음.
• LN과 Transformer Residual branch의 종속성에 대한 자세
한 내용은 https://github.com/kakaobrain/nlp-paper-
reading/blob/master/notes/Admin.md 여기를 참고하세
요. (+ 집현전 발표 : Translation Survey vol2에서도 자세
히 설명합니다.)
64
Experiments
GPT-2
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
65
• LM tasks : 대부분에서 SoTA 기록
• 특히 상당히 어려운 태스크에 속하는 LAMBADA에서도 SoTA 기록
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
66
• CBT 테스트에서도 SoTA를 기록하며, 인간 수준과 거리를 좁혔음.
Introduction
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
67
• Coreference Resolution 태스크인 Winograd Challenge 태스크에서 SoTA를 기록함.
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
68
• CoQA(대화형 QA)에서 현 SoTA의 ¾ 성능을 거둠.
• 대화를 모두 연결하고, 마지막에 “A : “로 입력을
마치면, 정답을 유추하는 방식으로 Zero-shot 인
퍼런스 수행
• Context Q: question1 A: answer1 Q: question2
A: answer2 Q: question3 A: _____ → answer3
• BERT가 89점으로 SoTA를 기록 중인데 GPT2는
55점의 성적을 거두었음. 놀라운 것은 finetuning
데이터를 전혀 사용하지 않았다는 것!
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
69
• CoQA(대화형 QA)에서 현 SoTA의 ¾ 성능을 거둠.
• 대화를 모두 연결하고, 마지막에 “A : “로 입력을
마치면, 정답을 유추하는 방식으로 Zero-shot 인
퍼런스 수행
• Context Q: question1 A: answer1 Q: question2
A: answer2 Q: question3 A: _____ → answer3
• BERT가 89점으로 SoTA를 기록 중인데 GPT2는
55점의 성적을 거두었음. 놀라운 것은 finetuning
데이터를 전혀 사용하지 않았다는 것!
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
70
• Summarization에서 꽤 우수한 성적을 거둠.
• 마찬가지로 몇 개의 example을 보여주는 방식으로
인퍼런스를 수행했음. 이는 GPT-3의 few-shot 세
팅과 100% 동일함.
• context1 TL;DR; summary1 context2 TL;DR; ____
→ summary2
• 특히 TL;DR;을 붙이면 성능이 향상되었음. (이 때
부터 프롬프트 엔지니어링을 시도 한 것으로 보임.)
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
71
• En → Fr Translation 태스크에서 BLEU score 5점, Fr
→ En 태스크에서 BLEU score 11.5점을 획득했음.
• 굉장히 낮은 점수이긴 한데, 신기한 건 단일언어 모델인
GPT2가 번역을 수행한 것. (…??? 어케 했누)
• 데이터셋을 찾아보니, “English sentence = French
sentence”와 같이 구성된 데이터가 10MB 정도 있었음.
이는 현재 사용하는 unsupervised translation 데이터
보다 500배 정도 적은 양임.
• 요약과 마찬가지로 few-shot example을 함께 넣어서
인퍼런스를 수행했음.
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
72
• Open Domain Question Answering에서 4.1%의
정확도 기록.
• 현 SoTA인 30 ~ 50%보다 확연히 낮은 정확도지만,
GPT2는 Context를 아예 안 보고 질문만 주어졌을
때 대답한 것임.
Experiments
Language Models are Unsupervised Multitask Learner (Radford et al, 2019)
73
Generalization vs Memorization
현재 학습시킨 데이터셋의 LM 데이터셋들의 8-gram overlap이 굉장히
낮기 때문에, 이를 단순 Memorization이라고만 볼 수 는 없다.
(개인적으로 잘 이해가 안감… 굳이 8-gram?)
74
• GPT2의 사이즈를 10배나 키웠더니 못하던 태스크들도 대부분 잘 된다?
• (본격 파인튜닝 없이 SoTA 부수는 모델)
• 특히 few-shot example과 language description을 잘 활용하면 더욱 좋다.
• GPT2의 공룡버전.
GPT-3
75
GPT-3
https://github.com/hyunwoongko/hyunwoongko.github.io/issues/5

More Related Content

PDF
강화 학습 기초 Reinforcement Learning an introduction
PDF
GPT : Generative Pre-Training Model
PDF
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
PDF
Word2vec algorithm
PPTX
[Product Design] WTOS May 2016
PPT
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
PDF
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
PDF
이무림, 워크샵 게임 만들기: 부족전쟁, NDC2017
강화 학습 기초 Reinforcement Learning an introduction
GPT : Generative Pre-Training Model
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Word2vec algorithm
[Product Design] WTOS May 2016
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
강화학습 기초부터 DQN까지 (Reinforcement Learning from Basics to DQN)
이무림, 워크샵 게임 만들기: 부족전쟁, NDC2017

What's hot (20)

PPTX
Protolos Ethernet e PPP
PPTX
쫄지말자딥러닝2 - CNN RNN 포함버전
PDF
WHAT DO VISION TRANSFORMERS LEARN A VISUAL EXPLORATION.pdf
PPTX
Aula 7 banco de dados
PDF
Deep Learning: Recurrent Neural Network (Chapter 10)
PDF
Gpt models
PDF
Zero shot learning through cross-modal transfer
PDF
Reinforcement learning
PPTX
Gpt1 and 2 model review
PPTX
인공지능, 기계학습 그리고 딥러닝
PDF
인공신경망
PDF
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발
PDF
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
PDF
Revisão Sobre Programação Orientada a Objetos com Java
PPTX
Deep Learning for Machine Translation
PPTX
INTRODUCTION TO NLP, RNN, LSTM, GRU
PDF
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
PPT
AOO - Diagrama de Caso de Uso
PDF
행동 트리
PDF
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
Protolos Ethernet e PPP
쫄지말자딥러닝2 - CNN RNN 포함버전
WHAT DO VISION TRANSFORMERS LEARN A VISUAL EXPLORATION.pdf
Aula 7 banco de dados
Deep Learning: Recurrent Neural Network (Chapter 10)
Gpt models
Zero shot learning through cross-modal transfer
Reinforcement learning
Gpt1 and 2 model review
인공지능, 기계학습 그리고 딥러닝
인공신경망
오픈 소스를 활용한 캐쥬얼 게임 서버 프레임워크 개발
pycon2018 "RL Adventure : DQN 부터 Rainbow DQN까지"
Revisão Sobre Programação Orientada a Objetos com Java
Deep Learning for Machine Translation
INTRODUCTION TO NLP, RNN, LSTM, GRU
5- Modelo entidade Relacionamento - Cardinalidade - Profª Cristiane Fidelix
AOO - Diagrama de Caso de Uso
행동 트리
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
Ad

Similar to GPT-X (20)

PDF
Improving Language Understanding by Generative Pre-Training
PDF
GPT-Series.pdf
PDF
Character-Aware Neural Language Models
PDF
Masked Sequence to Sequence Pre-training for Language Generation
PDF
Deep Learning for Chatbot (1/4)
PDF
네이버 NLP Challenge 후기
PDF
Neural module Network
PPTX
Ai nlp challenge
PPTX
2009 DevC Seongnam - NLP
PDF
PaLM Paper Review
PDF
[224] backend 개발자의 neural machine translation 개발기 김상경
PDF
20231130 LLM이 걸어온 길과 앞으로의 활약 분야 - CoT기반 Autonomous Agents를 위한 한국어 Explanation...
PDF
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
PDF
La mda 딥러닝 논문읽기 모임, 2021 google IO
PDF
[2021 Google I/O] LaMDA : Language Models for DialogApplications
PPTX
211223 지승현 text generation survey
PPTX
PyCon2020 NLP beginner's BERT challenge
PPTX
Papago/N2MT 개발이야기
PDF
[study] character aware neural language models
Improving Language Understanding by Generative Pre-Training
GPT-Series.pdf
Character-Aware Neural Language Models
Masked Sequence to Sequence Pre-training for Language Generation
Deep Learning for Chatbot (1/4)
네이버 NLP Challenge 후기
Neural module Network
Ai nlp challenge
2009 DevC Seongnam - NLP
PaLM Paper Review
[224] backend 개발자의 neural machine translation 개발기 김상경
20231130 LLM이 걸어온 길과 앞으로의 활약 분야 - CoT기반 Autonomous Agents를 위한 한국어 Explanation...
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
La mda 딥러닝 논문읽기 모임, 2021 google IO
[2021 Google I/O] LaMDA : Language Models for DialogApplications
211223 지승현 text generation survey
PyCon2020 NLP beginner's BERT challenge
Papago/N2MT 개발이야기
[study] character aware neural language models
Ad

More from gohyunwoong (7)

PDF
Large scale-lm-part1
PDF
Parallelformers
PPTX
Machine translation survey vol2
PPTX
Machine translation survey - vol1
PDF
Pretrained summarization on distillation
PPTX
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
PPTX
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...
Large scale-lm-part1
Parallelformers
Machine translation survey vol2
Machine translation survey - vol1
Pretrained summarization on distillation
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Bag of Tricks for Image Classification with Convolutional Neural Networks (C...

GPT-X

  • 2. 2
  • 3. Generative Pretrained Transformer 생성 방식으로 사전 학습된 트랜스포머 3
  • 4. 4 • Semi-supervised Sequence Learning과 ULMFiT (LSTM으로 Semi supervised learning 하던 모델들) 이후에 나온 Semi supervised learning 학습에 관련된 논문. • 본격적으로 Transformer 기반의 Pretraining – Fine tuning 학습 방식의 유행을 시작시킨 장본인. GPT-1
  • 5. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 우리에게 Unlabeled 텍스트 데이터 (웹 데이터)는 많이 있지만, Labeled 데이터가 적어서 자연어 이해 모델이 잘 동작하기 어렵다. 5
  • 6. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 대량의 Unlabeled 코퍼스를 이용해 생성 방식의 사전 학습을 진행하고 특정한 자연어 이해 태스크에 파인 튜닝을 해봤는데 효과가 굉장히 좋았다. 6
  • 7. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 대량의 Unlabeled 코퍼스를 이용해 생성 방식의 사전 학습을 진행하고 특정한 자연어 이해 태스크에 파인 튜닝을 해봤는데 효과가 굉장히 좋았다. 7
  • 8. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에, 모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다. 8
  • 9. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에, 모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다. 9
  • 10. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에, 모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다. 10 모델은 고정
  • 11. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 태스크마다 모델 아키텍처를 변경해야 한다면 번거롭기 때문에, 모델에 입력되는 입력문만 변경해서 특정한 태스크를 수행한다. 11 입력문 변경
  • 12. Abstract Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 그 이후로는 뭐 대충 자기들 방식이 짱이라는 이야기… 12
  • 14. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 14 지도학습이 가능하다고 하더라도, 모델의 좋은 표현력을 이용하면 성능을 크게 개선시킬 수 있음.
  • 15. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 15 특히 Pretrained Embedding 모델들 (Word2Vec, GloVe, FastText 등…)이 그러했음.
  • 16. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 16 그러나 Unsupervised Corpus를 이용한 학습에는 두가지 문제가 있다. 첫 번째는 어떤 Pretraining Objective가 가장 좋은지 모름. 어떨 때는 번역으로 하는게 잘 되고 어떨 때는 LM으로 하는게 잘 되고…
  • 17. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 17 그러나 Unsupervised Corpus를 이용한 학습에는 두가지 문제가 있다. 두번째는 학습한 표현을 어떻게 다운 스트림 태스크로 Transfer 하는 것이 가장 좋은지 정해진 게 없음.
  • 18. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 18 그러나 Unsupervised Corpus를 이용한 학습에는 두가지 문제가 있다. 특히 최근 등장한 Semi-supervised learning 기법들은 태스크에 따라 모델의 아키텍처를 변형해서 Transfer하는데 이런 방식은 개발을 어렵게 만듦. (실제로 매우 번거로움 ^^)
  • 19. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 19 이 논문에서는 (우리가 이제는 너무 잘 아는) Pretraining과 Fine tuning 기법을 이용해서 NLU 태스크를 풀어보려고 한다.
  • 20. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 20 (1) Pretraining : 뉴럴넷 모델을 Language Modeling 방식으로 학습 (2) Fine tuning : 학습된 모델을 특정한 Supervised Task에 다시 학습
  • 21. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 21 (1) Pretraining : 뉴럴넷 모델을 Language Modeling 방식으로 학습 (2) Fine tuning : 학습된 모델을 특정한 Supervised Task에 다시 학습
  • 22. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 22 (1) Pretraining : 뉴럴넷 모델을 Language Modeling 방식으로 학습 (2) Fine tuning : 학습된 모델을 특정한 Supervised Task에 다시 학습
  • 23. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 23 (1) 최근 유행하는 트랜스포머 모델을 사용했다. (2) 태스크마다 모델이 아닌 입력 구조를 변경한다.
  • 24. Introduction Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 24 자기들 방식이 짱이라는 고런 이야기들…
  • 26. Related Works Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 26 (1) 이미 Word2Vec이나 FastText 등을 Unsupervised Training 해서 썼을 때 좋았던 경험이 있다. (2) 최근에는 단어 수준이 아닌 문장 수준에서도 이러한 방식이 좋은 성과를 거두었다. (feat. ELMO)
  • 27. Related Works Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 27 최근에 LSTM으로 Language Modeling + Fine tuning을 시도한 논문도 있었는데 LSTM을 사용했기 때문에 그 능력에 한계가 있음
  • 28. Related Works Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 28 최근 몇몇 연구에서 LM Loss를 보조 로스(Auxiliary Loss)로 부여하면 성능이 개선되는 것을 관찰하였음. 이 논문에서도 그러한 보조 로스를 실험함.
  • 30. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 30 Pretraining Loss : LM Loss 이전 토큰들 보고 다음 토큰 맞추기
  • 31. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 31 <외부 코드> >>> outputs = gpt(input_ids, labels= input_ids) >>> # input_ids = labels 같은 텐서를 입력. <내부 코드> >>> shift_logits = lm_logits[..., :-1, :].contiguous() >>> # [batch_size, seq_len - 1, d_model] >>> shift_labels = labels[..., 1:].contiguous() >>> # [batch_size, seq_len - 1] >>> loss_fct = CrossEntropyLoss() >>> loss = loss_fct(shift_logits.view(-1, shift_logits.size(-1)), shift_labels.view(-1)) >>> # batchwise input을 flatten해서 처리 https://github.com/huggingface/transformers/blob/master/src/transformers/models/gpt2/modeling_gpt2.p y
  • 32. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 32 Logits : My name is Ko </s> <pad> … Labels : <s> My name is Ko </s> … Input_ids = labels 같은 텐서를 입력. 색칠한 부분의 토큰들만 Loss가 계산됨. Transformer Decoder
  • 33. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 33 Model은 Transformer Decoder 사용했는데, 인코더가 없기 때문에 Cross Attention은 없는 구조
  • 34. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 34
  • 35. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 35 Supervised Fine-tuning : Task Specific Loss + λ * LM Loss λ * LM Loss = Auxiliary Loss (그러나 GPT2부터 사라짐)
  • 36. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 36 Input Transformation : Model Architecture는 고정. Task별로 Input 프롬프트 구조만 변경해줌으로서 태스크별 작업 수행. (이후 대부분 PLM이 이 방식을 채용하였음.)
  • 37. Framework Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 37 Text Classification : <s> 배송이 버트 학습시키는 것 만큼 느리네요. </s> → “Negative” Natural Language Inference : <s> 나는 거기에 있었다. <$> 나는 거기에 없었어요. </s> → “Contradiction” Question Answering : <s> 케빈은 NLP 덕후이다. 케빈은 어떤 것의 덕후인가? <$> NLP
  • 39. Experiments Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 39 Unsupervised Pre-training : (1) BookCorpus Dataset : 7000개의 책 데이터. (이야기가 계속 이어지므로 Long range 정보 학습 가능) (2) Word Benchmark Dataset : ELMo에서 사용한 데이터. (문장 단위에서 셔플해서 입력하기 때문에, Long range 정보 파괴)
  • 40. Experiments Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 40 Model Specifications : (1) 12 Layer의 Transformer Decoder (2) d_model=768 , n_heads=12 (3) GELU activation 함수 사용. (4) Positional Embedding 사용 (not sinusoid) (5) BPE 사용 (vocab_size=40,000)
  • 41. Experiments Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 41 Fine-tuning (NLI) : RTE를 제외하고는 SOTA 달성. (RTE는 크기가 작은 NLI 데이터 셋.)
  • 42. Experiments Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 42 Fine-tuning (QA) : 모든 태스크에서 SOTA 달성
  • 43. Experiments Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 43 Fine-tuning (Others) : SST(Sentiment Classification)과 MRPC(News crawled Paraphrase)를 제외하고 SOTA 달성 GLUE에서 아주 잠깐 SOTA 달성 (BERT 등장 전까지) mc= Mathews correlation, acc=Accuracy, pc=Pearson correlation
  • 45. Analysis Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 45 Pretraining은 확실히 도움이 된다. (1) 더 많은 Pretrained Layer를 Transfer 하면 성능이 오른다. (2) Pre-training을 더 오래하면 zero-shot 성능이 오른다.
  • 46. Analysis Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 46 이 때부터 Zero-shot에 대한 도전을 시도했다. 성능은 매우 저조하지만 Zero-shot 인퍼런스가 가능을 보였다. 특히 LSTM보다 Transformer가 Pretrain시 더 우수한 성능을 보였다.
  • 47. Analysis Improving Language Understanding by Generative Pre-Training (Radford et al, 2018) 47 Ablation studies (1) Pretraining > non-Pretraining (2) Aux Loss = non-Aux Loss (거의 비슷) Bi-text 문제에서는 약간 향상, 나머지는 약간 하락 (3) Transformer > LSTM
  • 48. 48 • LM이 Fine-tuning 없이도 Specific Task들을 풀 수 있다는 걸 보여주었다. • 그 외에도 Dataset이나 Tokenization에 신경을 꽤 많이 쓴 게 보인다. • GPT-3의 떡밥을 이미 다 던져 놓은 논문. GPT-2
  • 49. Abstract Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 49 • 최근 NLP에서 Supervised Learning을 이용해 서 최첨단의 성능을 보여주고 있다. • GPT-2 논문에서는 LM이 Supervision 없이 특 정 태스크들을 수행할 수 있다는 것을 보인다.
  • 51. Introduction Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 51 • 현재 시스템은 Generalist가 아니라 Narrow Experts 이다. (그에 비해 인간은 Generalist)
  • 52. Introduction Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 52 • 하나의 모델이 하나의 태스크만 잘 수행하도록 하는 현재의 연구 방식들이 Generalization의 부족을 불러 오는 원인이다. (아예 생각을 바꿔야한다.)
  • 53. Introduction Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 53 • MTL은 하나의 모델이 여러가지 태스크를 동시에 수행 하는 것. (e.g. QA Loss + NER Loss + NLI Loss + …) • 이는 한 모델의 Generalization Performance를 향상시킬 수 있지만 그러 나 NLP에서의 MTL은 걸음마 단계이다. • 그러나 이 방식은 매번 Supervised 데이 터셋과 objective를 새롭게 만들어야 하는 데 이는 scalability의 감소로 이어진다.
  • 54. Introduction Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 54 • Pretraining + Finetuning 방식의 학습은 꽤 오랜 전통이 있는 방식. • 최근 GPT-1이나 BERT 등의 모델들은 Transformer를 이용해 Task-specific 아키텍 처 없이도 이를 더 효율적으로 수행하였음.
  • 55. Introduction Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 55 • (1) 이러한 방식들도 결국에 Supervised Learning이 필요하다. • (2) 그러나 Supervised 데이터셋이 거 의 없거나 아예 없을 때 한가지 대안은 LM을 이용해서 수행하는 것이다. • 이 논문에서는 이 두가지 방법을 연결 한다. 이 방식은 어떠한 파라미터나 구 조의 변경이 필요 없다.
  • 57. Approach Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 57 • 기존 시스템은 P(output | input)을 학습하지만, 우리 의 시스템은 P(output | input, task)를 학습한다. (즉 파라미터로 task를 입력 받는 universal function을 학습한다.) • 번역 예시 : Function(“translate to French”, English text, French text) • QA 예시 : Function(“answer the question”, document, question, answer)
  • 58. Approach Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 58 • 우리는 가능한 가장 크고 다양한 도메인의 데이터를 만들어야 한다. (다양한 도메인과 태스크에서 전부 잘 하는 모델을 만들어야 하므로) • Common Crawl은 거의 무제한의 데이터이다. (스크 랩 봇들이 실시간으로 데이터를 계속 수집하고 있음) 그러나 이 데이터는 퀄리티 상에 매우 큰 문제가 있다. (쓸모 없고 낮은 퀄리티의 데이터가 너무 많음) • 몇몇 연구에서는 Common Crawl의 subset을 만들어 서 사용했다. Winograd Challenge (상호 참조 해결 챌린지) 데이터셋과 높은 similarity를 갖는 데이터만 사용해서 특정 태스크에서 좋은 성적을 거두었다. • 이러한 접근법은 특정 태스크의 성능을 개선할 수는 있지만, 우리는 이렇게 특정 태스크에 대한 가정을 하 는 것을 피하고 싶다.
  • 59. Approach Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 59 • 따라서 Common Crawl을 안 쓰고 새로운 데이터를 만 들었는데, Reddit에서 카르마(점수)를 3점 이상 받은 글에서 레퍼런스 하는 링크에 있는 글만 스크랩했음.
  • 60. Approach Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 60 • HTML에서 텍스트를 추출하고 De-duplication을 수 행하여 텍스트를 추출했음. • 여기에서 Wikipedia 데이터는 전부 제거했는데, 이는 특정 태스크들이 Wikipedia 데이터를 많이 활용하고 있기 때문. (Cheating으로 이어질 수도 있음)
  • 61. Approach Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 61 • 기존의 BPE 구현은 Byte 레벨이 아니라 Unicode 레 벨로 구현되어 있는데 이는 130,000 개 이상의 vocab 이 있어야 OOV 없이 입력을 처리할 수 있다는 것을 의미함. (그러나 130,000개는 커도 너무 크다) • 그래서 우리는 Byte 레벨로 Vocab을 구축한 뒤에 (256개) 높은 확률을 갖는 바이트들을 병합하는 방식 으로 Vocab 사이즈를 원하는 크기로 키웠다. (모든 바 이트를 포함하기 때문에 OOV가 발생하지 않음) • 또한 BPE를 수행하다 보면 Dog. Dog? Dog! 등의 토 큰들이 발생하는데, 이는 Dog의 Token representation이 원할하게 학습되는 것을 방해하기 때문에 서로 다른 문자 카테고리(word, punctuation) 등이 함께 병합되지 못하게 하였다.
  • 62. Approach Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 62 • Unicode에서는 ‘가’, ‘나‘, ‘다' 등의 문자가 모두 한 개의 문 자로서 처리되며 서로 다른 하나의 문자로 취급 됨. (모든 Unicode를 포함하려면 130,000개가 있어야 함, 한글은 예시 임. GPT2에 한글이 포함된 것은 아님!) • Byte 레벨에서 ‘가'는 3개의 바이트로 구성됨 (한글의 경우) 따라서 GPT2는 ‘가'를 3개의 바이트로 분할한 뒤에 바이트 레벨 BPE를 수행한 것. (Byte는 256개로 모든 것을 커버 가능) • 따라서 절대 OOV가 발생하지 않음.
  • 63. Approach Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 63 • small, medium, large, xlarge로 총 4가지 사이즈의 모델 을 학습 시켰으며, 구조는 GPT-1과 동일함. • Pre-LN 구조를 사용하였으며, Residual branch의 폭발을 막기 위해 Residual layer에 1/sqrt(N)의 Normalization을 적용했음. • LN과 Transformer Residual branch의 종속성에 대한 자세 한 내용은 https://github.com/kakaobrain/nlp-paper- reading/blob/master/notes/Admin.md 여기를 참고하세 요. (+ 집현전 발표 : Translation Survey vol2에서도 자세 히 설명합니다.)
  • 65. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 65 • LM tasks : 대부분에서 SoTA 기록 • 특히 상당히 어려운 태스크에 속하는 LAMBADA에서도 SoTA 기록
  • 66. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 66 • CBT 테스트에서도 SoTA를 기록하며, 인간 수준과 거리를 좁혔음.
  • 67. Introduction Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 67 • Coreference Resolution 태스크인 Winograd Challenge 태스크에서 SoTA를 기록함.
  • 68. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 68 • CoQA(대화형 QA)에서 현 SoTA의 ¾ 성능을 거둠. • 대화를 모두 연결하고, 마지막에 “A : “로 입력을 마치면, 정답을 유추하는 방식으로 Zero-shot 인 퍼런스 수행 • Context Q: question1 A: answer1 Q: question2 A: answer2 Q: question3 A: _____ → answer3 • BERT가 89점으로 SoTA를 기록 중인데 GPT2는 55점의 성적을 거두었음. 놀라운 것은 finetuning 데이터를 전혀 사용하지 않았다는 것!
  • 69. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 69 • CoQA(대화형 QA)에서 현 SoTA의 ¾ 성능을 거둠. • 대화를 모두 연결하고, 마지막에 “A : “로 입력을 마치면, 정답을 유추하는 방식으로 Zero-shot 인 퍼런스 수행 • Context Q: question1 A: answer1 Q: question2 A: answer2 Q: question3 A: _____ → answer3 • BERT가 89점으로 SoTA를 기록 중인데 GPT2는 55점의 성적을 거두었음. 놀라운 것은 finetuning 데이터를 전혀 사용하지 않았다는 것!
  • 70. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 70 • Summarization에서 꽤 우수한 성적을 거둠. • 마찬가지로 몇 개의 example을 보여주는 방식으로 인퍼런스를 수행했음. 이는 GPT-3의 few-shot 세 팅과 100% 동일함. • context1 TL;DR; summary1 context2 TL;DR; ____ → summary2 • 특히 TL;DR;을 붙이면 성능이 향상되었음. (이 때 부터 프롬프트 엔지니어링을 시도 한 것으로 보임.)
  • 71. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 71 • En → Fr Translation 태스크에서 BLEU score 5점, Fr → En 태스크에서 BLEU score 11.5점을 획득했음. • 굉장히 낮은 점수이긴 한데, 신기한 건 단일언어 모델인 GPT2가 번역을 수행한 것. (…??? 어케 했누) • 데이터셋을 찾아보니, “English sentence = French sentence”와 같이 구성된 데이터가 10MB 정도 있었음. 이는 현재 사용하는 unsupervised translation 데이터 보다 500배 정도 적은 양임. • 요약과 마찬가지로 few-shot example을 함께 넣어서 인퍼런스를 수행했음.
  • 72. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 72 • Open Domain Question Answering에서 4.1%의 정확도 기록. • 현 SoTA인 30 ~ 50%보다 확연히 낮은 정확도지만, GPT2는 Context를 아예 안 보고 질문만 주어졌을 때 대답한 것임.
  • 73. Experiments Language Models are Unsupervised Multitask Learner (Radford et al, 2019) 73 Generalization vs Memorization 현재 학습시킨 데이터셋의 LM 데이터셋들의 8-gram overlap이 굉장히 낮기 때문에, 이를 단순 Memorization이라고만 볼 수 는 없다. (개인적으로 잘 이해가 안감… 굳이 8-gram?)
  • 74. 74 • GPT2의 사이즈를 10배나 키웠더니 못하던 태스크들도 대부분 잘 된다? • (본격 파인튜닝 없이 SoTA 부수는 모델) • 특히 few-shot example과 language description을 잘 활용하면 더욱 좋다. • GPT2의 공룡버전. GPT-3