우리는 좀 더 General한 모델을 원한다.
대량의 데이터셋으로 사전 훈련한 뒤 테스크게 맞게 지도 학습하는 머신러닝 방법이 좋은 성능을 내고 있다. 하지만, 이런 시스템은 데이터의 분포와 테스크의 특징의 변화에 따라서 민감하게 반응한다. 즉, 데이터의 분포와 테스크에 따라서 변형이 필요하다.
본 논문에서는 다양한 테스크에서 좋은 성능을 낼 수 있는 더 General System을 만들기 원하고, 최종적으로는 추가적인 지도학습이 필요 없는 모델을 만들기를 희망한다.
Specialist를 만들고 있는 작금의 현실이 Generalist를 만들지 못하고 있는 게 아닐까?
기존의 ML 시스템(지도학습)의 접근 방식은 구체적으로 정의된 테스크에 대해서 좋은 성능을 내고 있지만 "Captioning", "Reading comprehension", "Image Classifiers"과 같이 다양한(diversity and variety)한 입력이 주어지는 상황에서 어려움을 겪고 있다.
본 논문에서는, 하나의 모델을 하나의 도메인 하나의 테스크에 맞춰 학습하고 있는 지금의 연구 상황이 Gerneralization Observe의 가장 큰 걸림돌이라고 생각한다.
현재, GLUE, decaNLP등 자연어 이해 모델에서 범용적으로 사용되고 있는 벤치마크 지표가 제안되고 있다.
그림 출처 : https://gaussian37.github.io/dl-concept-mtl/
Multitask Learning and Meta Learning
Multitask Learning
: 같은 network를 공유하는 모델을 사용해 여러 테스크를 동시에 학습하는 방법. 테스크 간의 loss의 가중치를 조절하는 것이 중요하다.Meta Learning
: 다른 Task를 위해 학습된 AI 모델을 이용해서, 적은 데이터셋을 가진 다른 Task도 잘 수행할 수 있도록 학습시키는 방법.Multitask learning은 general performance를 향상시키는 좋은 방법이다. 하지만, NLP 분야에서는 아직 연구가 부족하다. Meta-Learning도 결국은 하나의 테스크에 맞게 학습된 모델이다. 현재의 ML system에서 잘 일반화된 모델을 만들기 위해서 수백 ~ 수천개의 훈련 데이터가 필요하다. 이는, Multitask 훈련 과정에서 각 훈련 테스크에 맞게 데이터가 필요하다는 의미가 된다.
이러한 이유로 본 논문에서는 Multitask Learning을 위한 추가적인 방안을 찾는다.
Self-Attention을 활용하여 언어의 결합 확률 분포를 잘 학습할 수 있다.
우리의 접근 방식의 핵심은 Language Modeling이다. 언어는 본연의 연속성과 순서를 가지고 있기 때문에 조건부 확률의 곱으로서 결합 확률을 분해(factorize)될 수 있다.
이러한 접근은 뿐만 아니라, 어떤 조건부 형태 에서 샘플링과 추정을 가능하게 한다. 최근 연구에 따르면, Transformer와 같은 self-attention 구조를 활용하여 이러한 조건부 확률 분포를 잘 계산할 수 있게 되었다.
General System을 위한 확률 모델링 :
하나의 테스크를 학습하는 과정은 확률의 관점에서 라는 조건부 확률로 표현할 수 있다. 하지만, General System은 같은 input에 대해서 다양한 테스크에서 성능을 낼 수 있어야 하기 때문에, 와 같이 모델링 되어야 한다. 일반적으로 task를 조건으로서 넣기 위해서는 모델의 구조 단계(task specific encoder and decoder), 알고리즘 단계(inner and outer loop optimization framework)에서 설계를 해준다.
하지만, 자연어 처리에서는 task와 input, output을 순서대로 연결하여 사용함으로서 더 유연하게 테스크에 대한 조건을 넣어줄 수 있다.
(translate to french, english text, french text)
(answer the question, document, question, answer)
대용량 언어모델은 자연어 시퀀스 내에서 테스크를 추론할 수 있을 것이다.
언어 모델링은 원칙적으로 테스크를 지도학습 없이 학습할 수 있다. Weston(2016)은 대화의 맥락에서 자연어를 직접 학습할 수 있는 시스템을 개발해야 한다고 주장했고 질문에 대한 Answer를 생성하며 보상 신호 없이 QA 테스크를 학습한 증거를 제시했다.
본 논문에서는 충분한 용량의 언어 모델이 자연어 시퀀스 데이터 내에서 더 좋은 예측을 하기 위해 테스크를 추론할 수 있을 것이라고 생각한다. 이것이 가능하다면 결국 비지도 multitask learning이 가능할 것이다.
기존의 낮은 퀄리티의 데이터셋을 사용하지 않고 인간에 의해 검증된 데이터셋을 사용했다.
본 논문에서는 다양하고 대량의 데이터셋을 사용하여 여러 도메인 그리고 문맥 안에서 발생하는 테스크의 언어 표현을 확보하고자 했다. Web scraping을 통해 수집된 Common Crawl 데이터셋는 대량의 데이터셋 이지만 대부분의 내용이 '이해하기 어려운' 내용들이 많다는 문제 제기가 있었다. 본 연구에서 Common Crawl을 활용한 초기 연구에서도 같은 문제를 나타냈다.
문서의 질을 높이기 위해서 Reddit, Social media platform에서 높은 평점을 받은 페이지의 문서를 확보하였다. 이를 통해 WebText 데이터셋을 구성하였고, 총 4천 5백만 개의 링크의 텍스트 데이터를 확보하였다. 2017년 12월 이전의 데이터셋을 사용하였고 문서의 중복을 제거했으며 Heuristic based cleaning을 적용하여 총 8백만개의 문서와 40GB의 텍스트를 확보하였다. 또한, 대부분의 문서에 기반이 되는 Wikipedia 문서는 포함하지 않았다.
N:number of residual layers
)으로 초기화했다.
117M
: GPT1과 같은 크기345M
: BERT와 같은 크기1542M
:GPT2
A:
를 추가해서 인코딩했다.
TL;DR:
라는 텍스트를 추가했다.
TL;DR:
를 제거하면 점수가 6.4가 떨어졌다. GPT-2의 번역 성능을 테스트했다. 테스크를 인식시키기 위해 english sentence = french sentence
의 구조라는 조건을 사용했다. english sentence =
이후 greed decoding으로 생성되는 첫 번째 문장을 번역 문장으로 사용하였다.
WMT-14 English-French 테스트셋 5 BLEU로 좋지 않은 성능을 보였지만 WMT-14 French-English에서는 11.5 BLEU를 달성하며 몇몇의 비지도학습 모델보다 좋은 성능을 보여주었다. 하지만, 현재 가장 좋은 성능의 비지도학습 모델의 점수( 33.5 BLEU)에는 많이 미치지 못한다.
그럼에도 불구하고 이 결과가 흥미로운 이유는 WebText 데이터셋을 확보하는 과정에서 영어 이외의 페이지를 고의로 제거하여 프랑스 언어 데이터를 10MB밖에 확보하지 못했는데 어느정도 성과가 났다는 점이다.
Factoid-style의 질문에 대해서 얼마나 자주 정답을 대답하는지를 측정하여 언어 모델이 어떤 정보를 포함하고 있는지 테스트 해볼 수 있다.
GPT2는 질문들에 대해서 4.1% 정답률을 기록했고 이는 가장 작은 모델(GPT1)에 비해 5.3배였다. 이를 통해 QA 테스크에서 모델의 용량이 중요한 요소임을 알 수 있다.