ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2023 Spring NLP Seminar] How to Adapt Your Pretrained Multilingual Model to 1600 Languages (ACL 2021)
    AI/NLP 2023. 4. 6. 12:51
    728x90
    [2023 Spring NLP Seminar] 
    How to Adapt Your Pretrained Multilingual Model to 1600 Languages (ACL 2022)

     

     

     

     

    이번 분기 NLP Seminar에서는 Multilingual 분야를 파 보기로 했다 ! ! 

     

     

     

     

     

     

     

    목차 

     

    0. 들어가기 전에...

    1. Abstract + Introduction 

    2. Related Works 

    3. Experiments

    4. Results

    5. Case Study

    6. Limitations

    7. Conclusion

    8. Reference

     

     

     

    0. 들어가기 전에 ... 

     

     

    PMM (Pretrained Multilingual Model) 등장 이전

     

    [General cross-lingual representations]

     

    1. word embedding 차원에서의 cross lingual transfer가 연구되었음  

    ➡  병렬 코퍼스를 사용하거나 / unsupervised 방식을 사용하는 방향으로 cross-lingual transfer 적용

     

     

    2. transformer based models

     

     

     

     

    대표적인 PMM (Pretrained Multilingual Model)

     

     

    1. multilingual BERT

    • Google에서 발표한 BERT (Devlin et al., 2018)의 다국어 버전 (학습 방법은 동일-NSP, MLM)
    • 104개 언어의 위키피디아 코퍼스를 모두 사용하여 pre-training을 진행한 최초의 PMM 
    • 특히 fine-tuning 시 보지 않았던 언어에 대해  inference를 수행하는 zero-shot cross lingual transfer learning에서도 준수한 성능을 기록

     

     

    2. XLM 

    • 15개 언어로 훈련된 PMM
    • 위키피디아 코퍼스 사용 
    • 95k subwords
    • MLM의 연장선인 TLM(Translation Language Modeling) 이라는 새로운 언어 모델링 사용 

     

    • MLM 
      • 단일 언어 코퍼스 / unsupervised learning
      • BERT와 동일한 방식으로 학습
        • 단일 언어를 대상으로 입력 문장 토큰의 15%의 단어를 랜덤으로 선택 후,
        • 80%의 단어들은 [MASK]로 변경
        • 10%의 단어들은 랜덤으로 단어 변경
        • 10%의 단어들은 동일하게

     

     

    • TLM
      • 병렬 말뭉치에서 원본 문장과 번역 문장을 한 입력 데이터에 합쳐서 이용 (같은 의미를 가지는 언어가 다른 두 개의 문장)  / supervised learning
      • 각 문장의 Position Embedding은 각각 문장 시작점을 ‘0’으로 함
      • 병렬 데이터 간 상호 보완적으로 언어모델을 학습해서 Cross-linguality를 증가시킬 수 있다

     

     

     

     

     

     

    3. XLM-R

    • 100개 언어 지원
    • 250k subwords created using SentencePiece tokenization
    • XLM이나 mBERT보다 더 큰 규모의 Corpus CommonCrawl data 사용 (2.5TB)+ RoBERTa 사용

     

     

    https://asidefine.tistory.com/201

     

    Cross-lingual Language Model Pretraining (NeurIPS, 2019) 정리

    Cross-lingual Language Model Pretraining (NeurIPS, 2019) 정리 목차 What is MLLMs and why we use it ? How are MLLMs built ? (in terms of XLM) Results and analysis (in terms of XLM) Studies After XLM What is MLLMs and why we use it ? MLLMs (Multilingual

    asidefine.tistory.com

     

     

     

     

     

     

    1. Abstract + Introduction

     

     

    • Background & Limitations 
      1. Pretrained multilingual models (PMMs)
        • [특징] PMM은 타겟 task나 language에 대한 labeled data가 필요없다 ( Cross-lingual transfer를 통해 제로샷 학습을 가능하게 하는 방법이기 때문에 ! )
        • [한계] downstream 성능은 pretraining data 시 사용되었던 언어들, 또는 그와 비슷한 언어들에 대해서만 잘 작동함
          • pretraining 시에 학습하지 않았던 언어들에 대해서는 제로샷 성능이 거의 랜덤이다
      2. Zero shot Cross-lingual transfer
        • [특징] 위의 문제를 해결하기 위해 여러 방법 대두되었지만,, 
        • [한계] 이전 연구들 각 316개 언어와 160개 언어를 다루는 Wikipedia 또는 Common Crawl과 같이 비교적 적은 수의 언어에 대해 unlabeled data를 사용하여 평가  ➡  적용 범위 너무 좁다 

     

     

    ➡  따라서 정말로 low-resource language를 위해 PMM을 활용하고자 한다면, SOTA 방식이 어떻게 하면 더 많은 언어에서 잘 적용될지에 대한 이해 필요하다 

     

     

     

    • Our Approach
      • 1600개의 언어 사용가능한 성경 활용 !  ➡ zero shot 성능 좋아질까 ? 
      • Zero shot Cross-lingual transfer의 여러 adaption 방식을 실험  어떤 방식이 가장 좋을까 ?   
        • XLM-R + 1) continued pretraining (Chau et al., 2020) / 2) vocabulary extension (Wang et al., 2020) / 3) adapters (Pfeiffer et al., 2020b) 세 가지 방식 실험 ! 

     

     

     

    2. Related Works 

     

     

    • Adaptation Methods에는 아래의 세 가지 방법 있다, 그리고 이 세 방식에 대해서 아래에서 실험 계속할거니 ! 잘 알아두기  
      • Continued Pretraining
      • Vocabulary Extension
      • Adapters

     

     

    Continued Pretraining

    • continued pretraining으로는 세 가지 모델 
      • MLM : 타겟 단일 언어로 된 성경을 통해서 
      • TLM   : 성경에 대해서 병렬 코퍼스 구축 
      • +{M|T}LM : 타겟 단일 언어로 된 배치 + 병렬 코퍼스로 구축된 배치 번갈아 가며 선택하여 학습  

     

     

     

     

    Vocabulary Extension

    • 많은 pretrained model은 subword vocabulary를 사용함으로써 out-of-vocabulary 문제를 해결한다 
    • 그러나 pretraining task와 target task가 다르면, 경우에 따라 도메인별로 단어가 과도하게 쪼개져 성능이 저하될 수 있다
    • 새로운 subword token 추가하는 방식 사용 ! 
    • Wang et al. (2020)
      • mBERT에서의 vocabulary에서 새로운 subword token들을 추가한 뒤 monolingual corpus로 학습했더니, 그 언어를 학습했든 안했었든 target language에 대한 성능이 올라갔다 ! 
    • Chau et al. (2020)
      • vocabulary augmentation를 수행했더니 새로운 임베딩이 더 빠른 속도로 학습되더라 ~

     

     

     

     

    Adapters

     

    • adapter란 transfer learning를 돕기 위한 적은 수의 parameter를 가지는 layer
    • Pfeiffer et al. (2020b)MAD-X
      • language adapter와 task adapter로 이뤄짐
      • 과정
        • model의 가중치는 freeze한 후 MLM 사용해서 각 언어에 대해 invertible adapters와 language adapters를 학습 
        • 그런 다음, 영어 전용 adapter를 task adapter와 함꼐 사용해서 english labeled data를 학습 
        •  zero-shot transfer의 경우, invertible adapter와 language adapter를 대상 언어에 대해 훈련된 adapter로 바꾼 후 evaluate 

     

     

    ChatGPT 가라사대 Mad-X란 ...

    "Mad-X: An Adapter-Based Framework for Multi-Task Cross-Lingual Transfer" 논문에서 제안된 모델 구조는 다중 언어 간 전이 학습을 수행하는 어댑터 기반 프레임워크입니다.


    이 모델은 기존의 사전 학습된 다국어 모델(예: mBERT, XLM-R)을 기반으로 하며, 각 언어에 대한 어댑터를 추가하여 다양한 언어의 multi-task을 처리할 수 있습니다.

    이 모델은 다음과 같은 단계로 작동합니다:

    1. 기존 사전 학습된 다국어 모델을 불러오고, 각 언어에 대한 어댑터를 추가합니다.
    2. 각 언어별로 전이학습을 수행합니다. 이를 위해, 학습 데이터에 대해 해당 언어의 어댑터를 사용하여 모델을 fine-tuning합니다.
    3. multi-task 수행을 위해 각 task에 대한 어댑터를 추가합니다.
    4. 전이 학습을 수행하면서, 각 언어와 task에 해당하는 어댑터를 사용하여 모델을 fine-tuning합니다.


    이러한 방식으로, Mad-X 모델은 다중 언어와 multi-task에 대해 일반화된 모델을 구축할 수 있습니다. 이 모델은 다른 언어와 task에 대해 적은 수의 샘플만 사용하여도 높은 성능을 보이는 것으로 알려져 있습니다.

     

    * 더 자세한 모델 설명 

    • adapter란 ? 
      • Adapter는 사전 학습된 모델을 다른 작업에 재사용하기 위한 유연하고 경량화된 모듈
      •  다른 작업의 정보를 캡슐화하고, 해당 정보를 사전 학습된 모델에 추가하여 새로운 작업에 적용할 수 있음 ! 
        • 이를 통해, 다른 작업에서 파생된 지식을 공유하고 모델 크기를 줄이며, 새로운 작업에 대한 추가적인 학습 데이터가 필요하지 않아도 높은 성능을 보일 수 있다 
      • Adapter는 일반적으로 모델의 어느 부분에도 적용 가능하며, 입력, 출력 또는 둘 다에 적용될 수 있음
        • Adapter는 다른 작업에서 파생된 정보를 공유하는 유연하고 경량화된 모듈이므로, 다양한 언어 및 작업 간에 재사용될 수 있음
        •  예를 들어, 언어 모델을 사전 학습하고, 언어 번역, 개체명 인식, 감정 분석 등의 작업...
      • 최근에는 Adapter를 개선하여 Invertible Adapter, Universal Adapter와 같은 새로운 유형의 Adapter가 제안됨
        • Invertible Adapter는 모델 파라미터를 역함수를 사용하여 역전파 중에 학습하고, 런타임에서 어댑터를 적용할 때에는 해당 파라미터를 역함수를 사용하여 복원
        • Universal Adapter는 다양한 작업에 대해 미리 학습된 Adapter를 제공하여 다른 작업에서도 쉽게 재사용할 수 있는 구조를 가지고 있음

     

    ChatGPT 가라사대 adapter란 ...


    "Mad-X: An Adapter-Based Framework for Multi-Task Cross-Lingual Transfer" 논문에서 소개된 Invertible Adapter는 모델의 일부분으로, 다양한 언어 및 task 간에 공유할 수 있는 유연한 어댑터를 만들기 위한 기술입니다.

    이 어댑터는 모델의 특정 부분에 대한 파라미터를 제공하여, 해당 부분이 다른 언어 및 작업에서 재사용될 수 있도록 합니다. Invertible Adapter는 이러한 파라미터를 역함수를 사용하여 역전파 중에 학습하고, 런타임에서 어댑터를 적용할 때에는 해당 파라미터를 역함수를 사용하여 복원합니다.

    이 방식은 다중 언어 및 multi-task에 대한 유연한 모델 구축을 가능케 하며, 추가적인 파라미터를 필요로 하지 않아 모델의 크기를 효율적으로 관리할 수 있습니다. Invertible Adapter는 또한 다양한 task 간에 공유 가능한 유용한 특징을 추출하는 데에도 도움을 줍니다.

     

     

     

     

    3. Experiments

     

     

    실험에 사용한 데이터와 언어, 그리고 3가지 adaptation 방식에 대해 설명함

     

    • Data and Languages
      • Unlabeled Data
      • Labeled Data
      • Language Selection
    • PMM Adaptation Methods
      • Continued Pretraining
      • Vocabulary Extension
      • Adapters

     

     

    Data and Languages

     

     

    • Unlabeled Data
      • Johns Hopkins University Bible Corpus (JHUBC) : 1611개의 언어 
      • 본 논문에서 고려하는 30개 언어의 경우, 언어당 평균 약 402,000개의 하위 단어 토큰을 가짐 

     

    • Labeled Data
      • NER : Rahimi et al. (2019)이 만든 일부 데이터 
      • POS Tagging : Universal Dependencies Project (Nivre et al., 2020)

    ➡ XLM-R은 subword vocabulary를 사용하기 때문에, 여기에도 적용해준다  

     

     

    • Language Selection
      • 실험에 사용할 언어를 선택하기 위해서, downstream task에 test set이 존재하는 언어들 선정 
      • 그 후 , XLM-R의 pretraining 언어에 해당되는 언어들은 필터링함 

     

     

     

     

    PMM Adaptation Methods

     

     

    • Continued Pretraining
      • XLM-R + MLM : 단일 언어 말뭉치 사용해서 훈련 
      • XLM-R + TLM : 병렬 말뭉치 사용해서 훈련 
      • XLM-R + MLM / TLM : 타겟 단일 언어로 된 배치 + 병렬 코퍼스로 구축된 배치 번갈아 가며 선택하여 학습  
    • Vocabulary Extension
      • + Extend
        •  각 target 언어마다, 최대 vocab 크기가 30,000인 해당 언어의 성경에 대한 SentencePiece (Kudo and Richardson, 2018) tokenizer를 train ! 
        • 중복된 subword 추가되는 것을 방지하기 위해 XLM-R의 모든 하위 단어를 필터링
        •  새로운 subword만을 XLM-R의 tokenizer에 추가,  random initialization으로 embedding matrix 증가시킴 
        • MLM 방식으로 훈련
    • Adapters
      • + Adapter
        • MAD-X framework를 그대로 사용한다 
        • task adapter를 학습시키기 위해 AdapterHub에서 제공하는 target 언어 및 invertible adapters 훈련 ! 
          • 각 task에 대해 단일 task adapter를 학습시키고 모든 언어에 적용
          • 그 후 각 언어에 대한 target 언어 및 invertible adapters 훈련

     

     

     

     

    4. Results

     

    • 크게 두 가지 task에 대해서 실험 !
      • NER
      • POS Tagging

     

     

    NER

     

    • +MLM, +TLM, +{M|T}LM
      • 얘네가 가장 간단하지만 가장 좋은 성능을 냈다 
      • 그리고 모든 스크립트에 대해서 다 성능이 향상되었음 
    • + Extend 및 + Adapter 
      • 그냥 XLM-R보다 낮은 f1 score 
      • 성경의 크기나 도메인이 이 방식의 성능을 나쁘게 했다

     

    • Baseline F1이 낮을수록, adaption method의 downstream 성능 개선 효과가 더 커진다 
    • Baseline 성능이 제일 안 좋은 언어에 대해선, 모든 방식들이 다 성능을 개선을 했더라 ~

     

     

     

    POS Tagging

     

     

    • NER의 결과와 동일하게, Continued Pretraining(+MLM, +TLM, +{M|T}LM) 방식이 가장 많이 전반적인 성능 향상에 도움이 되었다 
    • 하지만 POS의 경우에는 모든 adaptation 방식이 성능향상에 도움이 되었다 
      • 아마 데이터셋이 NER 성능을 향상시키기엔 제한적이고, 도메인에 덜 민감한 task은 POS Tagging에서는 잘 적용되었을 것이라 예상 

     

     

     

     

    5. Case Study

     

     

    야무지게 PMM adaptation method들에 특정 저자원 언어를 골라서 case study도 해보았다 

     

     

    • 목적
      • case study를 통해, 도메인의 한계(성경)와 언어의 유사성이 adaptation methods에 미치는 영향을 확인 ! 
    • 데이터 
      • Section 3~4와 다르게 여기서는 성경 데이터 이외에 대상 언어의 위키피디아 데이터를 비슷한 크기만큼 가져와서 실험
    • task 
      • NER에만 (대상의 도메인을 명확하게 하도록 하기 위해서)
    • 언어 
      • 시릴 문자를 쓰는 저자원 언어 (바슈키르어, 체첸어, 추바시어)를 통해 언어의 유사성 분석 
    • 세팅 (Section 3~4에서는 B-E == 영어 베이스라인 모델 ) 
      1. 저자들은 라벨링된 훈련 데이터의 언어를 영어에서 러시아어로 변경 (B-R == 러시아어 베이스라인 모델)
      2. 위키피디아 데이터를 사전 훈련 데이터로 사용 (W-E)
      3. 위키피디아 데이터와 라벨링된 러시아어 데이터를 모두 사용(W-R)
    • 특이 사항
      • 위키피디아 데이터를 사용하기 때문에 병렬 코퍼스가 필요한 일부 adaptation 방식(TLM / M+TLM)에 대해선 실험 못 했다 

     

     

     

    그 결과, 아래와 같이 크게 두 가지로 분석해봄

    • Effects of the Finetuning Language
    • Effects of the Domain Used for Adaptation

     

     

     

     

     

    Effects of the Finetuning Language

    • 바슈키르어, 체첸어, 추바시어에 대해서 좋은 성능 내는지 확인 !
      • 러시아어를 소스 언어로 사용하는 것(B-R)이  영어 베이스라인 (B-E) 보다 성능 훨씬 좋음 !!

     

      즉, 언어의 유사성이 모델 성능에 미치는 영향이 크다는 것을 확인 

     

     

     

     

    Effects of the Domain Used for Adaptation

     

    • W-E (영어를 원본 언어로 고정, 사전 훈련 도메인을 성경에서 위키백과로 변경)
      • 성경에서 위키피디아 데이터로 바꿨더니 성능 향상 ! 
    • W-R (위키백과와 라벨링된 러시아어 데이터를 함께 사용할 때)
      • 성능이 가장 좋았다 !!!!!!

     

     즉, 성경이 도메인이 제한된 데이터기 때문에 더 포괄적인 데이터인 위키피디아를 썼을 때 더 성능 좋다 ! 확인 

     

     

     

     

    6. Limitations

     

     

    • task selection의 한계 
      • 본 연구는 POS tagging이랑 NER에만 적용했음 ➡ 추론이 필요하지 않는 low level task다 ... 
      • XTREME과 같은 벤치마크 데이터셋이 더 높은 수준의 task를 다루지만 40개의 언어밖에 지원하지 않는다는 단점 
    • 언어적인 측면 
      • 성경으로부터 1611개의 언어를 얻어냈지만, 그 번역의 질과 양이 각 언어마다 차이가 있을 수 있다 
      • 그래서 우리의 연구 결과가 완전히 일반화될 순 없을 것임
    • (도메인) 편향의 문제
      • 이 실험은 PMM (이 논문에서는 XLM-R)을 사용했기 때문에, 그대로 해당 모델의 편향을 답습했을 수밖에 없음
      • 또한 성경 데이터 셋을 사용했기 때문에 종교적인 언어로 편향되어 있을 수 있다 

     

     

     

     

    7. Conclusion

     

     

    논문 리뷰 

    • (설명 부족) 논문을 읽어도 불충분한 설명들이 있어서, 참고문헌을 꼭 읽었어야 됐다 ! 
      • 이 논문만을 읽는 사람 입장에서는 불친절했음  
    • (case study) 성능 비교만으로 부족할 수 있는 각 방법론의 장단점을 case study를 통해 잘 풀어내려고 했다는 점 굳 
    • (case study) PMM 및 본 논문의 우려점(도메인 한계, 언어의 유사성)을 고려해서 한 추가 실험 좋았음 

    - Noisy data / ood data

    - speech crosslingual에서도 유사성 있나 ? 

     

     

    개인적 소감 

    • adapter라는 모듈에 대해 처음 알았다 ! 
    • 본 논문의 Related Works가 multilingual / cross-lingual 연구의 전반적인 흐름을 잘 정리해두어서 도움이 되었음  
    • 새로운 모델을 제시하는 논문들보다 기존 모델들을 분석하는 논문들이 더 리뷰하기 힘들다 헉헉
      • 그래서 2021년 이전 논문들은 ChatGPT한테 요약 부탁하면 아주 잘 해준다 ~ 
    • 그리고 reference들에서 가장 많이 등장했던 연구자를 발견!
      • 이 분, multilingual를 주로 연구하고 2022년에만 NAACL 2편, ACL 1편, EMNLP 7편 낸 분이었네염

    https://aclanthology.org/people/m/mikel-artetxe/

     

    Mikel Artetxe - ACL Anthology

    Formal verse poetry imposes strict constraints on the meter and rhyme scheme of poems. Most prior work on generating this type of poetry uses existing poems for supervision, which are difficult to obtain for most languages and poetic forms. In this work, w

    aclanthology.org

     

     

     

    adapter 관련 repo 

     

    https://github.com/Adapter-Hub/adapter-transformers

     

    GitHub - adapter-hub/adapter-transformers: Huggingface Transformers + Adapters = ❤️

    Huggingface Transformers + Adapters = ❤️. Contribute to adapter-hub/adapter-transformers development by creating an account on GitHub.

    github.com

     

     

     

    아래와 같이 다양한 colab notebook으로 adapter를 활용해볼 수 있다 ! 

    cross-lingual 이외에도 generation 등 다양한 분야에도 적용 가능 ~

    본 논문에서 사용한 MAD-X는 4번 notebook 참고 !

     

     

     

     

    from transformers import AdapterConfig
    
    # Load the language adapters
    lang_adapter_config = AdapterConfig.load("pfeiffer", reduction_factor=2)
    model.load_adapter("en/wiki@ukp", config=lang_adapter_config)
    model.load_adapter("zh/wiki@ukp", config=lang_adapter_config)
    
    # Add a new task adapter
    model.add_adapter("copa")
    
    # Add a classification head for our target task
    model.add_multiple_choice_head("copa", num_choices=2)
    
    
    ...
    
    
    trainer = AdapterTrainer(
        model=model,
        args=training_args,
        train_dataset=train_dataset,
    )
    
    trainer.train()
    
    ...
    
    dataset_zh = load_dataset("xcopa", "zh", ignore_verifications=True)
    dataset_zh = preprocess_dataset(dataset_zh)
    print(dataset_zh["test"][0])

     

     

     

     

    8. Reference

     

    https://aclanthology.org/2021.acl-long.351/

     

    How to Adapt Your Pretrained Multilingual Model to 1600 Languages

    Abteen Ebrahimi, Katharina Kann. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2021.

    aclanthology.org

     

     

    728x90
Designed by Tistory.