민듀키티

[논문리뷰] GPT3 - Language Models are Few-shot Learners 본문

카테고리 없음

[논문리뷰] GPT3 - Language Models are Few-shot Learners

민듀키티 2025. 9. 25. 23:56

 

1. GPT History

  • GPT-1
    • Supervised learning (정답이 있는 데이터로부터 학습)
    • Unsupervised learning (패턴을 찾아서 학습)
    • label이 없는 큰 텍스트 데이터에 대해 언어 모델 학습 -> 모델이 언어의 일반적인 패턴을 배우도록 함 
    • 트랜스포머 구조를 사용 -> Task에 따라서 입력의 구조가 달라짐 
    • training dataset -> BookCorpus 
    • Zero-shot으로 바로 적용할 수 있는 범용적인 모델을 만드는 것이 목표
      • 언어모델을 잘 학습하여 Fine-tuning을 하지 말자 
      • 일반화가 잘 된 모델을 학습하자 
    • Zero-shot vs One-shot vs Few-shot
      • Zero-shot : 사전 학습된 모델이 단 하나의 예시도 보지 않고, 전혀 새로운 Task를 수행하는 능력
        • downstream task data를 전혀 사용하지 않고, 모델이 바로 downstream task를 수행
      • One-shot : 모델이 단 하나의 예시만 참고하여 새로운 Task를 수행하는 학습 방식
        • downstream task data를 1개만 사용, 모델은 1건의 데이터가 어떻게 수행되는지 참고한 뒤 downstram task 적용
      • Few-shot : 모델이 소수의 예시 (보통 2~100개)를 참고하여 새로운 작업을 수행하는 학습 방식
        • downstram task data를 몇 건만 사용, 모델은 몇 건의 데이터가 어떻게 수행되는지 참고한 뒤 downstram task 적용
      • 모델의 구조는 GPT-1과 거의 비슷 -> Layer Normalization 위치만 다름 
      • 일반화된 모델 학습을 위해 다양한 주제에 대해 학습 (GPT-1보다 더 많은 데이터 사용)
      • training dataset -> WebTest, 크롤링
    • GPT-3 
      • Fine-tuning을 없애보자는 관점이 핵심  -> 그러나 작업에서 강력한 성능을 달성하기 위해서는 수천에서 수십만 개에 이르는 작업별 데이터셋으로 fine-tuning이 필요
        • pretraining + Task specific Prompting만으로 해결
        • Prompt : 사용자가 입력하는 입력값 
      • Meta-Learing : 패턴 차이와 문맥을 파악할 수 있도록 학습하여 원하는 Task에 적용을 빠르게 할 수 있도록 하는 것 
        • 학습하는 법을 학습한다고 생각하면 쉬움
        • 단순히 특정 task을 잘하는 것이 아니라 새로운 작업을 빠르게 학습할 수 있는 능력을 기르는 것
        • Meta-learing을 통해 In-Context Learing을 잘 수행할 수 있음
      • In-Context Learing : 모델이 새로운 데이터나 추가적인 학습 없이 주어진 prompt내 context를 기반으로 학습하고 예측하는 것
      • training dataset -> Common Crawl, 웹에서 긁어온 데이터 
      • 인터넷에서 가져온 데이터는 train, val, test set가 겹치는 데이터 오염 문제 발생 
    • GPT 1,2,3 모델 구조는 크게 차이가 없으나, 달라진 것은 데이터셋의 크기와 모델의 크기 
      (=파라미터의 갯수)
    • 더 큰 모델일 수록, 배치 사이즈는 크게, 학습률은 작게 설정 -> 큰 모델 학습에는 메모리 부족