본문 바로가기
NLP/논문리뷰

[논문 Review] 05. (GPT-2) Language Models are Unsupervised Multitask Learners

by ㅣlㅣl 2023. 12. 6.
학습시킨 범용적 사전학습 모델의 성능을 보다 높여보자!


Abstract

QA, 기계 번역, 독해, 요약과 같은 자연어 처리 작업은 일반적으로 task-specific 데이터셋을 통한 지도학습으로 접근한다.

본 논문에서는 언어 모델이 WebText (몇백만 개의 웹페이지로 구성된 데이터) 를 학습할 때 명시적인 지도학습 없이도 이러한 작업을 학습하기 시작했다는 사실을 입증했다. 또한 (Document + Questions) pair를 기반으로 답변을 생성하는 태스크 (CoQA 데이터셋) 에서 55 F1 score에 도달해서 127,000개 이상의 sample을 사용하지 않고도 Baseline system 4개 중 3개의 성능과 일치하거나 이를 능가하는 성능을 보였다.

언어 모델의 용량은 zero-shot task transfer의 성공에 중요한 영향을 미치는 요소이며, 이를 늘리는 것이 작업 전반에서 로그 선형적으로 성능을 향상시킨다. 실험한 모델 중  가장 큰 모델 GPT-2는 1.5B 파라미터를 가진 Transformer 기반 모델로 총 8개의 태스크 중 7개의 태스크에서 SOTA를 달성했지만 여전히 WebText data에서는 underfitting한다. 

모델의 샘플은 이러한 개선 사항을 반영했고, 언어 처리 시스템을 구축하는 과정에서 유망한 경로를 제시한다.

 

1. Introduction

현재의 ML system은 큰 데이터셋 + 대용량 모델 + 지도학습으로 좋은 성과를 거두었다.

그러나 지난번 GPT-1 논문에서도 언급하였듯, specific task에만 적용이 가능하며 데이터 분포의 약간의 변화에도 민감하게 반응하기에 범용적 용도보다는 특정 분야에서 우수한 성능을 보이는 데 사용된다.

본 논문에서는 하나의 태스크에 국한되지 않는 범용적 시스템 구축을 목표로 하고, 더 나아가 unlabeled dataset으로도 학습이 가능하도록 만드려 한다.

 

 Existing ML system & Previous Study

ML system 구축에 있어 주요한 접근법은 다음과 같다.

  1. 원하는 태스크에 대한 labeled data를 수집한다.
  2. 지도학습을 통해 시스템이 동작을 모방하도록 학습시킨다.
  3. IID 예시로 성능을 테스트해본다.

 

IID가 뭔데?

더보기

IID (independent and identically distribution)

= 독립항등분포

  • [독립] 각각 일어날 사건이 다른 사건에 영향을 주지 않는다
  • [항등분포] 사건들이 동일한 확률분포를 가진다

예를 들어 6면체 주사위 굴리기는 처음 시행에서 어떤 숫자 눈금이 나오든 다음 시행에 영향을 주지 않고, 모든 눈금이 나올 확률이 1/6 이라는 값을 가지므로 iid라고 볼 수 있다.

그러나 주사위 1개와 동전 1개를 던지면 독립적이긴 하지만 동일한 분포가 아니므로 iid가 아니다.[각주:1]


그렇다면 왜 IID가 머신러닝에서 중요하게 쓰일까?

위에서 IID의 정의에 따르면, 데이터를 구성하는 각 데이터포인트가 IID라고 가정했을 때 훈련 데이터가 동일한 기본 분포에서 독립적으로 무작위로 샘플링된다는 가정을 나타낸다.

IID 가정이 충족될 경우 다음과 같은 이점을 가진다.[각주:2]

  • 더 효과적이고 정확한 예측이 가능

binary image를 놓고, n개의 binary pixels를 각각 \(x_1, ... x_n\) 으로 가정하면 경우의 수는 \(2^n\), 파라미터는 \(2^n-1\)이 된다.

그러나 이 때 데이터가 IID라고 가정한다면 어떻게 될까?

경우의 수는 \(2^n\)으로 동일하지만, 파라미터는 n개가 된다.

그 이유는 각 파라미터들이 독립적이라고 가정하고 있기 때문에 각각의 픽셀에 대해 1개의 파라미터 (0 or 1) 만 존재하면 되기 때문이다. 

 

  • 정규화 및 과적합

IID 가정은 과적합 문제와도 밀접하게 연결도어 있는데, 데이터가 IID 가정을 위반하는 경우 모델은 훈련 데이터에 존재하는 특정 패턴을 기억하거나 과대적합하는 경향이 있어 보이지 않는 데이터에 대해 잘 일반화하지 못할 수 있다.

 

  • 통계적 추론 및 가설 테스트

IID 가정은 기계 학습 내의 통계적 추론 및 가설 테스트에 매우 중요한데, t-검정이나 카이제곱 검정과 같은 통계 검정에서는 데이터 요소가 IID가정을 충족한다고 보기에 IID 가정을 위반하면 p-값이 정확하지 않게 되어 통계적 추론 및 가설 테스트 결과의 유효성에 영향을 미칠 수 있다.

 

 

이 방법은 "task-specific 한 모델"을 만드는 것에는 효과적이었으나 다양하고 많은 입력이 들어오는 태스크를 수행한 선행연구들에서 불규칙한 성능을 보여 전통적인 접근 방식의 한계점을 드러냈다.

현재 ML system에서 나타나는 범용성 부족은 단일 도메인 데이터셋에서 단일 작업을 훈련하는 기존 방식으로부터 기인한다. 이를 개선하기 위해서는 광범위한 도메인, 태스크에 대한 훈련 및 성능 측정이 필요하다.

멀티태스크 학습은 일반화 성능을 높이기 위한 유망한 프레임워크이나 NLP에서는 아직 초기 단계이고, 현재 ML system에서는 잘 일반화되는 함수를 유도하기 위해 수백~수천개의 training sample을 필요로 한다. 이는 멀티태스킹 훈련이 현재의 접근 방식으로는 그 가능성을 실현하기 위해 그만큼 많은 양의 효과적인 sample을 필요로 한다는 것을 의미한다.

위의 한계점을 극복하고자 멀티태스크 학습 수행을 위한 추가적인 setup을 탐색하였다.

현재 언어 관련 태스크에서 가장 뛰어난 성능을 보이는 것은 (Unsupervised) pre-training + (Supervised) fine-tuning이다.

  1. Word vector를 학습해 task-specific architectures의 input으로 활용
  2. RNN의 문맥적 표현을 전이학습

최근 연구에서는 task-specific architectures를 더 이상 필요로 하지 않고 많은 self-attention block을 전이학습 시키는 것으로 성능을 개선시켰다.

그러나 이러한 방법들도 태스크를 수행하기 위해서 여전히 지도학습을 필요로 한다.

 

labeled data가 거의 혹은 아예 없는 경우에 특정 태스크( commonsense reasoning, sentiment analysis ) 를 수행할 수 있는 언어 모델의 가능성을 입증한 다른 연구도 존재한다.

 

본 연구에서는 위 두 가지 갈래의 연구를 연결하고 전이학습의 일반화에 대한 추세를 이어나가도록 한다.

 

 

2. Approach

이번 접근 방법의 핵심은 바로  언어 모델링이다.

언어 모델링은 일반적으로 가변 길이의 symbol sequence \(s_1, s_2 … , s_n\) 로 구성된 sample set \(x_1, x_2, …, x_n\) 으로부터 비지도 분포 추정을 하는 방식으로 이루어진다.

언어는 자연적으로 순서가 있는 symbol로 구성되어 있기 때문에 symbol에 대한 joint probabilities를 다음과 같이 conditional probability의 곱으로 분해하여 표현한다.

symbol에 대한 conditional probability의 곱

이 접근법을 사용하면  p(x) 뿐만 아니라 모든 조건부확률 \(p(s_{n-k}, …, s_n | s_1, … s_{n-k-1|)\) 로부터 추적 가능한 샘플링 및 추정 (tractable sampling & estimation) 이 가능하다.

최근에는 이러한 조건부 확률들을 계산 가능하고 모델의 표현력을 크게 향상시킨 Transformer와 같은 모델이 발표되었다.

하나의 태스크를 수행하는 학습은 확률론적 관점에서 조건부 분포 \(p(output | input)\)를 추정하는 것으로 표현할 수 있다.

그러나 범용적 모델을 만들기 위해서는 여러 태스크를 수행하고 좋은 성능을 낼 수 있어야 하므로 같은 입력이 주어지더라도 출력이 입력에만 의존하는 것이 아니라 수행하고자 하는 태스크에 따라서 유동적으로 바뀔 수 있어야 한다.

따라서 식을 수정하면,  \(p(output | input)\) 이 아닌  \(p(output | input, task)\)를 모델링하는 것이라고 볼 수 있겠다.

Task conditioning은 대부분아키텍처 레벨에서 구현되며, task specific encoder-decoder를 구현한 경우와 알고리즘 레벨 (inner outer loop optimization framework of MAML) 에서 쓰인 경우가 존재한다.

하지만 언어는 특정 태스크, 입력, 출력을 모두 symbol sequence로 보일 수 있는 유연한 방법이 존재한다.

예를 들어 translation task는 다음과 같은 시퀀스로 쓰일 수 있다.

(translate to french, english text, french text)

마찬가지로 reading comprehension 은 다음과 같은 시퀀스로 쓰일 수 있다.

(answer the question, document, question, answer)

 

선행연구[각주:3]에서는 MQAN이라는 단일 모델을 학습해 다양한 태스크에서 다음과 같은 포맷으로 작동하는 것이 가능하다는 것을 보여줬다.

언어 모델링은 원칙적으로 어떤 기호가 예측할 출력인지 명시적으로 감독할 필요 없이 선행연구와 같은 과제를 학습할 수 있다. 지도학습 목표가 비지도 학습 목표와 동일하지만 일부 시퀀스에서만 평가되므로 비지도 학습 목표의 전역 최소값은 지도 학습 목표의 전역 최소값과도 동일하기 때문이다.

이 가정하에서는 이전 연구[각주:4] 에서 논의되었던 밀도 추정의 원칙적 학습목표에 대한 우려를 피할 수 있다.

밀도 추정의 원칙적 학습 목표에 대한 우려?

더보기

원본 논문 [각주:5] 의 Abstract에서 발췌한 내용은 다음과 같다.

 

General unsupervised learning is a long-standing conceptual problem in machine learning. Supervised learning is successful because it can be solved by the minimization of the training error cost function. Unsupervised learning is not as successful, because the unsupervised objective may be unrelated to the supervised task of interest. For an example, density modelling and reconstruction have often been used for unsupervised learning, but they did not produced the sought-after performance gains, because they have no knowledge of the supervised tasks.

일반적인 비지도 학습은 기계 학습에서 오랜 기간 동안의 개념적 문제입니다. 지도 학습이 성공적인 이유는 훈련 오차 비용 함수의 최소화로 해결할 수 있기 때문입니다. 그러나 비지도 학습은 이와 달리, 비지도 목표가 지도 학습과 관련이 없을 수 있기 때문에 성공적이지 않습니다. 밀도 모델링과 재구성은 종종 비지도 학습에 사용되었지만, 이들은 지도 학습 작업의 지식이 없어 원하는 성능 향상을 이루지 못했습니다.


본문에서 언어 모델링에서는 비지도 학습 목표의 전역 최소값은 지도 학습 목표의 전역 최소값과도 동일하기 때문에 밀도 모델링이 성능 향상을 이루지 못한다는 선행 연구의 우려를 극복할 수 있다고 주장한다.

 

문제는 실제로 비지도 목표가 optimal point에 수렴 가능한지 여부이다.

예비 실험 진행 결과, 충분히 큰 LM도 위와 같은 가정 하에 멀티태스크 학습을 수행할 수 있으나 지도 학습 방식에 비해서 학습속도가 훨씬 느리다는 것이 확인되었다.

다른 연구에서는 대화라는 맥락에서 자연어로부터 직접 학습할 수 있는 시스템을 개발할 필요성을 주장하고 교사 모델의 출력에 대한 전방 예측 (forward prediction) 을 사용해 보상 신호 없이 QA 작업을 학습하는 개념 증명을 시연했으나 "대화"라는 방식이 지나치게 제한적이라는 한계점이 있다.

인터넷에는 대화형 커뮤니케이션 없이도 이용할 수 있는 방대한 양의 정보가 존재하고, 충분한 용량의 LM이 이것을 학습할 수만 있다면 훨씬 나은 비지도 멀티태스크 학습을 수행할 수 있을 것이다.

앞으로의 실험에서는 zero-shot 환경에서 LM의 성능을 분석해 이러한 학습을 실제로 수행하고 있는지 여부를 테스트할 것이다.

 

2.1 Training Dataset

대부분의 선행 연구들은 뉴스 기사, 위키피디아, 픽션 책 같은 단일 도메인에서 언어 모델을 학습시켰지만 이번 실험에서는 여러 도메인에서의 문맥을 유추하는 능력을 볼 수 있도록 가능한 크고 다양한 도메인을 가진 데이터셋을 활용하였다.

Common Crawl은 다양한 무제한의 텍스트를 얻을 수 있는 웹 스크랩으로, 현존하는 LM dataset보다 몇 배는 더 크지만 데이터 품질에 문제가 존재한다. 선행 연구[각주:6]에서 commonsense reasoning 태스크에 해당 데이터셋을 사용했으나 많은 양의 데이터가 이해 불가능한 컨텐츠를 담고 있다고 밝혔고, 본 논문에서도 초기 실험에서 비슷한 데이터 이슈를 발견했다.

선행 연구에서 가장 좋은 성과를 거둔 방법은 Common Crawl에서 target dataset (Winograd schema challenge) 과 가장 유사한 문서들만 포함한 작은 규모의 부분 집합을 활용한 것이다. 이는 특정 태스크에서 정확도를 올리기 위해 실용적인 방법이지만, 범용적 모델 학습을 위해서는 태스크에 대해 미리 가정하는 것을 피해야 하므로 이 방법은 쓸 수 없다.

위 방법을 대신하여, 문서 품질에 중점을 둔 새로운 웹 스크랩을 생성했다.

문서 품질을 위해 사람에 의해 curated/filtered 된 웹페이지만 사용했는데, 수동으로 전체 웹 스크랩을 필터링하는 것은 매우 비용이 많이 들기 때문에 우선 소셜 미디어 플랫폼인 Reddit에서 최소 3 karma 이상 받은 모든 아웃바운드 링크를 스크랩했다. (이것은 다른 사용자가 링크를 흥미롭게, 교육적으로, 또는 그저 재미있게 생각하는지에 대한 경험적 지표로 생각할 수 있다) 결과적으로 검수를 거친 데이터셋 WebText에는 4500만개의 링크의 텍스트 하위집합이 포함되어 있다.

이번 실험에 쓰인 것은 17년 12월 이전에 생성된 링크만 포함하고 있으며 중복 제거, 휴리스틱 기반 클리닝을 거쳐 800만개의 문서로 만들었고 총 텍스트 크기는 40GB이다. 또한 WebText에서 모든 위키피디아 문서를 지웠는데 이는 다른 데이터셋에서도 흔히 쓰이는 데이터소스이며 test 평가 태스크를 오버래핑할 수 있기 때문이다.

 

2.2 Input Representation

범용적 LM은 어떠한 문장의 확률도 계산하고 생성할 수 있어야 한다. 현재 큰 규모의 LM은 소문자 변환, 토큰화, oov 토큰  과 같은 preprocessing 단계를 거쳐 모델링 가능한 문자열을 제한한다. 

유니코드 문자열을 UTF-8 바이트 시퀀스로 처리하면 이 요구 사항을 충족할 수 있으나, 현재 바이트 수준 LM은 One Billion Word Benchmark와 같은 대규모 데이터 세트의 단어 수준 LM에 비해 경쟁력이 없다.

WebText data를 통해 byte-level LM을 학습했을 때도 비슷한 성능 차이를 관찰할 수 있었다.

 

BPE (Byte-Pair Encoding)

바이트 쌍 인코딩(BPE)[각주:7]문자와 단어 수준 사이의 실용적인 중간 지점 언어 모델링으로, 빈번한 기호 시퀀스에 대한 단어 수준 입력과 빈번하지 않은 기호 시퀀스에 대한 문자 수준 입력 사이를 효과적으로 보간할 수 있다.

 

BPE의 동작 과정?

더보기

BPE가 어휘를 구축하는 과정은 다음과 같다.[각주:8]

 

  1. 말뭉치의 모든 문장을 공백으로 나눈 후 토큰과 빈도를 세어서 어휘 집합을 만든다 (pre-tokenize)
  2. 각 토큰을 캐릭터 단위로 나누고, bi-gram 쌍이 같은 것끼리 그 빈도를 합쳐준다.
  3. 가장 많이 등장한 bi-gram 쌍을 어휘 집합에 추가한다
  4. 사용자가 사전에 정의한 어휘 집합 크기를 달성할 때까지 2-3 과정을 반복한다.

 

그러나 이름에도 불구하고 BPE는 종종 byte sequence가 아닌 unicode code point에서 작동한다.

code point : 문자열을 대표하는 정수값이자 문자열에 할당된 코드값 [각주:9]

이렇게 되면 모든 유니코드 문자열을 모델링하기 위해 유니코드 심볼의 전체 공간을 포함해야 하는데, multi-symbol token이 추가되기도 전에 기본 어휘가 13만 개가 넘게 되며, 이는 BPE에서 흔히 사용되는 32,000~64,000개의 토큰 어휘와 비교하면 엄청나게 큰 규모이다.

대조적으로 byte-level의 BPE는 오직 size 256의 base vocabulary만 필요로 한다. 그렇지만 byte-sequence에 BPE를 바로 적용하면 BPE가 token vocabulary 구축을 위해 그리디 빈도 기반 휴리스틱을 사용하기 때문에 최적이 아닌 병합이 발생한다.

예를 들어, dog이라는 일반적인 단어에 대한 변형인 (dog. dog! dog?) 등이 포함되는 것이다.

이를 방지하고자 모든 bytes sequence에 대해 character-level에서 BPE가 병합되지 않도록 하고, 공백에 대한 예외를 추가해 여러 어휘토큰에 걸쳐 최소한의 wordpiece만 추가하도록 하며 압축 효율을 크게 개선시켰다.

  • word level : 성능 좋음. 전처리 과정에 따라서 생성 토큰의 제약 존재
  • byte level : 제약이 없고 base vocabulary size가 적음. 그리디로 인해 최적이 아닌 병합 발생

이러한 입력 표현으로 word level LM의 강력한 이점을 byte-level 방식의 높은 일반화 능력과 결합해 어떠한 unicode 문자열에도 확률을 할당할 수 있고, 이는 해당 접근법을 도입한 LM이 데이터셋, 전처리나 토큰화, vocab 크기에 구애받지 않고 평가를 할 수 있게 해주었다.

 

2.3 Model

이전 논문의 모델 (GPT-1) 구조를 대부분 따르는 Transformer based architecture model이다.

https://ll2ll.tistory.com/24

 

[논문 Review] 03. (GPT-1) Improving Language Understanding by Generative Pre-Training

universal-domain에 적용할 수 있도록 범용적 사전학습 모델을 구축하자 Abstract NLU는 매우 다양한 작업으로 구성된다. 현실 세계에서 레이블링되지 않은 데이터는 풍부하지만 레이블링 된 데이터는

ll2ll.tistory.com

 

이전 연구 (GPT-1)과 달라진 점

  • pre-activation residual network와 유사하게 layer normalization입력의 각 sub-block으로 옮겨졌다.[각주:10]
  • 추가적인 layer normalization[각주:11]이 마지막 self-attention layer 이후에 추가되었다.
  • 모델 깊이에 따른 잔차 경로를 축적하는 수정된 초기화가 사용된다.
    • 초기화 시 잔차 층의 가중치를 \(1/\sqrt(N)\) 로 스케일링하며, 여기서 N은 잔차 층의 개수이다.
  • vocabulary가 50,257개로 늘어났다.
  • context size를 512 → 1024 token으로 늘렸다
  • batch size 또한 512로 늘렸다.

 

3. Experiments

로그 균등 간격으로 4개의 LM을 학습하고 성능 테스트했다.

[표 2] 4개 모델의 파라미터, 레이어, 차원 수

  • 가장 작은 모델은 원래의 GPT와 같다
  • 두번째로 작은 모델은 BERT-large와 같다
  • 가장 큰 모델인 GPT-2는 GPT보다 훨씬 많은 파라미터를 가지고 있다
  • 각 모델의 learning rate는 가장 좋은 perplexity 수치를 얻고자 수동으로 조정되었다.
  • 모든 모델은 여전히 WebText 데이터에 under-fitting 되었고, 훈련 시간이 길어질수록 held-out perplexity는개선되었다.
    • 학습에 쓰이지 않는 데이터 (held-out test data)에 계산하여 perplexity를 평가

3.1 Language Modeling

WebText LM이 학습된 기본 작업인 Language modeling 에서 zero-shot domain transfer 할 때 어떤 성능을 보이는지 이해하고자 했다.

모델은 byte level에서 동작하며 손실을 유발하는 전처리나 토큰화를 필요로하지 않기 때문에 모든 LM 벤치마크로도 평가 가능하다. LM 데이터셋에 대한 결과는 일반적으로 scaled 혹은 exponentiated version의 average negative probability per canonical prediction unit으로 표현된다.

WebText LM에 따라 데이터셋의 로그 확률을 계산하고 표준 단위의 수로 나누어 동일한 양을 평가한다. 이러한 데이터 셋 중 상당수에 대해 WebText LM은 aggressively standardized text, 끊어진 구두점 및 축약, 뒤섞인 문장, 문자열 <UNK> (WebText에서 매우 드묾 - 40B 중 26번) 과 같은 토큰화 아티팩트까지 예측해야 하기에 분포에서 상당히 벗어난 테스트를 거치게 된다. 따라서 이러한 토큰화/전처리 아티팩트를 최대한 많이 제거하는 invertible detokenizers를 사용했다.

이러한 detokenizer는 가역적이기에 여전히 데이터의 로그 확률을 계산 가능하며 이는 간단한 형태의 domain adaption으로 생각될 수 있다. detokenizer를 통해 GPT-2에서의 perplexity를 2.5 → 5로 개선시킬 수 있었다.

[표 3] 각 데이터셋에 따른 zero-shot 성능

WebText LM은 도메인과 데이터셋에 가리지 않고 잘 전이학습되었으며, zero-shot setting으로 8개의 데이터셋 중 7개에서 SOTA를 달성했다.

Penn Treebank, WikiText-2와 같이 1-2백만개의 작은 학습 토큰을 가진 데이터셋에서 큰 향상을 보였다.

또한 장기의존성을 측정하기 위한 LAMBADA, Children’s book test와 같은 데이터셋에서도 큰 향상을 보였다.

그러나 여전히 One Billion Word Benchmark에서는 이전 연구들보다 못한 성능을 보였다. 이는 가장 큰 데이터셋임과 동시에 가장 파괴적인 사전 처리 (문장 수준 셔플링으로 장거리 구조 제거) 를 수행했기 때문이라고 생각된다.

 

3.2 Children's Book Test

CBT는 다양한 단어 범주 (명사, 동사 등) 에 대한 LM 성능을 평가하기 위해 만들어졌다.

CBT에서는 perplexity를 평가지표로 사용하는 대신 생략된 단어에 대한 10개의 가능한 선택지 중 어떤 것이 정답인지 예측하고 accuracy를 평가지표로 사용한다.

원본 논문[각주:12]에서 소개된 LM 접근 방식에 따라 각 선택지와 해당 선택지에 대한 나머지 문장의 확률을 LM에 따라 계산하고 가장 높은 확률을 가진 선택지를 예측한다.

[그림 2] 모델 파라미터 수에 따른 CBT에서의 성능

예상대로 모델 사이즈 (=모델 파라미터수) 가 증가할 수록 좋은 성능을 보였다.

CBT dataset에 대해 데이터 중복 분석을 한 결과 “Jungle Book”은 WebText dataset에 존재했지만 중요한 overlapping은 존재하지 않는다고 간주했다.

GPT-2는 common noun에 대해 93.3%의 좋은 결과를 달성했고, named entity에 대해서도 89.1%를 달성했다.

 

 

3.3 LAMBADA

Long-range dependency를 모델링 할 수 있는 LM의 능력을 테스트하는 평가 데이터셋이다.

인간이 성공적으로 예측하려면 최소 50개의 token이 필요한 문장인데, 이 문장의 마지막 단어를 예측하도록 하는 것이 데이터셋의 목표이다.

GPT-2는 99.8 ppl -> 8.6 ppl로 개선했으며, accuracy를 19% -> 52.66%로 개선했다.

GPT-2가 틀린 문장을 추가 분석해본 결과 대부분은 문장의 유효한 연결 자체는 가능한 단어이지만 유효한 마지막 단어는 아닌 경우였다. 이는 LM이 해당 단어가 문장의 마지막 단어여야 한다는 제약 조건을 사용하지 않고 있음을 의미한다. 개선을 위해 해당 실험에서 stop -word 필터를 추가한 경우 accuracy가 63.24%로 상승했다.

선행 연구에서는 모델의 출력이 문맥에 등장하는 단어로만 제한되는 제한적 예측 설정을 사용했으나 GPT-2의 경우 이러한 제한은 도움보다는 해를 끼쳤기 때문에 전처리가 되지 않은 버전의 데이터셋을 사용했다.

 

3.4 Winograd Schema Challenge

winograd schema challenge는 텍스트의 모호성을 해결하는 능력을 측정해 commonsense reasoning task에서의 LM 성능을 평가하고자 구축되었다.

최근 연구[각주:13]에서 이 문제에 대한 상당한 진전을 보여주었기에 이들의 문제 구성에 따라 Full scoring & Partial Scoring을 사용한 모델 성능을 시각화했다.

[그림 3] 모델 파라미터에 따른 Winograd Schema Challenge 에서의 성능

GPT-2는 최고 모델에서 7%를 향상시켜 70.7%를 달성했으나, 데이터셋이 오직 273개의 샘플만 가지고 있으므로 해당 결과를 이해하기 위해서는 연구 원문을 읽어보기를 권한다.

https://arxiv.org/abs/1806.02847

 

A Simple Method for Commonsense Reasoning

Commonsense reasoning is a long-standing challenge for deep learning. For example, it is difficult to use neural networks to tackle the Winograd Schema dataset (Levesque et al., 2011). In this paper, we present a simple method for commonsense reasoning wit

arxiv.org

 

 

3.5 Reading Comprehension

CoQA 데이터셋은 7개의 서로 다른 도메인 문서와 해당 문서에 대한 질문자-답변자의 자연어 대화로 구성되어 있다. CoQA는 독해 능력과 대화 기록에 따라 달라지는 질문에 대한 모델의 답변 능력 (ex. “Why?” 에 대한 이전 대화 기록을 고려한 답변) 을 테스트한다. 

문서, 관련 대화의 기록, 최종 토큰 A에 따른 GPT-2의 그리디 decoding은 development set에서 55 F1 score를 달성했다. 이는 베이스라인이 학습한 127,000개 이상의 수동으로 수집된 QA pair 없이도 4개 중 3개의 성능과 일치하거나 능가한 점수이다.

감독된 SOTA (BERT 기반 시스템) 는 사람과 비슷한 89 F1 score를 보였다. GPT-2는 비지도학습으로는 놀라운 성과를 보이지만 몇 개의 답변과 오류를 보면 GPT-2는 단순한 검색 기반 휴리스틱 (ex. "Who" 질문에 대한 응답으로 문서의 이름으로 답변하는 경우) 을 사용하는 경우가 많다는 것을 알 수 있다.

 

 

3.6 Summarization

CNN, daily mail dataset에서의 요약성능을 테스트했다.

요약을 유도하기 위해 기사 뒤에 TL;DR; 텍스트를 추가하고 top-k(k=2) 랜덤 샘플링을 통해 100개의 토큰을 생성했다. 이는 반복을 줄이고 greedy-decoding보다 더 추상적인 요약을 장려하기 위함이다.

100개의 토큰 중 처음으로 생성된 3개의 문장을 요약문장으로 사용했다.

[표 14] CNN, Daily Mail Dataset에서의 summary

 

표 14에서 볼 수 있듯 전반적으로 reference과 비슷하지만 주로 기사의 최신 컨텐츠에 포커스를 두거나 세부 사항을 헷갈리는 경우 (몇 개의 차가 사고에 휘말렸는가, 로고가 모자에 있는지 셔츠에 있는지) 가 존재했다.

일반적으로 보고되는 ROUGE 1,2,L 메트릭에서 생성된 요약은 기존 neural baselines의 성능에 접근할 뿐이며 기사에서 무작위 문장 3개를 선택하는 태스크에서만 성능을 겨우 능가한다.

 

TL DR?

더보기

TL;DR은 "너무 길어서 읽지 못함"의 약자로 영어 속어에서 유래한 듯 하다. 마치 BERT의 [CLS] 토큰에서 문장 전체의 요약 정보를 추출할 수 있듯이, 비슷한 동작을 기대하고 넣은 듯 하다!

 

3.7 Translation

추론에 도움을 주고자 (english sentence = french sentence)와 같은 쌍 형태로 문장을 제공했으며 english sentence = 라는 프롬프트 마지막 입력 이후 모델에서 greedy decoding을 이용해 샘플링했으며 첫 번째로 생성된 문장을 번역 문장으로 사용했다.

WMT-14 (English - French) 데이터셋에서 GPT-2는 5 BLEU를 얻었으며 이는 이전 비지도 번역에서 이중 언어 어휘를 사용해 word-by-word로 대체하는 것보다 약간 떨어지는 결과이다. (Conneau et al., 2017b)

(French - English) 데이터셋에서는 훨씬 더 나은 성능 (11.5 BLEU) 을 발휘했는데, 이는 몇 가지 비지도 기계 번역 모델의 성능을 능가하지만 현재 최고점을 기록한 비지도 기계 번역 모델 (Artetxe et al., 2019) 의 33.5 BLEU보다는 뒤쳐지는 성능이다. 필터링 단계에서 non-English 웹페이지를 의도적으로 제거했기 때문에 해당 태스크에서 이러한 성과는 꽤나 놀라웠다. 

 

3.8 QA

정보가 LM 안에 포함되어 있는지 확인하기 위한 잠재적 방법은 factoid-style의 질문에 대한 정답을 얼마나 자주 생성해내는지 평가하는 것이다. 이전에는 모든 정보들이 파라미터에 저장되었으며 고품질 평가 데이터셋의 부족으로 인해 정량적인 결과보다는 정성적인 결과를 보고했다.

최근에 나온 Natural Questions dataset (Kwiatkowski et al., 2019) 는 정량적으로 이를 측정하기 위한 유망한 리소스이다. 번역과 마찬가지로 LM context에 QA 쌍이 seed 되어 데이터셋의 단답형 스타일을 추론하는데 도움을 준다.

SQuAD와 같은 독해력 데이터셋에서 일반적으로 사용되는 정답률 지표를 통해 평가 했을 때 GPT-2는 4.1%의 질문에 대해 정확하게 대답했다. 또한 GPT2는 가장 자신 있는 1%의 문제에서 63.1%의 정확도를 보인다. 이에 비해 파라미터 수가 가장 작은 모델은 가장 심플한 질문 유형 (who, what, where.. ) 에서도 1.0% 정확도를 넘지 못했다. GPT-2는 이보다 5.3배 더 정확히 대답했으며, 이는 모델의 (작은) 용량이 이러한 태스크에 대해 악영향을 끼칠 수 있다는 것을 시사한다. 

[표 5] GPT-2가 생성한 가장 자신있는 30개 QA 쌍

그러나 GPT-2의 성능은 정보 검색과 추출 문서 질문 답변을 혼합한 open domain question answering systems[각주:14]의 30~50% 범위에 비해 여전히 훨씬 못 미친다.

 

4. Generalization VS Memorization

이 챕터에서는 'train-test 데이터 사이의 중복성' 을 체크하며 모델이 data leakage를 통해 기억하는 것일 뿐인지, 실제 generation을 하는 것인지 분석해봤다.

CV 최근 연구에서는 일반적인 이미지 데이터셋이 무시할 수 없는 양의 거의 흡사한 중복 이미지들을 포함하고 있다고 한다. 예를 들어 CV의 유명한 평가 데이터셋 CIFAR-10 에서는 train-test 이미지 사이의 3.3%가 중복된다는 것을 알 수 있다. 이는 머신 러닝 시스템의 일반화 성능을 과도하게 보고하는 결과를 초래한다. 데이터셋의 사이즈가 늘어날 수록 이 문제점의 영향은 증가할 것이며 똑같은 현상이 WebText에서도 발생할 수 있다.

따라서 test data에 존재하는 데이터가 training data에 얼마나 존재하는지 분석하기 위해 8 gram의 WebText training set tokens를 포함하는 Bloom filter를 만들었다.

 

Bloom Filter?

더보기

원소가 집합에 속하는지 여부를 검사하는데 사용되는 확률적 자료구조

 

블룸 필터에 의해 어떤 원소가 집합에 속한다고 판단된 경우 실제로는 원소가 집합에 속하지 않는 긍정 오류가 발생하는 것이 가능하지만, 반대로 원소가 집합에 속하지 않는 것으로 판단되었는데 실제로는 원소가 집합에 속하는 부정 오류는 절대로 발생하지 않는다는 특성이 있다. 집합에 원소를 추가하는 것은 가능하나, 집합에서 원소를 삭제하는 것은 불가능하다. 집합 내 원소의 숫자가 증가할수록 긍정 오류 발생 확률도 증가한다.

재현율 향상을 위해 문자열은 모두 소문자로 변환했고 구분자로 공백 1개 (’ ‘)를 사용했다. bloom filter는 상한 fpr을 1/(10^8)로 설정해서 만들었다. 또한 백만개의 문자열을 생성해 fpr이 낮다는 것을 확인했는데, 이 중 필터에 의해 발견된 문자열은 0개였다.

FPR (False Positive Rate) : 음성 클래스 전체 중 거짓 양성으로 분류된 비율

이 Bloom Filter들을 사용해 데이터셋이 주어졌을 때 WebText에서도 발견되는 8-grams의 비율을 계산할 수 있다.

[표 6]&nbsp; 일반적인 LM 벤치마크 test set에 대한 중복 분석

일반적인 LM dataset의 test set은 WebText와 1-6% 정도 겹치며 평균 3.2%가 겹친다.

분석 결과 놀랍게도 많은 데이터셋이 자체 training split에서 많은 overlapping (평균 5.9% 정도)을 보인다.

  • WikiText : 편집자가 공통 주제를 가진 여러 기사에서 일부 단락을 재사용했기 때문에 train set의 문서가 test set에도 존재한다는 사실을 발견했다.
  • Winograd schema : training set과 8-gram 이상 겹치는 스키마는 단 10개만 발견되었고, 이 중 2개는 가짜 일치였다. 나머지 8개 중 정답을 알 수 있는 컨텍스트에서 스키마가 나타난 것은 1개뿐이었다.
  • CoQA : 뉴스 도메인에서 15%의 문서가 이미 WebText에 존재했으며 해당 데이터셋에 대해 모델이 3 F1 더 좋은 성능으로 동작했다. CoQA의 dev set 평가지표는 5개의 서로 다른 도메인에 대한 평균 성능을 보고하며 여러 도메인의 중복으로 인해 0.5-1.0 F1 score 정도의 이득이 존재한다. 그러나 CoQA는 WebText 마감 이후 출시되었기 때문에 실제 교육용 문제/답변은 WebText 에 포함되어 있지 않다.
  • LAMBADA :평균 overlapping은 1.2% 정도. 중복되는 예제를 제외하고 다시 평가하면 PPL 8.6 → 8.7 로 바뀌고 acc는 63.2% → 62.9%로 감소하는 결과를 보였다.

전반적 분석 결과 WebText 데이터와 특정 평가 데이터셋 사이의 데이터 중첩은 보고된 결과에 작지만 실제보다 더 좋은 성능으로 보이게 하는 것으로 나타났다. 그러나 기존 평가지표로 널리 사용되던 training-test set에 비해 큰 overlapping은 발견되지 않았다.

텍스트 유사도가 성능에 미치는 영향을 이해하고 정량화하는 것은 중요하다. scalable fuzzy matching과 같은 중복 제거 기술을 사용하는 것도 도움이 될 수 있다. 현재로서는 새로운 NLP 데이터셋에 대해 n-gram overlap 기반의 중복 제거를 통해 검증 및 건전성 검사를 마칠 것을 권한다.

WebText LM의 성능이 memorization에 기인하는지 여부를 확인하는 방법은 자체 held-out 셋에서 성능을 검사하는 것이다. 그림 4에서 확인할 수 있듯 WebText에서 Training, test set에서의 성능은 비슷했고 모델 사이즈가 증가할 수록 같이 증가했다. 이는 GPT-2 가 WebText에 여전히 underfitting 되어있음을 의미한다.

즉 정답을 보고 암기한 것(Overfitting)이 아니라는 것이다.

[그림 4] 모델 파라미터 수에 따른 WebText에서의 성능

 

6. Discussion

이번 연구 결과는 비지도 학습은 유망한 추가 연구 분야라는 것을 조망하고 있다. 이러한 발견은 잠재적으로 downstream NLP task에 대한 pre-training의 광범위한 성공을 설명하는 데 도움이 될 수 있다. 이는 제한적으로 이러한 사전 훈련 기술 중 하나가 지도학습 적응 또는 수정 없이 작업을 직접 수행하는 방법을 배우기 시작한다는 것  (zero-shot learning) 을 보여주기 때문이다.

Reading comprehension 태스크에서 zero-shot 세팅일 때 GPT-2는 지도학습 모델들과 비견되는 성능을 보인다. 그러나 summarization같은 다른 태스크에서는 정량적인 지표에서 뒤떨어진다. 실제 적용 측면에서 살펴볼 때 GPT-2의 zero shot 성능은 아직 사용 가능한 수준이 아니라고 본다.

많은 표준 NLP 작업에서 WebText LM 제로샷 성능을 연구해봤지만 여전히 평가 가능한 다양한 태스크가 존재한다. GPT-2가 무작위 예측보다 낫지 않은 작업들도 존재하고, QA 및 번역과 같은 일반적인 작업에서도 모델이 충분한 용량을 확보할 때만 성능이 baseline을 뛰어넘는다.

zero-shot 성능은 많은 작업에서 GPT-2의 잠재적 성능에 대한 baseline을 설정했지만, fine tuning의 한계가 어디인지는 명확하지 않다. 어떠한 태스크에서는 GPT-2의 완전히 추상적인 출력값은 많은 QA 및 독해 데이터셋에서 최첨단인 추출 포인터 네트워크 기반 출력에서 크게 벗어난다.

GPT fine tuning의 이전 성공을 생각해보면 GPT-2의 training data와 model capacity는 BERT에서 언급된 uni-directional repreesentations의 비효율성을 극복하기 충분하다고 판단할 수 있다.

 

7. conclusion

대규모 LM을 충분히 크고 다양한 데이터셋에서 학습시키면 많은 도메인과 데이터셋에서 우수한 성능을 발휘할 수 있다는 것을 보였다. GPT-2는 8개 중 7개에서 zero-shot으로 SOTA 성능을 보였다.. zero-shot setting 에서 모델이 수행할 수 있는 작업의 다양성은 충분히 다양한 텍스트 말뭉치의 가능성을 극대화하도록 훈련된 큰 용량의 모델이 지도학습 없이도 작업 수행하는 법을 학습하기 시작했음을 시사한다.

 


참고 문헌

  1. https://wikidocs.net/215060 [본문으로]
  2. https://medium.com/@evertongomede/independent-and-identically-distributed-iid-in-machine-learning-assumptions-and-implications-930ee9821e14 [본문으로]
  3. McCann, B., Keskar, N. S., Xiong, C., and Socher, R. The natural language decathlon: Multitask learning as question answering.arXiv preprint arXiv:1806.08730, 2018. [본문으로]
  4. Sutskever, I., Jozefowicz, R., Gregor, K., Rezende, D., Lillicrap,
    T., and Vinyals, O. Towards principled unsupervised learning.
    arXiv preprint arXiv:1511.06440, 2015. [본문으로]
  5. Sutskever, I., Jozefowicz, R., Gregor, K., Rezende, D., Lillicrap,
    T., and Vinyals, O. Towards principled unsupervised learning.
    arXiv preprint arXiv:1511.06440, 2015. [본문으로]
  6. Trinh, T. H. and Le, Q. V. A simple method for commonsense
    reasoning. arXiv preprint arXiv:1806.02847, 2018. [본문으로]
  7. Sennrich, R., Haddow, B., and Birch, A. Neural machine translation
    of rare words with subword units. arXiv preprint
    arXiv:1508.07909, 2015. [본문으로]
  8. https://ratsgo.github.io/nlpbook/docs/preprocess/bpe/ [본문으로]
  9. https://miaow-miaow.tistory.com/37 [본문으로]
  10. He, K., Zhang, X., Ren, S., and Sun, J. Identity mappings in deep residual networks. In European conference on computer vision, pp. 630–645. Springer, 2016. [본문으로]
  11. Ba, J. L., Kiros, J. R., and Hinton, G. E. Layer normalization.
    arXiv preprint arXiv:1607.06450, 2016. [본문으로]
  12. Hill, F., Bordes, A., Chopra, S., and Weston, J. The goldilocks
    principle: Reading children’s books with explicit memory representations.arXiv preprint arXiv:1511.02301, 2015. [본문으로]
  13. Trinh, T. H. and Le, Q. V. A simple method for commonsense
    reasoning. arXiv preprint arXiv:1806.02847, 2018. [본문으로]
  14. Alberti, C., Lee, K., and Collins, M. A bert baseline for the natural
    questions. arXiv preprint arXiv:1901.08634, 2019. [본문으로]