[ACL 2020] Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks 논문 정리
ACL 2020 논문 읽기 (2)
Allen AI에서 발표된 ACL 2020 논문이고, Honorable Mention Papers에 선정된 논문이다.
Abstract만 읽고 정리해보기
요즘 자연어 처리의 트렌드가 뭐냐고 물어본다면, 당연히 대용량 코퍼스 (텍스트)로부터 사전학습된 언어 모델 (pretrained Language Model)이라고 말할 수 있다. 이 사전학습된 모델을 우리는 fine-tuning을 통해서 많은 task에 적용할 수 있다.
이 논문에서는 우리가 해결하고자 하는 task의 도메인에 맞게 adapt하는 것이 여전히 도움이 되는지에 대하여 조사한다. 여기서 도메인이란 언어 모델이 학습하는 일반적인 도메인이 아닌 특정 도메인 (예: 생의학, 컴퓨터 과학, 뉴스, 리뷰 등)을 말하는 것이다. 이렇게 특정 도메인에서 사전학습하는 과정을 이 논문에서는 ‘domain-adaptive pretraining’ 이라고 부른다. 실제로 4개의 도메인에 대하여 8개의 분류 task에 대한 실험 결과, 높고 낮은 리소스 세팅에서 모두 성능이 개선되었다.
또한, task의 unlabeled data에 대한 사전학습 (task-adaptive pretraining)도 성능을 개선시키는 데 도움이 되었다.
마지막으로 domain-adaptive pretraining이 불가능한 상황에서, 간단한 데이터 선택 전략을 이용하여 task corpus를 augmentation하여 adapt하는 것이 효과적인 대안인 것을 보였다.
한 문장으로 정리하자면, 이 논문에서는 여러 phase로 adaptive pretrianing하는 것이 성능 개선에 도움이 된다는 것을 보였다. 즉, 제목 그대로 pretraining을 멈추지 말고, 도메인와 task에 더 adapt하면 좋다는 의미.
Domain-Adaptive Pretraining (DAPT)
Approcah
접근법은 기본적으로 수행하는 pretraining 이후에 도메인에 특화된 large corpus로 이어서 pretrianing을 진행하는 것이다. 이 논문에서는 총 4개의 도메인 (biomedical, computer science, news, reviews)에 대해서 다뤘다. 각 도메인 별로 어느 corpus를 사용하였고, pretraining 전후의 loss는 아래와 같다.

(개인적으로는 더 많은 데이터로 학습을 하고, 도메인에 특화된 데이터로 학습하는 데 좋아지는 것이 당연하지 않나 생각이 들긴 했다..)
Domain Relevance for DAPT
저자는 DAPT를 해당 도메인으로 하였을 때와 관련 없는 도메인을 하였을 때의 결과를 비교하였다. 아마 이는 단순히 더 많은 데이터로 학습해서 성능이 개선된 것이 아니다라고 보이는 듯 하다. 각 도메인에 대해 DAPT를 적용한 결과와 관련 없는 도메인으로 DAPT를 적용한 결과는 아래와 같다. (+ baseline)

Domain Similarity
DAPT를 적용하기 전에 사전 학습한 데이터 도메인 (PT)와 각 도메인 간의 유사도를 vocabulary overlap을 기준으로 비교하였다. 특별히 봐둘 점은 News와 Review 간의 유사도가 40%가 된다는 것이다.

Domain Overlap
DAPT는 task data는 특정 도메인이라는 것에 대해 기반되는데, 앞서 말했듯이 News와 Review는 40%의 유사도를 갖는다. 따라서, 모델을 News 도메인에 DAPT하는 것이 Reviews task에 대해서는 성능을 해치지 않는다는 것을 확인했다. 이러한 점을 잘 이용하여 좀 더 효율적으로 DAPT를 할 수 있지 않을까? 이는 후속 연구를 위해 남겨놓는다고 한다.
Task-Adaptive Pretraining
Approach
Task-Adaptive Pretraining은 사전 학습 이후 해당 task의 training data만 이용하여 adaptive pretraining을 진행하는 방식이다. DAPT보다 훨씬 적은 데이터를 사용한다. 결론부터 말하자면 TAPT 역시 Roberta baseline의 성능보다 개선된다.
DAPT + TAPT
여기서 DAPT 와 TAPT를 결합한 실험도 진행하였는데, 사전 학습 이후 DAPT 그리고 그 이후에 TAPT를 진행하는 세팅이다. DAPT와 TAPT을 모두 적용한 접근법이 1개를 제외한 모든 task에서 가장 좋은 성능을 기록하였다.

Cross-Task Transfer
단순하게 같은 도메인의 데이터로 사전학습하면 좋아지는 것이 아니라 같은 도메인의 해당 task의 데이터로 사전학습하는 것이 좋다는 것을 보여주는 실험 및 결과이다. 위의 표를 보면 항상 한 도메인에 2개의 Task가 있었다. 같은 도메인의 다른 Task의 학습데이터로 사전학습을 했을 때 (Transfer-TAPT)와 TAPT를 했을 때의 결과를 비교한다.

이 결과는 주어진 도메인 간에도 task의 distribution이 다를 수 있다는 것을 보인다. 또한, 단순히 포괄적인 도메인에 대해서만 adapting하는 것이 충분하지 않다는 것을 보이고, TAPT를 DAPT 이후에 하는 것이 효율적인지도 보여준다.
Augmenting Training Data for Task-Adaptive Pretraining
TAPT의 성공에 영감을 받아, 해당 task의 distribution의 unlabeled data를 갖는 큰 pool이 있는 다른 setting을 구상하였다.
Human Curated-TAPT
데이터셋을 생성하는 과정에서 대규모의 unlabeled corpus를 활용하는데, 실제 사람이 annotation하는 경우 주어진 예산에 따라 활용하는 corpus의 범위가 downsampling된다. 그 대규모 unlabeled corpus로 실제 task의 학습 데이터와 유사한 분포를 갖고 있을 것으로 기대되기 때문에 이러한 데이터를 TAPT에 이용하는 방식이다.
- Setting
RCT: 기존의 데이터셋을 low-resource로 세팅하여 일부 (500개)만 training data로 활용하고 (downsampling), 나머지 데이터셋을 unlabeled 형태로 이용
HyperPartisan shared task: 이 데이터는 low resource와 high resource로 두 개의 트랙으로 구성되어 있어, low resource data를 training data로, high resource를 Curated-TAPT unlabeled data로 활용
IMDB: extra unlabeled data를 이용

Automated Data Selection for TAPT
하지만, 항상 데이터가 충분히 존재하는 것은 아니다. 큰 양의 unlabeled data를 사용할 수 없는 경우도 있고 충분한 컴퓨팅 자원을 사용할 수 없는 경우도 있다. 이를 위해서 task 분포에 걸쳐 있는 unlabeled text를 retrieve하는 간단한 unsupervised 방법을 소개한다.
Approach
도메인 데이터를 task와 도메인이 공존하는 공간 (shared space)내에 임베딩하고, task data 쿼리에 기반하여 후보군을 선택하여 task-relevant data를 찾는다. (이 경우 대용량의 데이터를 임베딩해야 하기 때문에 가벼운 임베딩 모델을 사용해야 한다.)
이러한 점을 고려하여 VAMPIRE (가벼운 bag-of-words 언어 모델) 을 사용하였다. 후보군을 선택하는 방법은 k-NN과 random 선택이 있고, k를 다양한 파라미터로 실험하였다. 결과는 아래 표와 같다.

Computational Requirements
제안한 모든 접근법에 대한 컴퓨팅 자원 요구사항 및 성능을 나타내었다. (Biomedical 도메인의 RCT-500 데이터셋 한정)

My Discussion
읽으면서 당연한 것이 아닌가라고 생각하던 점을 직접 실험 결과를 보면서 꼭 그런 것은 아니고, 이를 증명하기 위해 많은 실험과 고민을 했겠구나라는 생각을 하였다. 실제로 Roberta 모델을 다른 도메인에 fine-tuning해본 경험이 있었는데 생각보다 잘 fine-tuning이 되지 않았는데 이 논문을 미리 알았더라면 하는 생각이 든다. 되게 알찬 논문이라서 재밌게 읽었다.