learning/MLDL

[논문 리뷰] Language Models are Unsupervised Multitask Learners (GPT-2) (2019)

silhumin9 2025. 1. 30. 03:04

논문 정보

초록

  • 자연어 처리 작업(질문 응답, 기계 번역, 독해, 요약 등)은 주로 작업별(task-specific) 데이터셋을 기반으로 지도 학습(supervised learning)을 통해 수행
  • 그러나 이 논문은 수백만 개의 웹페이지로 구성된 WebText라는 새로운 데이터셋으로 학습된 언어 모델이 명시적인 지도 학습 없이도 이러한 작업을 학습할 수 있음을 보여줌
  • 실험 결과
    • 제안된 모델(GPT-2)은 CoQA 데이터셋에서 지도 학습된 시스템의 성능과 유사한 F1 점수(55점)를 달성, 127,000+개의 작업별 데이터셋 없이 가능
    • 모델 용량의 증가가 zero-shot task transfer 및 성능 향상에 결정
    • 최대 15억(1.5B) 매개변수를 가진 GPT-2 모델은 zero-shot setting 내 8개의 언어 모델링 데이터셋 중 7개에서 최신 성능 달성, but still underfits WebTex
  • 기대 효과: 모델의 생성 결과는 문법적이고 문맥적으로 일관성을 유지하며, 이는 자연 언어 처리 시스템이 자연적으로 발생하는 시연(naturally occurring demonstrations)에서 작업을 학습할 가능성을 시사
    • cf) 자연적으로 발생하는 시연
      • 기존의 기계 학습 모델은 작업을 학습하기 위해 인위적으로 설계된 데이터셋(예: 레이블이 있는 훈련 데이터)을 필요로 함
      • 반면, 자연적으로 발생하는 시연은 인터넷, 소셜 미디어, 책, 대화 기록 등에서 사람들이 자연스럽게 생성한 텍스트 데이터를 말함

1. 서론

  • 기존의 기계 학습 시스템은 대규모 데이터셋과 지도 학습을 통해 특정 작업에서 우수한 성능을 발휘하지만, 데이터 분포(distribution)와 업무 특화(task specification) 변화에 민감하며 일반화에 한계가 있음

    • narrow experts rather than competent generalists

    • 기존 ML system: 특정 task에 대한 알맞은 행동을 설명하는 training example → 시스템이 행동을 imitate하도록 훈련 → IID(independent and identically distributed) 성능 평가

      • captioning models(이미지를 입력으로 받아 해당 이미지의 내용을 설명하는 문장을 생성하는 기계 학습 모델), reading comprehension system, image classifier에서 오류

      → 단일 도메인 데이터셋에 대한 단일 작업 훈련의 보급이 ‘일반화 부족’의 주요한 이유일 것으로 예상

  • 멀티태스크 학습(multitask learning)은 general performance를 향상시키기 좋은 프레임워크지만, 아직 초기 단계에 있음

    • 현재 ML 시스템은 일반화가 잘 되는 함수를 유도하기 위해 수백에서 수천 개의 예제 필요
    • 현재 언어모델에서 가장 좋은 성능을 나타내는 모델은 pre-training과 supervised fine-tuning의 조합을 활용
  • 이 논문에서는 zero-shot setting에서 매개변수나 아키텍처의 수정 없이도 다운스트림 작업을 수행할 수 있는 언어모델 소개

    • zero-shot setting: 사전 학습된 모델이 특정 작업에 대한 추가적인 학습(fine-tuning) 없이, 즉 새로운 작업에 대한 데이터나 레이블을 제공받지 않은 상태에서 바로 해당 작업을 수행하는 환경
    • downstream task: 이미 학습된 모델(예: 사전 학습된 언어 모델)을 활용하여 특정 애플리케이션이나 문제를 해결하는 구체적이고 응용 중심의 작업
  • 시키고, 다양한 작업을 수행할 수 있는 범용 모델의 가능성을 탐구합니다.


2. 접근 방법

  • 핵심: 언어 모델링

  • 비지도 분포 추정으로 구성

  • 언어는 순차적 순서가 있으므로 공동 확률을 인수분해 하는 것이 일반적

    스크린샷 2025-01-26 오후 7.43.05.png

    • learning to perform single task: p(output | input)
    • general system: p(output | input, task)
  • 이 논문에서는 충분한 용량을 갖춘 언어 모델은 procurement method에 관계없이 자연어 시퀀스에서 작업을 추론하고 수행하는 방법을 학습하여 작업을 더 잘 예측할 것으로 추측 ⇒ unsupervised multitask learning 수행

2.1. 훈련 데이터셋

  • 기존에는 single domain 텍스트로 언어모델을 훈련시키는 경우가 대부분이었음 ex) 뉴스 기사
  • 이 논문에서는 가능한 크고 다양한 데이터셋을 구축하기 위해 노력 → Common Crawl 같은 web scrapping이 적합, but data quality issue 있음
  • Trinh & Le(2018)
    • Common Crawl에서 대부분의 콘텐츠는 ‘이해할 수 없었음(unintelligible)’
    • 대상 dataset과 가장 유사한 문서만 포함된 Common Crawl의 subsample을 사용했을 때 결과가 가장 좋았음
    • 그러나 , 미리 수행할 작업에 대한 가정 필요
  • 이 논문에서는
    • 문서 품질을 강조하는 새로운 web scraping 제작 → 인간이 큐레이팅, 필터링한 웹 페이지만 스크래핑
    • 소셜미디어 reddit에서 3 karma 이상을 받은 외부 링크만 사용 → ‘WebText’
      • 4500만 개 링크의 텍스트 하위 집합 포함
      • HTML 응답에서 텍스트를 추출하기 위해 Dragnet (Peters &
        Lecocq, 2013)과 Newspaper content extractor 조합
      • 2017년 12월 이후의 글과 위키피디아 글은 제거
      • 총 40GB의 텍스트에 대해 약 800만 개가 넘는 문서 포함

2.2. 입력 표현

  • 입력 표현: Byte Pair Encoding(BPE)을 활용

    • 문자 수준 ~ 단어 수준 언어 모델링의 중간 지점

    • 자주 사용되는 단어와 드물게 사용되는 단어를 효과적으로 처리할 수 있도록 설계

    • preprocessing, 토큰화, 어휘 크기에 상관 없이 모든 dataset에서 LM 평가 가능

    • 추가 설명

      BPE는 subword 기반의 인코딩 방법으로 문자 단위로 단어를 분해하여 Vocabulary를 생성하고, 반복을 통해 빈도수가 높은 문자 쌍을 지속적으로 Vocabulary에 추가하는 bottom-up방법이다(Greedy).

  • 모델 구조: Transformer 기반의 GPT 구조(GPT-1과 유사)

    image.png

    스크린샷 2025-01-26 오후 9.06.43.png

    • Layer normalization이 각 sub-block의 입력으로 옮겨짐
    • 추가 layer normalization이 마지막 self-attention block 이후에 추가됨
    • 모델 깊이에 따른 residual path의 누적에 관한 부분의 초기화 방법 변경
    • 하이퍼파라미터 변경: 단어 사전 크기는 50,257로 확장, 문맥 고려 범위(context size)는 512 토큰에서 1024 토큰으로 증가, 더 큰 배치 크기(batch size)인 512 사용

3. 실험

스크린샷 2025-01-26 오후 7.49.02.png

  • 실험에 사용된 네 가지 모델 크기는 로그 균등 간격(log-uniform spacing)으로 설계(117M, 345M, 762M, 1.5B 파라미터)
  • 가장 작은 모델은 기존 GPT와 동일한 크기이며, 두 번째 모델은 BERT의 가장 큰 모델과 유사한 크기
  • GPT-2는 기존 GPT보다 10배 이상 큰 매개변수를 보유
  • 학습률 최적화: 학습률은 WebText 데이터셋의 5% 검증 데이터를 기준으로 수동 튜닝(manual tuning)됨
  • 과소적합(Underfit): 모든 모델은 여전히 WebText에 대해 과소적합 상태에 있으며, 이는 더 많은 학습 시간과 데이터가 필요하다는 점을 시사
    • cf) underfitting: 모델이 너무 단순하거나 학습이 부족하여 데이터의 구조를 제대로 반영하지 못하는 상황

3.1. Language Modeling (언어 모델 성능 평가)

  • 목적: 언어 모델의 기본 작업인 다음 단어 예측(next-word prediction) 성능을 다양한 데이터셋에서 평가
    • 언어의 자연스러운 순서를 고려하여, 텍스트의 다음 단어를 예측하기 위해 조건부 확률을 사용하는 방식 채택
  • 데이터셋
    • 다양한 언어 모델링 벤치마크 데이터셋(LAMBADA, WikiText-2, Penn Treebank, enwik8 등)을 사용
    • WebText 데이터셋과는 분포가 다른 도메인의 텍스트로 실험
  • 평가 방식
    • Perplexity: 모델이 텍스트의 확률 분포를 얼마나 잘 예측하는지 측정
  • 결과
    • GPT-2는 기존의 언어 모델링 데이터셋 8개 중 7개에서 최신 성능(State-of-the-art)을 달성
    • 특히 소규모 데이터셋(Penn Treebank, WikiText-2)과 장기 의존성을 요구하는 데이터셋(LAMBADA, Children’s Book Test)에서 성능이 크게 개선
    • 그러나 One Billion Word Benchmark(1BW)에서는 기존 성능을 넘지 못했는데, 이는 해당 데이터셋의 전처리(문장 순서 무작위화)가 장기 의존성 학습에 부정적인 영향을 미쳤기 때문*

NLP Task 평가

3.2. Children’s Book Test (CBT)

  • 목적: 문맥에서 특정 단어 유형(명사, 고유명사 등)을 예측하는 능력을 평가
  • 방법
    • 각 문장에서 특정 단어를 빈칸으로 만들어, 모델이 그 빈칸에 들어갈 단어를 선택하도록 함
    • 모델은 10개의 후보 단어 중 하나를 선택
    • 확률 계산을 통해 가장 가능성이 높은 단어를 예측
  • 평가 대상 단어
    • 고유명사, 일반 명사, 동사, 전치사 등
  • 결과
    • GPT-2는 명사(93.3%)와 고유명사(89.1%)에서 새로운 최고 성능을 기록
    • 모델 크기가 증가함에 따라 성능이 꾸준히 개선됨

3.3. LAMBADA

  • 목적: 긴 문맥에서 마지막 단어를 예측하는 능력을 평가
  • 방법:
    • 각 문장에서 최소 50개의 토큰이 제공된 상태에서, 마지막 단어를 예측하도록 설정
    • 문맥 이해 및 긴 의존 관계(long-range dependency)를 처리하는 모델의 능력을 테스트
  • 결과
    • GPT-2는 기존 최고 성능(19% 정확도)을 63.24%로 대폭 개선
    • 퍼플렉서티(perplexity)도 기존 모델 대비 크게 감소(99.8 → 8.6)
    • 단어가 문맥의 마지막 단어임을 활용하지 못하는 점이 발견되었으며, 이를 보완하면 추가 개선 가능

3.4. Winograd Schema Challenge

  • 목적: 텍스트의 상식적 추론과 문맥에서의 모호성 해소 능력을 평가
  • 방법:
    • 모호한 지시어(대명사)를 포함한 문장이 제공되며, 모델이 지시어의 참조 대상을 예측
    • ex) "The trophy didn't fit in the suitcase because it was too large."에서 "it"이 "trophy"인지 "suitcase"인지 추론
  • 평가 방식:
    • 정확도(Accuracy)로 성능 측정
  • 결과
    • GPT-2는 정확도 70.70%를 기록하며 기존 최고 성능 대비 7% 향상
    • 데이터셋이 매우 작음(273개의 예제)에도 불구하고, 모델 용량 증대가 성능에 긍정적인 영향을 미침

3.5. Reading Comprehension (독해 능력)

  • CoQA 데이터셋 사용:
    • 모델이 문서와 대화 이력을 기반으로 질문에 답변을 생성하는 능력을 평가
  • 방법:
    • 모델은 문서와 질문 이력을 포함한 프롬프트를 제공받은 후, A:로 시작하는 답변을 생성
    • 대화형 질문-응답이므로 질문 간 문맥(history)의 연결을 이해해야 함
  • 결과
    • GPT-2는 F1 점수 55점을 기록하여, 지도 학습 기반의 일부 모델을 능가
    • 단순 검색 기반 답변(문서에서 이름 추출 등) 패턴이 일부 발견됨

3.6. Summarization (요약)

  • CNN/Daily Mail 데이터셋 사용:
    • 뉴스 기사 텍스트를 요약하는 작업
  • 방법:
    • 기사 뒤에 "TL;DR:" 프롬프트를 추가하고, 모델이 해당 프롬프트에 따라 요약을 생성하도록 설정
    • 생성된 요약 중 상위 3문장을 평가 대상으로 사용
  • 결과
    • GPT-2는 기존 신경망 기반 모델에는 미치지 못했으나*, 일부 단순 베이스라인보다 높은 성능을 보임
    • 생성된 요약은 대체로 품질이 높지만, 세부적인 정보(숫자 등)를 혼동하는 경향이 있음

3.7. Translation (번역)

  • WMT-14 데이터셋 사용:
    • 영어 ↔ 프랑스어 번역 작업 평가.
  • 방법:
    • 예제 번역 쌍(e.g., "English sentence = French sentence")을 문맥으로 제공하여, 모델이 번역 작업을 인식하도록 함
    • 주어진 문장에서 다음 번역 문장을 예측
  • 결과
    • 영어 → 프랑스어: BLEU 점수 5
    • 프랑스어 → 영어: BLEU 점수 11.5로 기존 비지도 학습 기반 번역 시스템 일부를 능가*
    • WebText에서 비영어 데이터를 제외했음에도 일부 번역 작업에서 좋은 성능을 보임

3.8. Question Answering (질의 응답)

  • Natural Questions 데이터셋 사용
    • 사실 기반 질문-응답 정확도 평가
  • 방법
    • 모델은 질문과 함께 예제 질문-답변 쌍을 제공받아 질문의 스타일을 학습
    • 질문에 대한 직접적인 응답을 생성하도록 설정
  • 결과
    • GPT-2는 4.1% 정확도를 기록하며, 베이스라인 모델(1.0%) 대비 크게 개선
    • 상위 1%의 자신 있는 답변에서는 정확도가 63.1%에 달함
    • 여전히 지도 학습 기반 시스템(30~50%)보다는 낮은 성능*

스크린샷 2025-01-26 오후 9.59.30.png


4. Generalization and Memorization

  • 모델 성능이 데이터셋의 중복된 텍스트에 의해 과대평가되지 않았는지 검증하기 위해 Bloom 필터를 사용한 분석을 수행
  • 결과적으로 일부 데이터셋에서 중복이 확인되었으나, 이는 성능에 미치는 영향이 미미했음

4.1. 배경

  • 기계 학습 모델이 대규모 데이터셋에서 학습할 경우, 일부 데이터를 단순히 암기해 모델의 일반화 능력이 과대평가될 가능성이 있음
  • 따라서 학습 데이터(WebText)와 평가 데이터셋 사이의 중복 여부를 분석해, 모델의 성능이 일반화의 결과인지 또는 단순 암기의 결과인지를 검증

4.2. n-그램 중복 분석

  • 분석 방법
    • 학습 데이터(WebText)의 8-그램을 기준으로 평가 데이터와 중복된 텍스트를 분석
    • Bloom Filter를 활용해 학습 데이터와 평가 데이터 간의 중복률을 계산했으며, 문자열을 소문자로 변환하고 불필요한 기호를 제거해 정규화했음
  • 결과:
    • 언어 모델링 벤치마크 데이터셋의 테스트 세트에서 WebText와의 평균 8-그램 중복률은 3.2%로 나타남
    • 일부 데이터셋(예: WikiText-103)은 자체 테스트 세트와 학습 데이터 간 중복률이 5.9%에 달함
    • WebText가 학습 데이터로 사용되지 않은 평가 데이터셋에서도 일반화 능력을 유지하고 있음을 보여줌

4.3. 데이터셋별 중복률

  • 데이터셋마다 WebText와의 중복률이 상이했으며, 중복 데이터가 포함된 경우 약간의 성능 향상이 있었음
    • Winograd Schema Challenge: 273개의 예제 중 10개가 WebText와 중복되었으나, 대부분 정답에 영향을 주지 않았음
    • CoQA
      • 뉴스 도메인의 15%는 WebText와 중복되었고, 약 3 F1 성능 향상이 있었음.
      • 그러나 전체 데이터셋에서 중복된 질문이나 답변은 없었음
    • LAMBADA
      • 평균 중복률은 1.2%였으며, 중복된 예제에서 모델 성능이 약간 향상됨(퍼플렉서티 8.6 → 8.7)
    • cf) perplexity: 언어 모델의 성능을 평가하는 지표 중 하나로, 모델이 얼마나 ‘혼란스럽지 않고’ 주어진 문장에서 다음 단어를 얼마나 잘 예측하는지를 나타냄

4.4. 일반화 평가

  • 학습 데이터와 테스트 데이터에서의 성능 비교
    • WebText 학습 데이터와 자체 테스트 데이터에서 모델의 퍼플렉서티를 비교한 결과, 훈련 데이터와 테스트 데이터에서 유사한 성능을 보였음
    • 이를 통해 모델이 데이터를 단순히 암기하기보다는 일반화된 학습을 수행하고 있다는 점을 확인했음

4.5. 기억화의 사례

  • 일부 유명 텍스트(예: 게티스버그 연설)는 학습 데이터에서 반복적으로 등장해, 모델이 이를 암기하는 경향을 보였음
  • 예를 들어, 게티스버그 연설의 첫 문장과 반 문장을 제공하면, 모델이 나머지 연설을 거의 정확하게 생성했음
  • 그러나 대부분의 경우, 100~200 토큰 이후에는 다양성이 증가하며 단순 암기를 넘어서는 텍스트를 생성했음

결론

  • 전반적으로 데이터셋 내 중복은 성능에 작은 영향을 미쳤으나, 결과적으로 일반화 능력이 더 큰 영향을 미쳤음
  • 데이터셋 생성 시 n-그램 기반 중복 제거와 같은 검증 절차가 중요함을 제안

GPT-1과 다른점

구분 GPT-1 GPT-2
모델 크기 1.1억 파라미터 최대 15억 파라미터
데이터셋 BooksCorpus WebText (약 40GB)
학습 방식 Pre-training + Fine-tuning Zero-shot 학습
아키텍처 개선 없음 Layer Norm 위치 변경, 컨텍스트 크기 증가
평가 작업 GLUE Benchmark로 작업별 성능 평가 Zero-shot 환경에서 번역, 요약, 질문 응답 등 다양한 작업
공개 여부 완전 공개 초기에는 부분적 공개