회사에서 프로젝트를 진행하면서 Domain adaption에 관한 질문을 텐플코에 올렸다가 추천받은 논문인데 마침 스터디 주제 논문도 이 논문이라 정리하는 겸 블로그에 작성하게 되었다.
발표된 이후 많은 관심을 받고 있는 BERT를 회사에서나 특정 도메인에서 사용할 때 기존에 학습된 모델(KorBERT, HanBERT)를 사용하여 fine-tuning을 한다면 성능을 크게 기대하기 어려울 것이다. Pre-training시 이용한 위키피디아 데이터셋들은 적용하고자 하는 도메인과 많이 다르기 때문이다. 전에 읽었던 LegalBERT는 이러한 경우에 다음의 세가지 방법을 생각해볼수 있다고 했다.
(a) use the original BERT out of the box
(b) adapt BERT by additional pre-training on domain-specific cor- pora
(c) pre-train BERT from scratch on domain-specific corpora.
위의 세가지를 실험한 결과, LegalBERT는 additinal pre-training이 가장 성능이 좋았다고 하나, 이는 task에 따라, 많은 변수에 따라 다를 것이라고 하였다.
이러한 특정 도메인에서의 언어모델 도입에 대해 많은 방법과 의견들이 있는 와중에 읽어보면 좋을 다음의 논문의 리뷰를 시작한다.
Abstract
많은 분야의 텍스트에 대해 pre-trained된 언어 모델들은 오늘날 NLP의 토대를 구성하고 있다.
이 논문은 pre-trained model을 특정 task의 도메인에 적용하는 것이 여전히 효과가 있는지에 대해 다루었다. 4가지의 도메인에 대해서 연구를 진행하였는데, Biomedical, computer science publications, new 그리고 review에 대해서 진행하였다. 그리고 8가지의 분류 task에 대해 진행하였는데 도메인에서 pre-training하는 두번째 단계가 성능의 개선을 만들었다고 한다.
또한, 라벨링되지 않은 데이터에 적용하는 것(task-adaptive pretraining)은 domain-adaptive pretraining이후에도 성능을 개선시켰다.
마침내, 한 augmented task corpus에 적용하는 것이 효과적인 대안임을 밝혀냈다. 특히, domain-adaptive pretraining의 자원(데이터)를 이용할 수 없을 때 효과적이였다.
이 논문에서는 지속적으로 여러단계의 adaptive pretraining이 성능 개선에 큰 기여를 했음을 밝힌다.
Introduction
오늘날 pretrained 언어모델은 방대한 양의, 그리고 다양한 코퍼스에서 학습된다.
예를 들어, 페이스북의 RoBERTA(BERT를 최적화한 모델)는 160GB의 텍스트에 대해 학습되었는데 텍스트는 영어 백과사전과 뉴스 기사들부터 문학 작품들 그리고 웹에 있는 자료들까지들로 이루어져있다.
이러한 모델들에 의한 representation은 다양한 task에서 높은 성능을 보여준다. 이러한 점은 우리에게 물음을 던진다.
task의 *문맥적인 도메인이 여전히 적절한가?
*여기서 문맥적인 도메인이란 주어진 토픽이나 장르를 특정짓는 언어에 대한 분포를 의미한다.
(예를 들어, 미스터리 소설에서는 사용하는 언어 분포가 뉴스에서의 언어분포와 다를 것이다.)
-
최신 large pretrained models이 광범위하게 작동하는가?
-
여전히 특정 도메인에 대한 별개의 pretrained model을 만드는게 도움이 되는가?
몇몇의 연구들이 특정 도메인의 라벨링되지 않은 데이터에 대해 continued pretraining하는 것에 대한 이점을 증명해왔지만, 이러한 연구들은 한 번에 하나의 도메인에 대해서만 고려하고 가장 최근 언어모델들보다는 더 작고 덜 다양한 코퍼스에 사전학습된 언어모델(BERT와 같은 모델이 아닌)을 사용한다.
또한, continued pretraining의 장점이 사용가능한 라벨링된 task 데이터의 양과 같은 요소나 오리지날 도메인과 타겟 도메인과의 거리와 같은 요소에 따라 어떻게 다른지에 대해서도 알려지지 않았다.
이 논문에서는 하나의 high performing 모델에 대해서 이러한 의문을 처리하였는데, 바로 RoBERTA이다.
앞에서도 언급하였듯이 4개의 도메인(biomedical, computer science publications, news and reviews)를 고려하였다. 또 각 도메인당 2개의 task를 수행하여 총 8개의 분류 task를 진행하였다.
이미 RoBERTA 학습 도메인 외의 데이터들에 대해서, 논문의 실험은 continued pretraining(= DAPT : domain-adaptive pretraining) 이 일관되게 high- and low resource settings 모두에서 target domain의 task에서의 성능을 개선시킴을 보였다.
이는 더 task에 직접적으로 연관된 말뭉치에서 사전학습하는것이 더 성능을 개선하는 지에 대한 물음을 던진다.
(오리지날 도메인과 타겟 도메인간의 거리가 중요한 가에 대한 물음)
논문에서는 어떻게 domain adaptive pretraining(DAPT)이 더 작지만 더 직접적으로 연관된 말뭉치에 대해서 task adaptive pretraining(TAPT)과 비교되는지에 대해 연구하였다.
TAPT는 효과적임을 증명해왔지만 가장 최근의 모델들에 대해서는 사용되지 않았다. 이 논문의 저자들은 TAPT가 DAPT의 유무에 상관없이 RoBERTA에 큰 성능 개선을 보임을 찾았다.
마침내, 이들은 task 디자이너나 annotators에 의해 일일이 정제된 unlabelded data를 추가했을 때 TAPT의 장점이 증가함을 보였다. 이러한 성공에 영감을 받아, 저자들은 자동으로 추가적인 task-relevant unlabeled text를 선택하는 방법에 대해 제시하고 어떻게 이게 특정 케이스에서 성능을 개선시켰는지에 대해 보여주었다.
모든 tasks에서, adaptive pretraining을 사용한 논문의 결과는 SOTA와 견줄만 하다.
요약하자면, 이 논문의 기여는 다음 세 가지와 같다.
-
4개의 도메인과 8개의 tasks에 DAPT와 TAPT에 대한 철저한 분석
-
]Adapted 언어모델의 transferability에 대한 조사
-
인간이 직접 큐레이팅한 데이터셋에 대해 사전학습하는 것에 대한 강조 그리고 퍼포먼스를 위한 간단한 데이터 선택 전략
Background : Pretraining
2018년 이후로 대부분의 NLP 연구시스템은 다음 두 단계의 training으로 구성되어 있다.
1) 몇백만개의 파라미터를 가진 Neural Language Model(LM)이 큰 unlabeled data에서 학습된다. 2) 사전 학습된 모델을 통한 Word representations은 fine-tuning등의 과정과 함께 downstream task을 위한 supervised training에서 재사용된다.
이러한 사전학습된 언어모델의 한 예가 RoBERTA이다. RoBERTA는 BERT와 같은 트랜스포머기반의 구조를 가지고 있는데 RoBERTA는 masked 언어 모델링 objective에서 학습된다. RoBERTA가 BERT보다 더 좋은 성능을 보여줬기 때문에 이 논문은 RoBERTA를 baseline 모델로 선택하였다.
RoBERTA의 사전학습 말뭉치가 많은 곳에서부터 왔음에도 불구하고 이것이 많은 영역을 커버할 수 있을만큼 충분히 다양한지에 대해서는 확실하지 않다. 달리 말하자면, 이 논문의 저자들은 RoBERTA의 도메인 외의 것들을 이해하고자 한다.
이를 위해서, RoBERTA를 두 가지 카테고리의 unlabeled data를 이용한 continued pretraining을 해서 adaptation하였다.
첫번째 카테고리는 domain-specific text의 큰 말뭉치이고 두번째는 주어진 task와 관련된 unlabeled data이다.
Domain-Adaptive Pretraining
이 논문에서의 DAPT에 대한 방법은 직관적이다. RoBERTA를 unlabeled domain-specific text의 큰 말뭉치에서 pre-training하는 것이다.
위에서 언급한 4가지 도메인에 대해 실험을 하였다. 아래의 표에서 각 도메인에 대해 사용한 사전학습 말뭉치를 확인할 수 있다.
1> Analyzing Domain Similarity
DAPT를 하기전에, 이 저자들은 우선 RoBERTA의 pretraining 도메인과 target 도메인간의 유사도를 정량화하고자 하였다. 이를 위해 각 도메인에서 가장 빈번한 unigrams 10000개(stopwords 제외)를 포함한 도메인 사전을 만들었는데, REVIEWS 데이터셋은 데이터들의 길이가 짧기 때문에 150K개의 문서를 사용하였고 다른 세 개의 도메인에서는 50K개의 문서를 사용하였다. 또한 오리지날 사전학습 말뭉치는 공개되지 않았기 때문에 RoBERTA의 사전학습 말뭉치와 유사한 sources에서 50K개의 문서를 샘플링하였다.
이러한 도메인 사전간의 유사도(overlapping)을 아래에서 확인할 수 있다.
RoBERTA의 사전학습 domain이 NEWS와 REVIEWS와 큰 overlap을 보임을 확인할 수 있다.
이를 통해 RoBERTA를 다른 도메인에 adaptation하는 이점의 정도를 알 수 있다.
더 도메인이 다를수록, 더 DAPT에 대한 잠재력이 높다.
2> Experiments
이 논문에서의 LM adaption은 RoBERTA를 학습하는데에 사용된 셋팅을 따라했는데, 각 도메인에 대해 12.5K 스텝 학습하였다.
저자들은 각 도메인에서의 RoBERTA의 masked LM loss을 DAPT 전과 후에서 각각 보여주었다. 여기서 masked LM loss가 DAPT후에 NEWS데이터셋을 제외한 모든 도메인에서 감소함을 알 수 있다. (NEWS dataset에서는 증가했다고 한다.)
각 도메인에서 2가지의 텍스트 분류 tasks를 고려하였는데, 아래의 표에서 확인할 수 있다.
논문에서의 tasks는 high resource와 low resource 둘 다를 대표한다.(즉, 두 tasks중 하나는 low resource, 다른 하나는 high resource)
Baseline
모델의 baseline으로는 기존의 RoBERTA-base model를 사용하였고 supervised fine-tuning을 각 분류 tasks에 맞게 수행하였다. 평균적으로, RoBERTA는 SOTA에 크게 뒤떨어지지 않으며 좋은 baseline이 된다.
Classification Architecture
전형적인 실험방식을 따르며 저자들은 final 레이어 [CLS] token representation을 task-specific feed-forward 레이어에 예측을 위해 넣는다.
Results
테스트 결과는 다음과 같다.
모든 도메인에서 ROBERTA보다 우수함을 확인할 수 있다.
BIOMED, CS 그리고 REVIEWS 데이터셋에 대해서는 일관된 성능개선을 확인하면서 target 도메인이 ROBERTA의 source 도메인보다 먼 경우에서의 DAPT의 이점을 확인하였다. 패턴은 resource에 관계없이 일관된 결과를 보여주었다.
DAPT가 NEWS 도메인의 AGNEWS task에서 더 나은 성능을 보여주지 않았음에도 불구하고, HYPERPARTISAN에서 확인한 이점들은 DAPT가 심지어 ROBERTA의 source 도메인과 더 밀접한 tasks에도 유용한 것을 확인시켜주었다.
3> Domain Relevance for DAPT
저자들은 또한 모델의 결과가 단지 데이터를 더 많이 이용해서 얻은 것이 아님을 보여주기 위해 LM을 outside the domain of interest에도 적용을 하였다. (즉, 관련이 적은 도메인에 adaption.)
위의 데이터셋을 가지고 설명하자면, NEWS dataset에 CS LM, REVIEWS dataset - BIOMED LM, CS - NEWS LM 그리고 BIOMED - REVIEWS LM을 사용하였다. (위의 표에서 "ㄱDAPT" 컬럼이 결과를 나타낸다.)
대부분의 경우에서 DAPT가 ㄱDAPT보다 성능이 우수함을 보였고 ㄱDAPT는 RoBERTA보다 낮은 성능을 보여주었다.
(관련성이 적은 도메인의 데이터를 사용하는 것이 end-task 성능에 악영향을 끼치는 것을 나타낸다.)
두 가지 경우에서는 RoBERTA보다 나은 점수를 보여주였는데 이는 몇몇의 경우에는 데이터를 추가하여 continued pretraining하는 것이 유용한 것을 나타낸다.(이 부분이 조금 애매모호한 것 같다.)
4> Domain Overlap
DAPT에 대한 분석은 어떻게 task data가 특정 도메인에 지정되어있는지에 대한 이전의 직관들을 바탕으로 하였는데, 예를 들어 HELPFULNESS(유용한 리뷰인지에 대해 분류하는 task)에 DAPT를 수행하기 위해 저자들은 AMAZON reviews 데이터만을 적용하고 REALNEWS 기사들에 대해서는 적용하지 않았다.
(직관적으로 당연하다. 리뷰 분류를 위해 리뷰 데이터셋만 사용하는 것이므로...)
그러나, 위의 figure 2의 그라데이션은 도메인간의 경계선들이 어떤 점에서 "fuzzy"한 것을 알 수 있다.
예를 들어, unigram의 40%은 REVIEWS와 NEWS가 공유한다. 또한 질적으로(qualitatively) 도메인간의 overlapped documents를 확인해보았는데, 아래 Table 4에서 확인할 수 있다.
(왼쪽이 REVIEWS, 오른쪽이 NEWS) -> 사실 이것도 keyword 분석이므로 정량적인 분석이 아닌가 싶다.
RoBERTA를 NEWS 데이터에 적용하는 것은 REVIEWS tasks에 적용하는 것보다 악영향을 끼치지 않는다.
비록 이러한 분석이 포괄적이지는 않지만, 이는 도메인간의 차이를 야기하는 요소들이 mutually exclusive하지 않은 가능성이 있음을 나타낸다.(뭔말)
전통적인 도메인 경계선을 넘는 pretraining이 더 효과적인 DAPT를 낳을 수 있다. 일반적으로, 데이터의 출처는 사전학습 과정을 디자인할 때와 일반화 가능성을 테스트하기 위한 새로운 벤치마크들을 생성할 때 중요하다.
아래의 포스팅에서 이어집니다.
댓글