Multitask learning(다중작업 학습)은 일반성능을 높이는 좋은 방법이지만 아직 초기 연구 단게이다. 여전히 pre-training과 supervised training의 결합으로 이루어진다.
본 논문에서는 언어모델이 어떤 파라미터나 모델구조 변화없이도 zero-shot setting하에서 downstream task를 수행할 수 있음을 보인다.
Lagnuage modeling
: 주어진 단어들로부터 아직 모르는 단어를 예측하는 작업
단일 과제 수행의 학습은 p(output|input)으로 표현
범용시스템은 다른 과제들도 수행할 수 있어야하기 때문에 p(output|input,task)로 표현
McCann에서 나온 것과 같이, 과제/입력/출력 모두 일련의 sysmbol로 명시하는 방법 제공
ex) 번역학습은 (프랑스어로 번역, 영어 텍스트, 프랑스어 텍스트)
ex) 독해는 (answer the question, document, question, answer)
데이터는 40GB의 webdata 사용
2.1 Training Dataset
web scraping자료는 다양한 출처에서 데이터를 얻을 수 있지만 많은 양이 이해할 수 없는(uninerlligible, 품질 저하) 데이터이기 때문에 단순 크롤링이 아닌 고품질의 데이터를 얻는 다른 방법을 사용하기로 했다.
사람에 의해 필터링된 글
WebText
중복제거, 기간 지정
텍스트 추출 : Dragnet, Newspaper 내용추출기
2.2 Input Representation
LM(Language Model) -> 어떤 문자열의 확률도 계산할 수 있어야 한다.
Byte Pair Encoding(BPE) 활용
1. 자주 나오는 symbol sequence의 단어수준 입력과 자주 나오지 않는 symbol sequence의 글자수준 입력을 적절히 interpolate한다.
2. OOV(Out of vocabulary) 문제를 해결했다
: 단어 의외의 문자열 제거, 글자에서 단어 집합으로 점차적으로 만들어내는 botton-up 방식
2.3 Model
Trnasformer decoder를 기본적으로 활용, OpenAI의 GPT-1와 동일
Layer Normalization이 각 sub block의 입력으로 옮겨졌다.
Layer Normalization이 마지막 self-attention block 이후에 추가되었다.
context size, batch size등 조정
3. Experiments
8개중에 7개 SOTA 모델로 선정
그래서 WebText에 대해 8-gram 학습세트 토큰을 포함하는 Bloom 필터를 만들어 테스트해봤다.
Results
:WebText는 써도 괜찮다는 결론이 나왔지만 다른 데이터셋의 경우에는 생각보다 높은 겹침(overlap) 현상이 나타나는 것을 볼 수 있다.
비슷한 텍스트들이 성능에 어떤 영향을 미치는지 이해하고 정량화하는 것은 중요한 부분이다. 더 나은 데이터중복제거(de-duplication) 기술은 매우 중요하며, 중복제거에 기반한 n-gram overlap을 사용하는 것은 훌륭한 방법이며 이 논문에서는 이를 추천한다.
이 논문의 저자들은 decaNLP나 GLUE와 갈은 벤치마크에서 미세조정(fine-tuning)할 것을 계획하고 있다고 한다.
또 GPT-2의 학습데이터와 그 크기가 BERT에서 말한 단방향 표현의 비효율성을 극복할 수 있을 만큼 충분한지도 확실치 않다고 한다.
아직 개선해야될 게 많기 때문에 이쪽으로 더 고민해보는 것두 나쁘지 않아보인다.