a._muj 2023. 7. 5. 00:18
728x90
반응형

 

 

 

1. Intro
  • Text의 unlabeled된 데이터는 풍부함
  • 반면에 labeled된 데이터는 풍부하지 않고 빈약함
  • 따라서 model이 적절한 작업을 수행하기 쉽지 않는다는 문제점 발생
  • 그래서 나온 아이디어가 unsupervised한 데이터를 먼저 학습시키고, label값이 있는 데이터로 재학습시키는 방식이 나오게 됨.
2. Overall architectudre
  • unsupervised pre-training + supervised fine-tuning 구조로 이루어짐
3. Unsupervised pre-training
  1. label값이 없는 unsupervised data를 input으로 넣음
  1. word embedding 진행하고 positional encoding 해줌
  1. decoder의 masked self-attention 부분을 따온 12개의 층을 거침
  1. 거치고 나온 값이 바로 h1,h2…hm값.
  1. 이 값을 linear 함수를 거침 ⇒ WeT값을 곱함(word embedding 값의 전치 행렬) ⇒ 입출력 크기 같게 해줌
  1. 이후 softmax 함수를 거친 최종 output 도출
  1. L1(U)의 경우 단어들의 분포 파악을 위해서 나온 식인데, softmax에서 도출된 값에 log를 씌운 후 합한 값이 바로 L1(U).
  1. 이 과정이 바로 pre-training
4. Supervised fine-tuning
  1. 이 친구는 데이터 label이 있는 데이터 사용( unsupervised data랑 다른 데이터셋)
  1. unsupervised pre-training을 통한 모델을 가져오고, input으로 labeled data를 넣음
  1. labeled data를 pre-training 모델을 넣어서 모델의 파라미터를 바꿔주는 것임.
  1. 이 학습된 값을 Wy와 곱해줌 ⇒ 얘는 학습시키면서 정해지는 파라미터임(마찬가지로 입출력 크기 같게 해주려고)
  1. h값과 Wy 값을 곱해준 것을 softmax 함수에 넣음
  1. L2(C) ⇒ 4번 값에 log 씌우고 다 더해준 값.
5. L3(C)
  1. L3(C)⇒ 최대우도법
  2. : data의 분포가 어떤 분포를 따르는지 찾는 것(단어들의 분포 파악)
  1. L3(C)= L2(C) + 람다 * L1(C)⇒ 이때 L1(U)값과 L1(C)는 같은 값임.
  2. 람다의 경우, 우리가 정하는 파라미터값.
6. Task Specific Input Transformation
  1. Classification : 분류하고자 하는 문장을 GPT-1에 그냥 통과시킨다. 그리고 얻은 마지막 토큰(<\s> 토큰이 생성될 위치)의 output을 classification layer에 실었다고 한다.
  1. Entailment : <s>Premise$Hypothesis<\s>의 형태로 입력하고, 마지막 토큰의 output을 linear layer에 실었다.
  1. Similarity : Entailment와 다르게 비교하고자 하는 두 문장이 어떤 순서로 입력되어야 하는지에 대한 규칙이 존재하지 않는다. 그러므로 각 문장의 순서를 바꿔서 두 번 실고, 두 개의 마지막 토큰 output을 element-wise sum하여 linear layer에 실었다.
  1. Multiple Choice : Context를 먼저 넣고 각 후보 Answer를 뒤에 넣어 얻은 마지막 토큰의 output을 linear와 softmax layer에 순차적으로 실었다.

⇒ 여기서 마지막 토큰 output을 사용해서 classification을 수행하는 이유는 decoder의 경우, 앞에서 뒤로만 정보가 흐르게 됨. 즉, 문장의 모든 토큰의 정보는 맨 마지막 토큰의 정보만이 갖고 있음. 그렇기에 마지막 output 토큰을 이용해서 classification 진행

7. 장점
  1. 모델 구조의 변형이 없음⇒ 기존의 사전학습 모델들은 finetuning 시에 모델 구조를 변형해야 하는 문제점이 존재했었음. 하지만 GPT의 경우 모델 구조를 전혀 건들지 않아 재학습이 매우 용이함.
  1. 추가되는 파라미터 수가 매우 적음⇒ 마찬가지로 모델 구조를 변형하지 않기 때문에 파라미터 수가 적을 수 밖에.

 

728x90
반응형