이 글은 2018년 6월 OpenAI에서 발표한 GPT 시리즈의 최초 버전인 GPT : Improving Language Understanding by Generative Pre-Training를 정리한 글이다. 요약하자면 다음과 같다.
Transformer 구조는 여러 NLP task에 유용하며, Unsupervised pre-training을 통해 충분히 많은 Language정보가 학습되어 Supervised fine-tuning시 특정 Task에 맞는 딥러닝 모델링에 들어가는 시간과 비용을 줄임과 동시에 최고 성능을 낼 수 있다. 또한 LSTM에 비해 Language modeling capability와 Structured attentional memory를 향상하여 zero-shot 성능에서 이점을 재공 할 수 있다는 가능성을 보인다.
자세한 내용을 이 글을 통해 한번 살펴보도록 하자.
- 목차 -2.1 Semi-supervised learning for NLP
1. Introduction
원본 그대로의 텍스트에서 효과적으로 학습하는 능력은 NLP에서 지도학습에 대한 의존성을 낮추는 데 있어 매우 중요하다. 대부분의 딥러닝 방법은 Labeled 된 방대한 양의 데이터를 필요로 하는데 이는 Labeled 된 데이터의 부족으로 인한 많은 범위로의 응용에 제약이 따른다. 이러한 상황에서 Unlabeled 데이터로부터 언어적 정보를 얻어낼 수 있는 모델은 비용이 많이 드는 Labeled 된 데이터를 만드는 것의 훌륭한 대안이 될 뿐만 아니라, 괜찮은 Supervised Learning 방법이 있다 하더라도 Unsupervised Learning이 더 좋을 결과를 얻기도 한다. Pre-trained word embedding이 그러한 예이다.
그러나 미분류 텍스트에서 단어 수준 정보 이상의 것을 얻는 것은 다음 두 가지 이유로 어렵다.
- 어떤 최적화 목적함수가 전이(Transfer)에 유용한 텍스트 표현(Representation)을 배우는 데 효과적인지 불분명하다.
- 학습된 Representation을 Target tesk로 효과적으로 전이하는 방법에 대한 일치된 의견이 없다. 존재하는 방법들은 복잡한 학습전략이나 부가 학습 목적함수를 더하는 등 모델 구성에 과제에 특화된(Task-specific) 변화를 주어야 한다.
이러한 불확실성은 언어처리에 대한 효과적인 준지도학습 접근법의 개발을 어렵게 한다.
이 논문에서는 비지도 사전학습(Unsupervised pre-training)과 지도 미세조정(Supervised fine-tuning)의 조합을 사용하여 언어이해 과제를 위한 준지도 학습(Semi-supervised) 접근법을 탐색한다. 목표는 약간의 조정만으로 넓은 범위의 과제에 전이 및 적용할 수 있는 범용 표현을 학습하는 것이다. 학습은 두 단계를 거치게 된다.
- 신경망 모델의 초기 parameter를 학습하기 위해 Unlabeled 데이터에 대한 언어 모델링 목적함수를 사용한다.
- 이 parameter를 연관된 Supervised objective에 해당하는 Target task에 적용한다.
모델 구성은 기계번역, 문서생성, 구문분석 등에 상당한 성능을 보이는 Transformer를 사용한다. 이 모델은 RNN 등에 비해 장거리 의존성을 다루는 데 뛰어나 더 많은 구조화된 memory를 쓸 수 있게 하고, 양한 테스크에서 최소한의 fine-tuning을 통해 transfer가 가능하게 했다. 이를 확인하기 위해 네 가지 접근법(자연어 추론, 질답, 의미 유사성, 문서 분류)에 대해 평가한다. 이러한 Task에 대한 지식이 없는 이 범용 모델은 12개 중 9개의 과제에서 state-of-the-art 결과를 보이며 선전했다.
2. Related work
2.1 Semi-supervised learning for NLP
초기의 연구들은 unlabeled data로 모델이 단어 또는 구문 수준의 통계값들을 연산하고 이를 이후 지도 학습의 특성으로 사용하는 방식을 사용했다. 지난 몇 년간 이루어진 연구들은 word2vec, GloVe와 같은 unlabeled 코퍼스를 이용한 훈련을 통해 단어 임베딩을 사용하는 방식들이 높은 성능을 낸다는 것을 입증했다. 하지만 이 연구들은 주로 단어 단위의 정보를 학습했고, 본 연구에서는 더 높은 차원의 의미를 포착해내는 방법을 시도했다.
2.2 Unsupervised pre-training
Unsupervised pre-training의 목적은 이 후 수행될 supervised learning에 좋은 초기화 포인트를 제공하는 것이다. 이전에는 이미지 분류, 회귀 문제 등에 이 방법이 사용됐었다. 후속 연구에서 Pre-training 기법은 정규화 작용을 하여 딥러닝 모델을 더 잘 일반화하는 것이 밝혀졌고, 최근의 연구에서 이 기법은 이미지 분류, 발언 인식, 기계 번역 등의 다양한 task에서 딥러닝 모델이 더 잘 훈련될 수 있게 하기 위해 사용되었다.
GPT와 가장 유사한 연구는 신경망을 언어모델링 목적함수를 사용하여 Pre-train 시키고 Target task에 맞춰 Supervised fine-tuning 하는 것이다. 그러나 이러한 방식을 적용하는 데 있어 LSTM의 사용은 예측 사이즈를 좁은 범위에 한정시킨다. 하지만 Transformer를 사용함으로써 넓은 범위에 걸친 언어적 구조와 정보를 학습할 수 있게 하였고 나아가 다양한 과제에 사용할 수 있게 되었다.
또한 Target task에 맞춘 Supervised fine-tuning에 사전학습된 언어/기계번역 모델에서 얻은 은닉 표현에 부가적으로 상당한 양의 parameter를 추가하는데, GPT는 fine-tuning시에 아주 작은 변화만을 필요로 한다.
3. Framework
학습은 크게 두가지 stage로 나뉜다.
- Language Model을 대용량 Corpus에서 Unsupervisued pre-training 한다.
- Labeld data를 사용하여 Pre-train 된 Language Model을 Supervised fine-tuning 한다.
3.1 Unsupervised pre-training
token의 비지도 말뭉치
조건부확률
GPT는 언어 모델로 Transformer의 변형인 multi-layer Transformer decoder를 사용한다. 이 모델은 입력 문맥 token에 multi-headed self-attention을 적용한 후, 목표 token에 대한 출력 분포를 얻기 위해 position-wise feedforward layer를 적용한다. 이를 수식으로 표현하면 아래와 같다.
3.2 supervised fine-training
Language model의 Objective에 대해 모델을 Pre-training 한 후, 각 Instance가 Label y에 따른 입력 토큰
이 레이어는 다음의 목적함수를 최대화하는 방향으로 학습된다.
미세조정 단계에 언어 모델을 보조 목적함수로 포함시키는 것은 다음 이유에서 학습을 돕는다.
- Supervised model의 일반화를 향상하고
- 수렴을 가속화한다.
구체적으로, weight
3.3 Task-specific input transformations

Transfer learning을 사용하지 않고 새로운 작업마다 다른 구조의 모델을 소개했던 이전 연구와 달리 GPT모델은 순회 접근법을 사용하여(traversal-style approach) 구조화된 입력을 pre-trained모델이 사용할 수 있는 순서화된 시퀀스로 변환함으로써 약간의 변형만으로 여러 가지 task에 적용할 수 있게 되었다. 모든 변형은 무작위로 초기화된 start token <s>와 end token <e>를 포함한다.
Textual entailment task: 전제 p와 가정 h 토큰 시퀀스를 delimiter token ($)로 concat 한다.
Similarity task: 유사도 측정 task는 비교되는 두 문장의 순서가 없기 때문에 가능한 문장 순서를 모두 포함하도록 입력 시퀀스를 delimiter token과 함께 수정하고, 두 문장의 representation
Question Answering and Commonsense Reasoning: context document
4. Experiment
Natual language inference task, Question Answering and Commonsense Reasoning, Similarity task와 같은 여러 부문에서 state-of-the-art를 달성

5. Analysis

Trasferring 할 때 layer 수에 따른 성능을 비교함으로써 Pre-trained 된 모델의 각 계층에 Target task를 해결하는데 유용한 기능이 포함됨을 확인했다.
본 연구는 기본 generative model이 language model의 capability를 향상하기 위해 많은 task를 수행하는 법을 배우고 transformer의 구조화된 attentional memory가 LSTM에 비해 transfer에 도움이 된다는 것을 가정했다. 따라서 왜 transformer의 language model pre-training이 효과적인지 이해하기 위해 기본 generative model을 supervised fine-tuning을 하지 않았을 때 task에 대한 성능이 어떤지를 확인했다.
상단 오른쪽 그림에서 확인할 수 있듯, generative model의 performance가 안정적이고 지속적으로 증가했으며 이를 통해 generative pre-training이 다양한 task에 관련된 정보를 학습하는데 도움을 준다는 것을 알 수 있다. 또한 transformer 구조가 LSTM에 비해 Zero-shot 성능에 도움이 된다는 것을 입증했다.
'머신러닝, 딥러닝 > NLP' 카테고리의 다른 글
[논문 리뷰, GPT-2]Language Models are Unsupervised Multitask Learners (0) | 2022.05.05 |
---|---|
[ML] Bag of Words(BOW) (0) | 2022.03.03 |
[ML] 텍스트 전처리(텍스트 정규화) (0) | 2022.03.03 |
댓글