a._muj
2023. 7. 5. 00:18
728x90
반응형
1. Intro
- Text의 unlabeled된 데이터는 풍부함
- 반면에 labeled된 데이터는 풍부하지 않고 빈약함
- 따라서 model이 적절한 작업을 수행하기 쉽지 않는다는 문제점 발생
- 그래서 나온 아이디어가 unsupervised한 데이터를 먼저 학습시키고, label값이 있는 데이터로 재학습시키는 방식이 나오게 됨.
3. Unsupervised pre-training

- label값이 없는 unsupervised data를 input으로 넣음
- word embedding 진행하고 positional encoding 해줌
- decoder의 masked self-attention 부분을 따온 12개의 층을 거침
- 거치고 나온 값이 바로 h1,h2…hm값.
- 이 값을 linear 함수를 거침 ⇒ WeT값을 곱함(word embedding 값의 전치 행렬) ⇒ 입출력 크기 같게 해줌
- 이후 softmax 함수를 거친 최종 output 도출
- L1(U)의 경우 단어들의 분포 파악을 위해서 나온 식인데, softmax에서 도출된 값에 log를 씌운 후 합한 값이 바로 L1(U).
- 이 과정이 바로 pre-training
4. Supervised fine-tuning
5. L3(C)
6. Task Specific Input Transformation

- Classification : 분류하고자 하는 문장을 GPT-1에 그냥 통과시킨다. 그리고 얻은 마지막 토큰(<\s> 토큰이 생성될 위치)의 output을 classification layer에 실었다고 한다.
- Entailment : <s>Premise$Hypothesis<\s>의 형태로 입력하고, 마지막 토큰의 output을 linear layer에 실었다.
- Similarity : Entailment와 다르게 비교하고자 하는 두 문장이 어떤 순서로 입력되어야 하는지에 대한 규칙이 존재하지 않는다. 그러므로 각 문장의 순서를 바꿔서 두 번 실고, 두 개의 마지막 토큰 output을 element-wise sum하여 linear layer에 실었다.
- Multiple Choice : Context를 먼저 넣고 각 후보 Answer를 뒤에 넣어 얻은 마지막 토큰의 output을 linear와 softmax layer에 순차적으로 실었다.
⇒ 여기서 마지막 토큰 output을 사용해서 classification을 수행하는 이유는 decoder의 경우, 앞에서 뒤로만 정보가 흐르게 됨. 즉, 문장의 모든 토큰의 정보는 맨 마지막 토큰의 정보만이 갖고 있음. 그렇기에 마지막 output 토큰을 이용해서 classification 진행
7. 장점
- 모델 구조의 변형이 없음⇒ 기존의 사전학습 모델들은 finetuning 시에 모델 구조를 변형해야 하는 문제점이 존재했었음. 하지만 GPT의 경우 모델 구조를 전혀 건들지 않아 재학습이 매우 용이함.
- 추가되는 파라미터 수가 매우 적음⇒ 마찬가지로 모델 구조를 변형하지 않기 때문에 파라미터 수가 적을 수 밖에.
728x90
반응형