Upstage AI Lab 2기
2024년 5월 8일 (수) Day_101
- [ ] 이론 강의 수강
- [ ] NLP Advanced (05/14 (화), 05/15 (수), 05/16 (목) 절반 )
- [ o ] Encoder Model (BERT)
- [ o ] Tokenizer 이해하기
- [ ] Decoder Model (GPT)
- [ o ] Decoder Model (GPT1) 이해하기
- [ o ] Decoder Model (GPT2,3) 이해하기
- [ ] Encoder - Decoder Model
- [ ] Encoder-Decoder Model (BART) 이해하기
- [ ] Next Encoder Model
- [ ] BERT 이후의 모델 이해하기
- [ ] 대회 안내
- [ ] 대회 소개
- [ ] 베이스라인 코드 소개
- [ ] 수강한 강의 내용 정리하기
- [ ] Encoder Model (BERT)
- [ ] Decoder Model (GPT)
- [ ] 코드 필사
- [ ] 산책
CH4. Decoder Model (GPT)
Part1. Decoder Model (GPT1) 이해하기
GPT(Generative Pre-Training)
Transformer의 decoder 구조만 활용 → 생성에 강함.
다음 단어를 생성하는 방식으로 pre-training (Causal Language Model)
단방향(Unidirectional)
GPT1 : 12 decoders + BPE + Positional Embeddings
input sequence → Masked Multi-Headed Self-Attention → Position-Wise Feed Forward Layer 반복 수
Self-Attention : encoder, [MASK] 앞 뒤 단어 반영해 예측
vs.
Masked Multi-Headed Self-Attention : [MASK] 앞 단어만 반영해 예측
Pretraining GPT
: N개의 단어로 구성된 문장 → N+1개 사전학습데이터 생성
special tokens : <sos>, <eos>
Fine-tuning GPT
input : <s> text $ text <e>
$ : delimiter
<s>, <e> : 장황한 응답 생성 방지
1. Single Sentence Classification
: <s> 문장 <e>
2. Textual Entailment
: 두 문장의 관계. <s> 전제 $ 가설 <e>
3. Similarity
: 두 문장의 유사성. <s> 문장1 $ 문장2 <e> 와 <s> 문장2 $ 문장1 <e> (가능한 모든 순서 조합)을 각각 입력 및 학습
4. Question Answering and Commonsense Reasoning
: <s> z q $ ak <e> 들을 각각 independently processed in the model, and the results are normalized with softmax
z = context document, q = a question, {ak} = a set of possible answers
참고자료 :
https://d2l.ai/chapter_computer-vision/fine-tuning.html
https://jalammar.github.io/illustrated-gpt2/
Part2. Decoder Model (GPT2,3) 이해하기
GPT2 & GPT 3 : GPT1의 일반화 향상 for 하나의 모델로 여러 task 수행
(∵ Fine-tuning도 labeled data 필요 → zero-shot 성능의 중요성 강조)
GPT1과 동일한 구조 + layers ↑ + data size ↑ + max length ↑
(Scaling Laws : Model Scale의 증가가 zero-shot 성능에 중요한 영향)
GPT2 : Language Models are Unsupervised Multitask Learners
이전 : 학습하지 않은 task → 성능 NG
(1) 일반화 안됨 → 데이터 분포 변화에 취약
(2) labeled data 필요하다는 제약
→ 해결책 : 일반화 성능 향상 + 모델 크기 증가
Multitask, One Model
1. 통일된 입출력 형식
|- 입력 : 지시문 + Context
|- 출력 : 정답
2. 지시문으로 task 구분
GPT 3 : Language Models are Few-Shot Learners
In-Context Learning → Few-Shot 만으로 성능 향상
이전 : pre-training + fine-tuning (데이터셋 구축 → pretrained model 학습 → gradient update → fine-tuned model)
GPT 3 부터 : pre-training. 끝. => 입력만 바꿔 하나의 모델로 여러 task 수행. 새로 학습 필요 x.
Few-Shot, One-Shot, Zero-shot
→ Zero-Shot 혹은 Few-Shot 만으로 fine-tuning과 비슷하거나 더 높은 성능을 보임
but 한계점 :
(1) 단어 반복 생성 / 일관성 저하 / 모순 발생 / 비교 작업 성능 저하
(2) 비용 문제 + 불편 : 원하는 task에 대해서만 학습하는 것이 어려움
'Upstage AI Lab 2기' 카테고리의 다른 글
Upstage AI Lab 2기 [Day102] NLP - Next Encoder Model (0) | 2024.05.09 |
---|---|
Upstage AI Lab 2기 [Day102] NLP - Encoder - Decoder Model(BART) (이론) (0) | 2024.05.09 |
Upstage AI Lab 2기 [Day100] NLP (실습) (0) | 2024.05.07 |
Upstage AI Lab 2기 [Day100] NLP - Encoder Model(BERT) (이론) (0) | 2024.05.07 |
Upstage AI Lab 2기 [Day100] NLP (0) | 2024.05.06 |