How Multilingual is Multilingual BERT?
2.Overview
Multilingual BERT는 Google에서 발표한 BERT (Devlin et al., 2018)의 다국어 버전으로 104개 언어의 위키피디아 코퍼스를 모두 사용하여 pre-training을 진행하였다는 것 외에 기존 BERT과 학습 과정이 다르지 않습니다. 그럼에도 불구하고 Multilingual BERT는 다양한 언어 및 task에서 높은 일반화 성능을 보여주고 있으며, 특히 fine-tuning 시 보지 않았던 언어에 대해 inference를 수행하는 zero-shot cross lingual transfer learning에서도 준수한 성능을 기록하여 주목받고 있습니다. 본 세미나에서는 Multilingual BERT의 multilingual 성능이 어느 정도 이며, 어디에서 이러한 역량이 기인하는지 살펴보았습니다. 추가로, Multilingual BERT의 일반화 성능이 크지 않은 영역 및 환경은 어떤 것인지에 대한 내용도 다루었습니다. 마지막으로 개인 연구로 진행 중인 다중 감성 분석에 cross lingual transfer learning을 적용한 결과를 살펴보고 Multilingual BERT가 가진 한계점과 개선방안에 대해 언급하였습니다.
3. 발표자료 및 발표영상
[1] 발표자료
[2] ">발표영상
4. 참고문헌
[1] Pires et al. "How Multilingual is Multilingual BERT?" Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. 2019.
[2] Devlin et al., "BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding" Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics. 2019.
[3] Bostan et al., "An Analysis of Annotated Corpora for Emotion Classification in Text" Proceedings of the 27th International Conference on Computational Linguistics. 2018.
세미나를 듣는 입장에서 매우 듣기 편한(?) 발표였습니다. 발표자가 세워둔 흐름을 따라가면서 제안하는 모델의 contribution과 성능 그리고 한계에 대해서 알 수 있었습니다. 내용과 크게 연관성은 없지만, 개인적으로는 transformer와 BERT의 등장 이후로 NLP 분야가 매우 빠르고 가파르게 발전하고 있다고 생각합니다. 기존에 항상 한계처럼 느껴졌던, embedding의 이산적인 부분을 완전히 해소하지는 못하였지만 상당부분 완화하였다고 생각합니다. 이러한 특성으로 여러 분야에 BERT를 사용하는 것이 요즘 트렌드입니다. 본 논문에서는 Multilingual task를 BERT를 통하여 풀었으며 few shot learning을 통하여 부족한 데이터에 대한 robust함도 입증 하였습니다. 가장 흥미로웠던 부분은 서로 다른 언어들의 맵핑이었습니다. 이전에 auto encoder 형태의 임베딩 형태에서는 그당시 생각할 수 있는 모든 방법을 사용해 보았음에도 맵핑이 되지 않았었는데, BERT를 사용하여 매우 간단하게 구현할 수 있었습니다.
논문을 읽음으로 끝나지 않고 개인 연구에 접목하는 부분도 좋았습니다. 현재 가지고 있는 데이터가 영어와 한글이기 때문에 언어적 특성이 상이하여 multilingual BERT를 사용하더라도 성능이 좋지 못하였지만, 한국어와 비슷한 특성을 지닌 언어를 함께 사용한다면 충분히 의미있는 결과를 확인할 수 있을 것 같았습니다.
끝으로 전달하고자 하는 내용에 대해서 발표 자료를 구성하고 발표의 흐름을 구성하는 부분은 언제나 배울점이라고 생각합니다.
Multilingual BERT가 왜 잘 되는지, 그리고 어떤 점에서 잘 되지 않는지 잘 와닿은 좋은 발표였습니다. 원래 multilingual language model의 필요성에 대한 의문이 있었는데 본 논문을 읽고 발표를 들으니 multilingual model 이용해 희소 언어에 대한 의미있는 연구를 할 수 있겠다는 생각이 들었습니다. 논문에서 가장 인상깊었던 부분은 zero-shot task에 대한 성능이었습니다. 연구 결과에 따르면 NER이나 POS tagging같은 task에서 fine-tuning을 진행하지 않은 언어에 대해서도 나쁘지 않은 성능을 냈습니다. single language model에 대해 fine-tuning을 진행한 모델보다는 낮지만 이 말은 반대로 cross-lingual transfer learning에 대해서 아직 성능을 향상시킬 수 있는 여지가 많다는 것이라 생각합니다. 이 부분에 대하여 Linguistic typology에 대한 부분을 들으며 생각했던 한 가지 아이디어가 있었습니다. 논문의 연구에 따르면 언어 특징(Topological feature)이 유사한 언어에 대해서는 성능이 향상된다고 합니다. 반대로 말하면 언어 특징이 다른 두 언어가 있을 때 label이 풍부한 언어의 구조를 label이 희소한 언어의 구조와 유사하게 강제로 변경해 transfer learning에 이용한다면 성능이 개선될 수도 있겠다는 생각을 했습니다. 구체적으로 예시를 들자면 label이 풍부한 언어인 영어는 POS tagging이나 Dependency parsing등 문장 구조에 대한 연구가 발달했습니다. 이러한 특징을 이용해 영어 데이터의 문장 구조를 parsing한 뒤 순서를 강제로 바꿔 학습에 이용하는 것입니다.[example) John read the book (SVO) => John the book read (SOV)] 이렇게 하면 영어의 관점에서는 맞지 않는 문장이더라도 cross-lingual transfer learning의 관점에서는 SOV구조를 갖는 언어에 fine-tuning을 수행할 때 구조적 유사성으로부터 오는 긍정적인 효과가 존재하지 않을까 하는 생각을 했습니다. 활발하게 연구가 되는 분야 중 하나인 cross lingual transfer learning task에 대해 자세히 알 수 있었던 발표였습니다.
금일 발표는 “How Multilingual is Multilingual BERT?” 논문에 관한 리뷰였습니다. BERT에 대해서는 여러 세미나 및 논문들을 통해 접한 적이 많지만, Multilingual BERT에 관해서는 처음 들었고 무엇보다 논문 제목이 재미있어서 흥미를 가지고 세미나 발표를 청취했습니다. 해당 논문은 이전에 제안된 Multilingual BERT를 다양한 언어와 다양한 NLP task들에 적용한 여러 실험 결과들을 바탕으로 Multilingual BERT에 대해 분석하는 내용이었습니다. 특히 여러 내용들 중 흥미로웠던 부분은 다음과 같습니다. 먼저 Zero-Shot Cross Lingual에 대한 실험들에서 배우지 않은 언어들의 task를 다른 여러 언어들을 학습하는 것만으로 상당히 좋은 성능을 도출하는 것이 인상적이었습니다. 또한, 다양한 문장 구조를 가지는 다양한 언어들에 대한 Multilingual BERT의 실험도 흥미로웠습니다. 실험 결과에서는 언어들의 구조가 비슷한 경우 성능이 높게 나타나며, 다른 구조를 가지고 있는 언어간의 실험 성능이 낮은 것을 확인할 수 있었습니다. 특히 해당 실험 결과가 직관적으로 예상할 수 있는 결과와 동일해 흥미로웠습니다. 더불어 해당 논문들의 내용을 바탕으로 노영빈 석사과정이 다중감석분석에 Cross Lingual의 아이디어를 적용하는 것 또한 흥미로웠습니다. 마지막으로 노영빈 석사과정의 발표자료는 항상 step-by-step으로 잘 정리되어 있어 금일 발표를 들으면서도 발표자료를 구성하는 방법에 대해 본받아야겠다고 생각했습니다.
먼저 BERT 가 2018년도 10월에 나왔는걸로 기억하는데, 관련 연구가 계속해서 진행되는걸로 봐서, BERT 에 대해서 좀더 공부할 필요성을 느꼈습니다.
multilingual task를 진행할때, 기억에 남는것이 pre-train 과 fine tuning 단계에서의 활용 데이터에 따른 task 성능 이였습니다. 신기했던 zero-shot 에 대해서 pre-train에서 데이터셋에 있고 학습을 따로 시키지 않아도 어느정도 성능이 나오는것을 볼 수 있었는데, 이를통해 BERT가 언어적 특성 혹은 그와 관련된 정보를 학습할 수 있는 모델이라는것을 확인 했고, 이는 다른 데이터셋에서도 활용 가능 하지 않나 생각했습니다.
그러면서도, Pre-train에서도 한번도 활용되지 못했던 데이터셋은 예측의 정확도가 현저히 낮았는데, 이는 데이터분석의 영역에서 학습되지 않는 데이터셋에서는 아직 모델들이 학습할 능력이 떨어지는것 같았습니다.
처음 듣는 multilingual 관련 논문 및 내용이였지만 발표 슬라이드의 구성이 처음듣기에도 직관적으로 와 닿아서 많은 것을 짧은 시간에 얻을수 있는 좋은 발표였습니다
이번 세미나는 노영빈 학우가 구글에서 릴리즈한 모델인 Multilingual BERT에 대한 세미나였습니다.
기존의 방법과 같이 NSP, MLM 학습이 동시에 이루어지지만, subword부분에서 다양한 언어(나라별)에 대한 코퍼스를 이용해 학습을 시키는 모델이며 다양한 언어가 포함된 코퍼스 내에서 언어간 불균형을 조정하기 위해 sampling 분포 보정을 통해 완화 해주었습니다.
Multilingual BERT가 얼마나 Multilingual 한지 테스트하기 위하여, 첫번째 실험은 테스트 단계에서 학습시에 한번도 보지 못한 언어에 대한 zero-shot cross lingual transfer learning을 진행합니다. 이 실험을 통해서 Multilingual BERT가 어느정도 cross lingual 가 가능한것을 확인할 수 있었습니다.
두번째 실험은 Multilingual 모델이라면 서로 다른 언어라도 문장 pair간 embedding structure가 유사한지에 대한 실험을 진행하였습니다. 즉, '같은 의미를 가지는 문장 pair를 언어가 다를 경우(예를 들어, 한글 vs 영어)에 다른 공간에 위치하겠지만, 구조는 유사해야한다'라는 가정을 가지고 진행한 실험입니다. 이 실험을 통해서 50%가 넘는 Accuracy를 기록하여 어느정도 구조를 형성하고 있다고 볼 수 있음을 확인할 수 있었습니다.
세번째 실험은 Multilingual BERT가 학습시에 subword에 대해 overlap되는 단어들 때문에 성능이 좋은것인지 아닌지를 확인하기 위해 실험을 진행하였는데, 이 실험을 통해서도 Multilingual BERT가 overlap 되는 단어들 때문에 성능이 좋은것이 아님을 확인할 수 있었습니다.
다양한 언어들에 대해 다른 특성(예를 들어, 영어는 S,V,O/ 한글은 S,O,V 구조)에 따른 Multilingual BERT의 성능을 측정하였습니다. 실험 결과에서는 언어들의 특성(구조)가 비슷한 경우에 성능이 높게 나타남을 확인할 수 있었고, 다른 구조를 가지고 있는 언어간의 Multilingual BERT성능은 상대적으로 낮음을 확인할 수 있었습니다.
두번째로 진행한 실험은 pretraining 단계에서도 한번도 보지 못한 언어에 대해서도 Multilingual BERT의 성능이 좋은가에 대한 실험이었습니다. 실험 결과는 pretraining 과 fine-tuning시에 한번도 보지 못한 언어에 대해서는 상대적으로 성능이 낮음을 확인할 수 있었습니다. 이를 통해 Multilingual BERT의 성능을 어느정도 보장하려면 pretraining 과 fine-tuning시에 한번이라도 학습한 언어여야지 성능을 보장할 수 있음을 확인할 수 있었습니다.
<소감>
노영빈 학우의 Multilingual BERT에 대한 세미나를 통해서 monolingual뿐만 아니라 다양한 언어를 다룰 수 있는 BERT에 대해 알게 되었습니다. 또한, word2vec 모델을 이용해 transition matrix를 학습시켜 cross transfer에 대해서는 알고 있었지만, BERT를 이용한 방법에 대해서도 알게 되었으며, 구글의 위대함을 다시한번 깨닫게 되었습니다.
얼마나 다국어적으로 활용한 수 있는가에 대한 연구로, 기존 BERT와 다른점은 데이터를 다국어 corpus로 사용해서 적용한 모델입니다. 언어간의 데이터 불균현을 지수승 샘플링을 진행합니다. 태스크 대한 영어 데이터를 fine-tunng해도 다른 언어에 대한 zero-shot task performance가 향상됩니다. Monolingual 영어에 대한평가 Zero-shot 다른 언어에 대한 평가하였습니다. Embedding space를 이해하기 위해 BERT에 레이어마다 평가를 하였고, 먼저 토큰을 평균하고 두개의 언어의 차이 벡터를 가지고 KNN 매칭, 그 거리가 가까울 수록 true 데이터로 보고 평가 진행하였습니다. 중간레이어가 더 multi-lingual한 특성을 가지고 있다는 것을 확인할 수 있었습니다. 다국어 vocabulary의 유효성을 확인하는 실험에서 Multilingual Bert가 vocabularies overlap 0이어도, zero-f1-score가 40%이상의 성능을 가지는 다는것을 알수 있었습니다. (named entity) Linguistic structure를 이해하기 위해 문법적인 의미와 순서가 얼마나 일치하는지 확인 (S, V, O)한 결과 Zero-shot pos-tagging에 대한 성능이 우수하였습니다. Unseen 데이터의 평가를 했을 때, Pre-train, fine-tuning에 한번도 못된 거면 성능이 떨어지지만 Pre-train에서 못보더라도, fine-tuning에서 보면 성능이 좋아진다는 것을 알 수 있었습니다.
우선 Multilingual BERT논문을 소개해준 발표자에게 감사의 인사 전합니다. 오늘 해당 논문 발표를 통해서 Multilingual Language Modeling이라는 개념을 처음 접하였습니다. 논문 본문에서의 어려운 개념과 메커니즘을 명시적인 그림과 이해하기 쉬운 논문의 흐름 전개를 통해서 청중의 입장으로써 매우 친절하게 잘 이해할 수 있었습니다. 해당논문은 단일 언어모델링인 기존 Monolingual BERT와 2개이상의 언어를 함께 모델링하는 Multilingual BERT의 차이와 이를 통해 가져갈 수 있는 장점과 단점을 잘 담고 있었습니다. 그리고 언어학적인 차이를 지닌 언어들 사이의 Multilingual Modeling의 양상을 보여줄 수 있는 edge있는 실험등을 통해서 알려주고 있었습니다. 개념적으로는 이러한 Multilingual Modeling이 그 활용은 달리하지만 머신러닝에서의 하이브리드 모델(두개의 모델을 함께 사용하여 각 모델의 장점을 모두 취하는)의 이상적인 양상과 달리 언어학적인 간극으로 인해서 여러 개의 언어를 하나의 Vector Space에 representation하기에는 아직 한계가 있다고 생각합니다. 특히 각 언어의 embedding vector의 transform Vector를 단순 평균 및 연산을 이용하기에는 한계가 있다고 생각됩니다. 각언어모델을 하나의 공간으로 맵핑하여 학습하기 위에서는 좀더 위상수학(topology)관점에서의 해결이 존재하지 않을까?하는 생각도 막연하게 들기도 하였습니다. 또한, Multilingual 학습시, 단순 word level에서의 Multilingual 학습이 아닌 각언어의 체계에서의 통일되는 syntactic 체계를 같이 학습한다면, 각 언어모델링의 간극을 줄일 수 있지 않을까 하는 생각도 해보았습니다. 장시간에도 불구하고 집중력 잃지 않게 발표진행 해준 발표자에게 다시한번 감사의 인사 전합니다.
BERT의 task가 두가지의 unsupervised tasks(마스킹, 다음문장 예측) 특징으로 인해 여러 언어에 대한 multilingual model을 구축할 수 있었고, 특정 언어에 대하여 transfer learning을 통한 POS task 등의 supervised tasks를 통해 다른 언어에 대한 zero-shot 평가가 있었습니다. 기존의 multilingual model을 학습할 때, 이미 unsupervised로 학습된 여러 언어에 대한 feature 정보를 담기 때문에 zero-shot이긴 하지만 미리 정보를 알 수 밖에 없는 구조라고 생각했습니다. 해당 흐름을 따르면, 여러 데이터를 이용한 일반화 할 수 있는 Unsupervised model 구축 -> 특정 데이터를 이용한 supervised model을 transfer learning -> 다른 데이터에 대해서도 해당 task를 zero-shot 잘할 것이라고 정리해 보았습니다. 특히 언어 도메인에서 subword 단에서 겹치는 token이 없어도 성능이 좋게 나오는 것에 신기하였습니다. 하지만 음역을 통해 Unseen 데이터로 만든 후, unsupervised tasks와 transfer learning에서 한번도 보지 못한 데이터의 결과로 성능이 좋지 않은 것을 보고 데이터의 중요성을 다시 한번 느끼게 되었습니다.
2019 ACL에 제출된 Multilingual BERT 의 성능 평가에 대한 세미나 발표를 들었습니다.
해당 논문은 구글에서 발표한 논문으로, 논문에서 실험을 진행한 Multilingual BERT 모델의 구조는 기존의 BERT 와 같은 방식으로 next sentence prediction 과 masked language modeling 을 수행 하는 방식으로 학습이 이루어지며, 차이점은 다양한 언어로 이루어진 corpus 를 사용하고 shared vocabulary 를 사용한다는 점이었습니다. 또한, 언어간 불균형 문제를 보정하기 위해서, scaling 과 renormalize 를 사용하였다고 합니다.
논문에서는 Multilingual BERT 모델이 얼마나 Mutlilingual 하게 작동 하는지를 판단하기 위해 zero-shot cross lingual transfer learning을 통해서 실험을 진행했습니다. 다양한 언어로 이루어진 corpus 에 대해서 pre-trained 된 모델을 영어 데이터만을 가지고 fine-tuning 시키는 transfer learning 을 하더라도, 다양한 언어에 대해서 inference 가 가능하다고 80% 이상의 성능을 보이는 점이 흥미롭게 느껴졌습니다.
여기까지만 들었을 때, 알파벳을 사용하는 유사 언어 간에만 해당 모델 적용이 가능한 것이 아닌가 의문이 들었었는데 후반부에서 vocabulary 내에 sub-word 의 overlap 에 대한 실험을 통해서 overlap 이 0에 가까운 언어에 대해서도 40%~70% 정도의 성능을 보이는 점을 보이는 것을 통해 sub-word overlap 에 완전히 의존적이 아닌 것을 보여주는 부분이 있어서 어느 정도 의문점이 해결 되었습니다. 또한 Linguistic structure 가 Multilingual BERT 의 성능에 어떤 영향을 미치는지 등, 많은 사람들이 의문을 가질 수 있는 부분에 대해서 실험을 꼼꼼하게 진행한 것 같아서 논문 작성시 해당 논문과 같이 꼼꼼하게 실험을 진행하는 것이 필요하다는 생각을 갖게 되었습니다.
Multilingual BERT는 여러 언어들을 같이 학습하여 데이터 양이 부족한 언어에도 좋은 성능을 보여주는 모델로 이해했습니다. 영어만 사용한 bert는 이미 성능이 좋지만, 번역의 task나 데이터 양이 부족한 언어로의 변형 등에서는 유용하게 쓰이는 모델일 것 같습니다.
Zero shot based task가 성능을 확인하기 위한 실험이었는데, Label 데이터가 상대적으로 풍부한 언어로 특정 task에 대해 학습을 시킨 후, 처음보는 언어에 대해서 inference를 했을 때 좋은 성능을 가져온다고 하여 흥미로웠습니다.
그러나 다른 언어이더라도, 문장 사이의 관계를 나타내는 차이가 임베딩 공간상에서 같아야 multilingual BERT라고 할 수 있다는 가정을 하고 있는 것이 문제일 수도 있다고 비판한 점이 인상적이었습니다. 각 언어별로 문장들을 임베딩한 후 transformation mapping을 통해 매핑하고 그 차이를 metric으로 계산하는 방식인데, 이와 같이 언어에 dependent한 문법적인 차이를 논문의 모델은 잘 잡아내지 못한다고 이해했습니다. 그리고 pretraining 시킨 단어들만 가지고 학습을 한 결과만으로는 좋지 못해서, fine-tuning을 해야한다는 단점을 비판적으로 해석한 점이 좋았습니다.
논문에 대해서 설명을 할 때, 전반적으로 본인이 이해한 부분을 듣는 사람이 이해하기 쉽게 자료를 만들어서 해석하는 부분이 인상적이어서 배우고 싶었습니다. 그리고 개인연구 부분에 있어 직접 리뷰한 논문을 적용해보고 실험해보면서 문제점들을 파악한 과정이 좋았습니다.
발표하시는 논문에 대하여 그 논문의 요지를 잘 파악할 수 있도록 구성을 잘 하신 것 같습니다. 제가 관심있는 분야가 아님에도 불구하고 잘 이해가 되는 발표였습니다. 본 발표에서 소개한 논문의 task는 multilingual task로 NLP 분야 중에서도 난이도가 굉장히 높은 task라고 생각합니다. 그럼에도 불구하고 실험 성능이 제가 생각한 것 이상의 성능을 보이고 있다는 것에 놀랐습니다. 또한 진짜로 multilingual 한 것이 무엇인지에 대한 논문 저자들의 논리적 주장 또한 흥미로웠습니다.
논문에 대한 발표에 이어 하시는 개인 연구에 대한 발표도 무척 잘 들었습니다. 하고 있는 task가 무엇인지 그리고 목표는 무엇인지 명확하게 이해할 수 있었습니다. 비록 실험 결과는 안 좋았지만 multilingual BERT 모델을 사용하였을 때 각각의 언어에 대한 성능이 올라갈 수 있는 논리적 기저에 대해 좀 더 고민한다면 좋은 실험 결과가 있을 것으로 예상됩니다.