이 포스트는 최근 Eleuther.AI 의 Language Transferring 프로젝트에 참여하면서 공부한 내용을 정리하고자 작성하게 되었다.

BERT, GPT-3, GPT-Neo와 같은 현재까지 공개된 큰 스케일의 PLM (Pre-trained Languae Model) 은 영어 데이터를 기반으로 한 모델이 가장 많다. PLM 연구가 성숙됨에 따라 한국어, 중국어, 독일어와 같은 비영어 모델들이 많이 공개되었다. 그럼에도 불구하고 영어 기반 모델의 수가 여전히 가장 많은데, 그 이유는 데이터의 양에서 찾을 수 있다. 인터넷에서 세게 공용어인 영어가 압도적으로 많이 사용되고 있으며 그에 따라 PLM을 훈련시키는데 영어 데이터를 상대적으로 더 쉽게, 그리고 더 많이 확보할 수 있는 것이다.

다국어를 타겟팅하는 언어 모델의 연구 또한 최근 몇년동안 꾸준히 활발하게 진행되고 있다. Multilingual BERT (mBERT) 의 공개가 그의 시작이다. 104개 언어의 데이터로 Pre-training 한 다국어 버전 BERT 모델이다. 즉, 처음부터 하나의 언어를 위한 monolingual representation이 아닌 다국어의 정보를 담은 cross-lingual representation 을 학습하였다. mBERT 외에도 XLM, XLM-R 와 같은 multilingual PLM 모델들이 있다. 이러한 초기 multilingual PLM 들은 “Curse of Multilinguality”라 불리우는 큰 한계점이 있는데, 그것은 고정된 모델 사이즈에서 pre-training 언어가 일정 갯수를 초과할 시 모델의 성능이 하향되기 시작한다는 것이다. 모델의 크기를 늘려 robustness를 올리는 일시적 해결 방법이 있기는 하지만 무한으로 계산 자원을 늘릴 수는 없으니 본질적인 솔루션은 아니다. 데이터의 불균형 문제도 있다. 가령, 영어 데이터를 100개 수집할 수 있을 때 어떤 언어는 50개, 어떤 언어는 10개도 모으기가 힘들 수 있다. 모델 성능은 일반적으로 데이터의 양에 정비례한다. 따라서 pre-training에서 데이터를 적게 사용한 언어의 성능은 떨어질 수 밖에 없다.

그렇다면 데이터가 적은 low-resource 언어의 정보는 high-resource 언어만큼 큰 스케일의 언어 모델로 훈련시킬 수 없는걸까? 이번 포스트에서는 high-resource 언어를 이용하여 low-resource 언어를 모델이 잘 학습하도록 하는 방법인 Cross-lingual Transfer Learning 을 알아본다. 비슷한 연구인 Monolingual Language Transfer Learning 은 다음 포스트에서 다루려고 한다.

Cross-lingual Transfer Learning Objective

Cross-lingual transfer learning 개요.

Cross-lingual representation 이란 cross-lingual 정보를 담은 representation을 뜻한다. 즉, 여러개의 모델이 각각 다른 언어를 따로 학습하는 것이 아닌, 하나의 모델이 다국어를 표현하는 universal embedding을 학습한다. 앞서 언급한 mBERT 과 XLM 모델이 cross-lingual representation을 학습하는 multilingual pre-trained model 이다.

Cross-lingual Transfer Learning (CLTL) 은 이런 cross-lingual PLM 모델에 fine-tuning 진행한다. 원래 PLM이 지닌 정보와 새로운 데이터를 활용하여 새로운 지식을 학습하는 것이 목적이다. PLM 에서 충분히 학습되지 못한 언어나 아예 새로운 언어를 모델로 하여금 학습하도록 한다. Source 언어의 정보를 이용한다는 점이 중요하다. 잘 학습된 source 언어를 어떠한 방법을 통해 target 언어로 “transfer” 한다. 예를 들어, mBERT 를 target 언어인 한국어 데이터로 fine-tuning 한다고 해보자. mBERT가 기존에 학습했던 104개의 언어가 source 이다. 우리가 기대하는 결과는 training from scratch 한 한국어 모델 (이하 scratch 모델) 보다, mBERT 에 CLTL 하여 얻은 모델의 한국어 성능이 더 좋은 것이다. 즉, 똑같이 10만 개의 한국어 데이터를 이용한다고 했을 때, scratch model보다 CLTL로 fine-tuning된 모델이 한국어를 더 잘 학습하게끔 한다.

참고로, 한국어는 low-resource 언어라고 보기 힘들다는 의견도 많다. Scratch 모델을 학습할 정도의 데이터는 충분히 수집이 가능하기 때문이다. CLTL 은 한국어보다 더 자원이 적은 언어를 대상으로 할 때 더 뛰어난 효과를 기대할 수 있다.

Cross-lingual Transfer Methods

Transfer 방식은 크게 세 분류로 나눌 수 있다. 각각 instance transfer, parameter transfer, feature transfer 이다.

Instance transfer은 target 언어의 다양한 instance를 transfer 하여 source 언어의 instance를 풍부화한다. 현재까지 다양한 instance transfer 방법이 제시되었지만, 가장 직관적이면서도 효과적인 방법은 translation data augmentation이다. Source 언어의 데이터를 target 언어로 NMT 등을 이용해 번역하는 방식으로 더 많은 target 언어를 확보한다. 가장 쉬운 예시를 살펴보자면, R는 real text data 모음을, A는 translation data 모음을 나타내며, Source 언어를 S로, target 언어를 T로 표기한다고 하자. Source 언어의 병렬 데이터 (real text data) 모음은 RTTrain = (XSTrain, YSTrain) 로 정의할 수 있다. RTTrain에 Instance transfer을 수행하면 번역의 결과물인 target 언어의 pseudo-training data ATTrain = (XTTrain, YTTrain) 을 얻는다. Test 데이터에도 마찬가지로 transfer 을 적용한다.

Example of parameter transfer.
(Effective Cross-lingual Transfer of Neural Machine Translation Models without Shared Vocabularies)

Parameter transfer은 share-private 모델 아키텍처를 학습하는 등의 방법으로 parameter을 transfer한다. 가령, PLM 이 학습한 parameter 을 그대로 가져와 재학습 시키는 방법이 이에 해당한다. 일부 parameter은 freeze 하여 기존에 배운 정보를 일부 고정한 상태에서 모델 학습을 진행할 수도 있다.

마지막으로 feature transfer은 source 언어의 특징을 target 언어로 transfer 하는 방식으로 학습한다. 가령 언어간 representation 갭을 align 하는 방법이 여기에 속한다. 예를 들어, 위 그림은 보면 다른 언어들의 sentence representation 같은 space에 뿌린 모습인데, 언어마다 위치하는 자리가 조금씩 다르다. 특히 언어의 특징이 다른 언어일수록 해당 공간에서의 거리도 멀어진다. feature transfer 에 속하는 representation gap reducing 방법은, 서로 다른 언어가 최종적으로 비슷한 위치에 뿌려질 수 있도록 한다.

Example of feature transfer.
(Enhancing Cross-lingual Transfer by Manifold Mixup)

위 그림에서 Translate-train 과 X-MIXUP 은 모두 feature transfer 방식을 이용하는 메쏘드이다. 두 방식 모두 다국어 데이터를 같은 공간에 뿌렸을 때, 비슷한 위치에 위치할 수 있도록 학습한다. X-MIXUP 을 적용했을 때 다른 언어들의 분포가 좀 더 비슷한 것을 확인할 수 있다.

Model Evaluation

Cross-lingual representation transfer learning 평가에서 봐야 할 것은 transfer learning을 거친 모델이 기존 모델과 비교했을 때 얼마나 성능이 증가하였는가이다. 즉, task evaluation 방식으로 기존 모델과 성능을 비교하기만 하면 된다. 예를 들어, [논문]에서는 mBERT와 XLM-R을 backbone 모델로 하여 transfer learning을 진행한다. 태스크는 XTREME 의 태스크, XNLI, PAWS-X, POS 등을 포함한다.

Example of CLTL model evaluation.
((Enhancing Cross-lingual Transfer by Manifold Mixup))

Instance transfer 과 feature transfer을 적용한 X-MIXUP 이 다양한 task에서 backbone 모델과 다른 baseline 모델보다 높은 성능을 얻었음이 확인되었다. 여기서 사용한 평가 지표는 기존 task에서 사용되는 지표와 같다. 예를 들어, NER 태스크는 F1 score 로 성능을 비교했다.

Summary

이번 포스트에서는 CLTL을 간략히 정리해보았다. CLTL은 기존 PLM을 활용하여 적은 언어 데이터만으로도 large scale language model을 만들 수 있는 매우 효과적인 방법이다. 다음 포스트에서는 CLTL과 비슷하지만 다른 Monolingual Language Transfer Learning에 대해 다뤄보려고 한다.

Jaein Kim

I'm a Computer Science PhD candidate from South Korea, currently based in Beijing, China. My academic journey is dedicated to pioneering research in Natural Language Processing and Knowledge Graphs, striving to break new ground in these dynamic fields.

Recommended Posts

생물을 사랑하는 AI 박사생 이야기

요즘 듣고 있는 Coursera 뇌과학 강좌에 대해 쓰려다가 에세이가 되버린 생물을 사랑하는 AI 박사생의 이야기입니다. 🙃 지금 NLP를 공부하는 AI 박사과정 학생이지만, 제 관심사는 언제나 다른 곳을 향해 있었습니다. 어릴 때부터 지금까지 살아오면서 언제나 무언가를 키우고 있을 정도로 생물에 대한 관심이 참 […]

Entity Alignment 태스크 및 벤치마크, 데이터셋 알아보기

오늘은 Knowledge Graph (KG) 관련 태스크 중 Entity Alignment (EA)에 대해 보다 자세히 알아보겠습니다. KG 개념에 익숙하지 않으시다면 지난 글을 읽고 오시면 도움이 됩니다. 지난 글에서 간단히 소개했듯, EA는 다른 두 개 (혹은 그 이상의) KG가 가진 엔티티들 중, 실세계에서 같은 객체를 […]

지식 그래프 (Knowledge Graphs) 개념과 관련 태스크, 그리고 NLP와의 관계성

이번 글에서는 지식 그래프의 기본 개념에 대해 알아보고, 관련된 대표적인 태스크로 어떤 것들이 있는지 간단하게 알아보겠습니다. 또 KG와 NLP와의 관련성에 대해서도 간단히 소개하며 마무리하겠습니다. Knowledge Graph (KG) 기본 개념 KG는 real-world의 객체 (entity) 사이의 관계 (relation)를 그래프 형태로 모델링한 것으로, 구조화된 데이터의 […]

AI 박사생의 연구 삽질 여정 (현재 진행형)

이번 글은 한탄과 다짐이 섞인 근황 이야기입니다. 개인 웹사이트에서는 처음 쓰는 사적인 이야기인 것 같습니다. 저는 베이징 소재 공대의 컴퓨터 공학부에서 AI를 공부하고 있는 박사 과정 학생입니다. 저는 언제나 AI를 “연구”한다고 표현하지 않고 “공부”한다고 표현하는데 그건 제가 아직도 한참 삽질의 여정을 보내고 […]