티스토리 뷰

Abstract

질의응답, 기계 번역, 요약 등의 자연어 생성 task는 task에 특정한 dataset으로 학습하는 지도학습으로 접근한다. 이 논문에서는 언어 모델이 WebText라는 웹페이지 데이터셋을 지도학습 없이 자연어 생성 task를 학습했습니다. document와 questions을 조건일 때, 언어 모델로 생성된 answer은 CoQA 데이터셋에서 F1점수가 55점을 달성했다. 학습 예시 127,000여 개를 사용하지 않고 4개 중 3개에서 SOTA를 달성했다.

언어 모델의 용량(capacity of the language model)은 zero-shat task의 전이학습에 필수적이다. 용량을 늘리면 task 전반에 걸쳐 선형 로그 형식으로 성능이 향상된다. 논문의 GPT-2는 1.5B 파라미터의 트랜스포머로 zero-shot setting에서 8개의 테스트 중 7개에서 SOTA를 달성했지만 WebText에 underfit되었다. 모델의 샘플은 일관된 텍스트 단락을 포함한다. 이런 발견은 자연적으로 발생하는 시연을 통해 언어 생성 시스템을 구축하기 위한 경로를 제시한다.

 

1. Introduction

기계 학습은 대규모 데이터셋과 고용량 모델, 지도학습의 조합으로 학습했을 때 탁월하다. 하지만 이러한 시스템은 데이터 분포(data distribution)과 task specification의 작은 변화에 민감하고 취약하다. 현재 시스템은 유능한 제너럴리스트(competent generalistst)보다 협소한 전문가(narrow experts)라는 특징이 있다. 논문은 다양한 작업을 수행하는 더 일반적인 시스템으로 이동하고자 한다. 이는 수동으로 라벨 학습 데이터를 지정할 필요가 없다.

ML 시스템을 만드는 일반적인 접근 방식은 task에 대한 동작 방식을 보여주는 학습 예시를 수집하고, 이러한 동작을 모방하도록 훈련한 다음, 독립적이고 동일하게 분산된(independent and identically distributed (IID)) 예제에서 테스트 하는 것이다. 이 방식은 좁은 전문가로 진전을 이루었지만 입력의 다양성과, 독해, 이미지 분류, captioning model에서 불규칙한 행동들은 단점으로 강조된다.

논문에서는 단일 도메인 데이터셋으로 단일 task 훈련하는 방식의 보급으로 현재 시스템에서 일반화 성능이 부족함을 의심했다. 현재 아키텍처를 강력한 시스템(robust systems)으로 발전시키기 위해서 광범위한 도메인과 테스크에서 성능 측정이 필요하다고 말한다.

이 시점에서 NLP의 멀티태스킹 학습은 초기 단계이다. 총 10개의 데이터셋과 17개의 objective에 대해 훈련했다. 현재 ML 시스템에서 일반화되는 함수를 유도하기 위해서는 수백에서 수천의 예시를 필요로 한다. 멀티태스킹 학습은 현재 접근 방식에서 약속된 성능을 달성하기 위해서 많은 효율적인 훈련 셋이 필요함을 의미한다. 데이터셋 생성과 목표 설정의 규모를 무차별적으로 키우는 데  현재 기술로는 어려움이 있다. 이는 멀티태스킹 학습을 위해서 추가 설정을 탐색하는 동기가 된다.

NLP task에서 최고 성능 시스템은 pre-training과 supervised fine-tuning의 조합이다. 최근 연구에 따르면 많은 셀프 어텐션 블록을 전이학습 하는 것으로 충분하다. 이 방식은 여전히 지도학습이 필요하다. 다른 방식으로는 상식 추론, 감정 분석 같은 특정 task에서만 최소한의 지도 데이터 또는 전혀 사용하지 않고 수행할 수 있는 가능성을 보여주었다.

논문에서는 두 가지 작업을 연결해 일반적인 전이학습의 트렌드를 따라간다. 언어 모델이 파라미터나 아키텍처의 수정 없이 zeroshot setting에서 다운스트림 테스크를 수행할 수 있음을 보여준다. 언어 모델이 제로샷 설정에서 다양한 task를 수행할 수 있는 능력을 강조한다. task에서 SOTA를 달성했음을 알린다.

 

2. Approach

 언어 모델링은 예제 집합$(x1, x2, ..., xn)$의 비지도 분포 추정으로 구성되며, 각 예제는 가변 길이의 symbol의 sequence로$(s1, s2, ..., sn )$구성된다. 언어는 자연스러운 순차적 순서를 가지기 때문에 symbol들의 결합확률을 조건부 확률의 곱으로 인수분해하는 것이 일반적이다. 최근 트랜스포머와 셀프-어텐션 아키텍처로 조건부 확률을 계산할 수 있는 모델의 표현력이 크게 개선됐다.

  • $p(x) = \prod\limits_{i=1}^n p(s_n|s_1, ..., s_{n−1})$

단일 task 학습하는 방법은 조건부 분포 $p(output|input)$를 추정할 수 있다. general system은 다양한 task를 할 수 있어야 하므로 입력뿐만 아니라 수행 작업도 조건화돼야 한다. 따라서 모델은 $p(output|input, task)$ 형식이 된다. 번역은 (텍스트 번역, 영어 텍스트, 한국어 텍스트)로, 기계독해는 (질의응답, document, 질문, 답변)의 예시로 작성해 학습하면 single model에서 수행할 수 있다. 

원칙적으로 언어 모델은 어떤 ouput을 예측할 지의 지도학습 없이 task 학습이 가능하다. 지도학습의 목표(supervised objective)는 비지도 학습의 목표(unsupervised objective)와 동일하지만 시퀀스의 하위 집합에서만 평가되므로, 비지도 학습의 global minimum은 지도학습의 global minimum이기도 하다. 문제는 실제로 비지도 학습에서 수렴하도록 최적화가 가능한가이다. 멀티태스킹 학습에서 수행이 가능하지만 지도학습보다 학습 속도가 훨씬 느리다는 것을 확인했다.

논문은 인터넷은 방대한 정보를 활용하여, 모델이 충분한 용량(sufficient capacity)을 가지면 데이터의 조달 방법과는 관계없이 더 잘 예측하기 위해 시연된 작업을 추론하고 수행하는 방법을 배울 것이라 추측했다.이 작업을 수행한다면 비지도 멀티태스킹 학습을 수행하는 것이다. 논문은 다양한 작업에 대해 제로샷 설정에서 언어 모델의 성능을 분석했다.

 

2.1. Training Dataset

이전 연구는 뉴스 기사, Wikipedia, 소설과 같은 단일 텍스트 도메인에서 언어 모델을 학습했다. 논문은 다양한 도메인과 컨텍스트에서 작업하도록 크고 다양한 데이터셋을 구축했다. Common Crawl과 같은 웹스크롤 데이터는 무제한의 양이지만 품질의 문제가 있다. 따라서 인간이 선별 필터링한 웹페이지를 스크랩해 품질을 강조했다. 결과 데이터셋 WebText는 4500만 링크의 텍스트 subset을 포함한다.  2017년 12월 이후에 생성된 링크는 포함하지 않고, 중복 제거와 휴리스틱 기반으로 정리했다. 총 40GB의 텍스트에 8million doucment를 포함하는 예비 버전을 사용했다.

 

2.2. Input Representation

언어모델은 어떤 문자열이 오든 확률을 계산할 수 있어야 한다. LM은 소문자화, 토큰화, out-of-vocabulary token과 같은 전처리 작업을 포함한다. 논문은 standard byte-level로 학습하여 성능을 확인했다.

Byte Pair Encoding (BPE)는 symbol sequence 빈도를 보간하는  character 단위와 word단위 중간 지점이다. 논문은 BPE가 공통 단어가 여러버전을 포함하고 있음을 확인했다(ex. dog. dog! dog?). 이로 인해 vocabulary 슬롯과 모델 용량이 최적이 아니게 된다. 이를 방지하기 위해  BPE가 바이트 시퀀스에 대해 character 범주 간에 병합되지 않도록 했다. 공백에 대한 예외를 추가하여 압축 효율성을 크게 향상시키 vocab token의 조각화(fragmentation)를 최소화했다. 이 접근법은 모든 유니코드 문자열에 확률을 할당할 수 있어, 전처리, 토크나이징, vocab size에 관계없이 모든 데이터 세트에서 LM을 평가할 수 있다.

 

2.3. Model

트랜스포머 기반 아키텍처를 사용했다. Layer normalization은 pre-activation residual network와 유사하게 하위블록의 입력으로 이동되었고, 최종 셀프어텐션 블록 이후에 Layer normalization이 추가되었다. N층의 residual layers의 weight를 초기화 시 $1/  \sqrt{N}$의 계수로 scale한다. vocabulary는 50257까지 확장했다. context size는 1024 토큰까지 확장했고, 512의 배치 사이즈가 사용된다.

 

3. Experiments

모델 하이퍼 파라미터

가장 작은 모델은 GPT와 동일하고 두번째로 작은 모델은 BERT의 가장 큰 모델에 해당한다. 논문에서 공개한 GPT-2는 파라미터 수가 가장 큰 모델이다. learning rate는 WebText데이터에서 최고 perplexity가 5% 수준으로 튜닝되었다.

 

3.1. Language Modeling

WebText LM이 zero-shot task를 전이 학습을 수행하는지 확인했다. tokenization과  pre-processing 최대한 제거하는  invertible de-tokenizers를 사용했다. de-tokenizers는 토큰화의 반대 동작으로 토큰을 다시 복원하는 과정이다. de-tokenizer는 복원이 가능하기 때문에 데이터 세트의 로그 확률을 계산할 수 있다. de-tokenizer로GPT-2의 perplexity를 계산했고 2.5~5 사이의 점수를 얻었다.

제로샷 성능 비교

 

WebText LM은 도메인과 데이터셋의 전이가 잘 이루어져 8개의 데이터셋 중에서 7개에서 SOTA를 달성했다. 작은 규모의 데이터셋과 long-term dependency를 측정하는 데이터셋에서도 큰 개선을 이루었다. 

 

3.2. Children’s Book Test

Children’s Book Test(CBT)는 named entity, 명사, 동사 등 단어에 대한 성능을 조사하기 위해서 만들어졌다. 생략된 단어에 대해 10가지 항목 중 옳은 것을 예측하기 때문에 평가지표는 accuracy를 사용한다. 모델의 크기가 증가함에 따라서 성능이 꾸준히 향상되고 사람 수준으로 점수가 좁혀짐을  확인했다. 

 

3.3. LAMBADA

LAMBADA 데이터셋은 텍스트의 long-range dependency를 테스트한다. 최소 50개의 컨텍스트 토큰이 필요한 문장에서 마지막 단어를 예측한다. GPT-2는 SOTA를 달성했다. GPT-2의 error를 조사한 결과 예측의 대부분은 유효한 단어이지만 최종 단어는 아닌 것을 확인했다. 이는 LM에 문장의 마지막 단어여야 한다는 추가 제약 조건을 사용하지 않아서이다. 

 

3.4. Winograd Schema Challenge

 Winograd Schema Challenge는 텍스트의 모호성을 해결하는 능력을 측정해 상식 추론을 수행하는 테스트이다. 모델 파라미터 수에 따라 성능이 향상됨을 확인했다.

 

3.5. Reading Comprehension

CoQA(The Conversation Question Answering dataset)는 문서에 대한 질문자와 답변자의 대화 쌍으로 독해력과 대화 기록에 대한 질문을 답하는 능력을 테스트한다. 4개의 베이스라인 중 3개가 기준과 일치하거나 높음을 확인했다.

 

3.6. Summarization

CNN과 Daily Mail dataset으로 요약 능력을 측정했다. 요약을 유도하기 위해서 TL;DR 토큰을 추가했다.  "too long; didn't read"(너무 길어서 읽지 않았다)의 인터넷 속어를 의미한다. top-k의 k를 2로 무작위 샘플링하여, 100개의 토큰을 생성하고 반복을 줄여, 매 타임 스텝에서 가장 높은 확률의 토큰만 선택하는 greedy decoding보다 추상적인 요약을 유도했다. 100개의 토큰에서 처음 3문장을 요약해 사용했다. TL;DR 토큰 힌트가 없으면 GPT-2의 성능이 떨어지며 언어모델에서 작업별 동작을 호출할 수 있는 능력이 있음을 확인했다.

 

3.7. Translation

번역 추론을 위해서 example 컨텍스트 쌍을  english sentence = french sentence 형식으로 조건화하고 english sentence = 를 최종 프롬프트로 입력했다. greedy decording을 사용하여 생성된 첫 번째 문장을 번역으로 사용했다.

 

3.8. Question Answering

언어 모델 내에 포함된 정보를 확인하는 평가이다. 번역과 마찬가지로 example 질문과 답변 페어로 단답형을 유추하도록 한다. 1% 정확도의 작은 모델보다 GPT-2는  4.1%의 정확도로 5.3배성능이 좋았다. 모델의 용량이 작으면 성능 저하의 주요 요인임을 확인했다

 

4. Generalization vs Memorization 

논문은 학습 데이터셋과 테스트 데이터의 중복에 대해서 분석했다. 학습 데이터와 테스트 데이터에 중복이 있을 경우 일반화 성능이 과대측정된다. n-gram overlap 기반인 8-grams의 Bloom filter를 개발해 데이터의 중첩 비율을 분석했다. 이를 분석하면 언어모델이 학습 데이터를 암기해서 출력했는지, 모델의 성능이 높은가를 검사할 수 있다. 데이터셋의 train test 중복 비율을 확인한 결과, 제작한 WebText 데이터뿐만 아니라 기존 데이터셋도 중복 비율이 있음을 확인했다. 오히려 기존 데이터셋의 중복 비율이 높았고 이는 GPT-2의 제로샷 성능이 데이터 중복에 의함이 아님을 이야기한다

 

또한 train과 test 집합의 성능이 유사하게 개선되고 있으면 이는 GPT-2가 WebText에 underfitting 되었다고 이야기한다.

7. Conclusion

Large langage model이 충분히 크고 다양한 데이터셋이 학습되면 많은 도메인과 데이터셋에서 수행할 수 있음을 확인했다. GPT-2는 zero-shot에서 8개의 언어 모델링 데이터셋 중 7개에서 SOTA를 달성했다. 모델이 제로샷 설정에서 다양한 테스크를 수행할 있다는 것은  다양한 텍스트를 학습한 거대 용량의 모델이 다양한 task를 지도학습 없이 수행할 수 있음을 의미한다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함