본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2023-2] 김민재 - Unified Language Model Pre-training for Natural Language Understanding and Generation

by MJKM 2024. 2. 27.

https://paperswithcode.com/paper/unified-language-model-pre-training-for

Introduction

  • Table 1에서 볼 수 있듯 각각 다른 종류의 예측 작업을 위해 ELMo, GPT, BERT 등의 여러 종류의 LM(Language Model)이 사용됨을 확인할 수 있음
  • 이 논문에서 소개할 UniLM은 NLU(Natural Language Understading)와 NLG(Natural Language Generation)에 모두 사용 가능
  • UniLM은 다층의 Transformer network로 많은 양의 텍스트가 함께 pre-training 되었으며 Table 2에서 볼 수 있듯 3가지 유형의 비지도 LM 목표에 최적화됨
  • BERT가 NLU에 주로 사용되는 것과 달리, UniLM은 환경을 설정할 수 있으며, 다른 종류의 self-attention task를 수행하고, 다른 종류의 LM의 context를 종합하여서 NLU, NLG에 모두 사용
  • UniLM은 통합된 사전 훈련 절차가 다양한 유형의 LM에 대해 공유 parameter와 architecture를 사용하는 단일 트랜스포머 LM으로 이어져 여러 LM을 별도로 훈련하고 호스팅할 필요성을 완화하며 이러한 parameter의 공유는 서로 다른 방식으로 context가 사용되는 서로 다른 language modeling에 공동으로 최적화되어 단일 LM 작업에 대한 과적합을 완화하기에 학습된 텍스의 표현을 더 일반적으로 만들고, UniLM을 시퀀스 투 시퀀스 LM으로 사용하는 것은 NLU 작업에 적용하는 것 외에도 추상적 요약 및 질문 생성과 같은 NLG의 자연스러운 선택이 되게 함

Unified Language Model Pre-training

Input Representation

  • input인 x는 word sequence로 unidirectional LM을 위한 텍스트의 segment이거나 bidirectional LM과 sequence-to-seqeunce LM을 위한 segment의 묶음
  • 항상 input의 시작점에는 start-of-sequence([SOS]) 토큰을 추가하고 각 segment의 끝에는 end-of-sequence([EOS]) 토큰을 추가
  • [EOS]는 NLU 작업에서 문장의 경계를 표시할 뿐만 아니라 NLG 작업에서 decoding 과정을 언제 끝낼지 모델을 훈련시키는 데에도 사용
  • Input Representation은 BERT의 Input Representation을 따름
  • 텍스트는 WordPiece에 의해 하위 언어 단위로 토큰화
  • 각각의 input 토큰에 대하여, 벡터 표현은 대응하는 token embedding, position embedding, segment embedding을 합산하여 계산
  • UniLM이 여러 가지 LM을 사용하여 서로 다른 LM의 목적을 위해 서로 다른 segment embedding을 사용하기 때문에, segment embedding은 LM 식별기의 역할도 함

Backbone Network: Multi-Layer Transformer

  • input 벡터는 첫 번째로 H0으로 패킹되고 L-layer Transformer Hl을 사용하여 Hl이라는 추상적인 다른 층의 문맥적인 표현으로 인코딩
  • 각각의 Transformer 블럭에서, 다수의 self-attention head는 이전 layer의 출력 벡터를 집계하는 데 사용
  • l번째 Transformer layer에서 self-attention head A_l은 아래와 같은 방법을 통해 계산

  • M 값을 사용하여 토큰이 contextualized 된 표현을 계산할 때 어떤 context에 주의를 기울일 지 결정

Pre-training Objectives

  • 서로 다른 목표를 위해 설계된 4가지 cloze task를 사용하여 UniLM을 사전 훈련
  • cloze task에서 input으로 몇몇 WordPiece 토큰을 무작위로 선택하고 그것을 [MASK] 토큰으로 바꿈
  • 그 후 Transformer network에서 계산한 해당 출력 벡터를 softmax classifier에 넣어 masking된 토큰을 예측
  • UniLM의 parameter는 예측된 토큰과 원래 토큰을 사용하여 계산된 교차 엔트로피를 최소화하도록 학습

Pre-training Setup

  • 전반적인 훈련 목표는 다양한 유형의 LM 목표의 합
  • 구체적으로, 하나의 훈련 배치에서 bidirectional LM을 사용하는 것의 1/3, sequence-to-sequence LM을 사용하는 것의 1/3, unidirectional LM을 사용하는 것의 1/6의 비율로 샘플링
  • UniLM의 model architecture는 공정한 비교를 위하여 BERT_large의 model architecture를 따름
  • UniLM은 1,024개의 숨겨진 크기와 16개의 attention head를 가진 24-layer Transformer를 사용했으며 24-layer Transformer는 거의 340M개의 parameter를 포함
  • softmax classifier의 가중치 행렬은 token embedding으로 결합
  • UniLM은 BERT_large에 의해 초기화되며 영문 WikiPedia와 BookCorpus를 사용하여 사전 훈련
  • 단어 크기는 28,996, input sequence의 최대 길이는 512, token masking probability는 15%
  • masking된 위치 중 토큰을 [MASK]로 대체하는 경우가 80%, 무작위 토큰으로 대체하는 경우가 10%, 나머지는 원래 토큰 유지
  • 매번 무작위로 하나의 토큰을 마스킹 하는 경우는 80%, bigram이나 trigram을 마스킹 하는 경우는 20%
  • 최적화를 위해 beta_1 = 0.9, beta_2 = 0.999인 Adam 사용

Fine-tuning on Downstream NLU and NLG Tasks

NLU

  •  NLU 작업에서, UniLM을 BERT와 같이 bidirectional Transformer encoder로 fine-tuning

NLG

  • NLG 작업에서, sequence-to-sequence로 예를 들어 설명

Experiments

Abstractive Summarization

  • 자동 텍스트 요약은 input의 주요 정보를 전달하는 간결하고 유창한 요약 생성
  • input 텍스트의 구문이나 문장을 재사용하는 데에 제한이 없는 추상적 요약에 초점
  • 익명화 되지 않은 CNN/DailyMail dataset과 Gigaword를 model fine-tuning과 평가를 위해 사용
  • 사전 정의된 최대 길이에 따라 잘린 input으로 문서와 요약을 연결하여 UniLM을 sequence-to-sequence model로 fine-tuning
  • 30개의 에포크에 대한 training set에서 모델을 fine-tuning
  • 사전 훈련된 데이터에서 얻은 대부분의 hyper-parameter를 재사용

  • Table 3은 CNN/DailyMail의 요약에 대한 평가 결과로 UniLM이 Abstractive Summarization에서 가장 뛰어난 결과를 보임을 확인할 수 있음

  • Table 4는 Gigaword abstractive summarization에 대한 평가 결과로 UniLM이 가장 뛰어난 결과를 보임을 확인할 수 있음

Question Answering(QA)

Extractive QA

  • Table 5는 Stanford Question Answering Dataset(SQuAD) 2.0에 대하여 Extractive QA를 실행한 결과이고, Table 6은 Conversational Question Answering(CoQA) dataset에 대하여 Extractive QA를 실행한 결과
  • EM(Exact Match)와 F1 점수를 비교해 본 결과 두 경우 모두 UniLM이 가장 좋은 결과를 보이는 것을 확인할 수 있음

Generative QA

  • Table 7은 Conversational Question Answering(CoQA) dataset에 대하여 Generative QA를 실행한 결과
  • UniLM이 다른 모델들에 비해 월등히 뛰어난 결과를 보이는 것을 확인할 수 있음

Question Generation

  • Table 8은 SQuAD에서 Question Generation을 수행한 결과로 평가 지표는 BLEU-4, MTR(METEOR), RG(ROUGE)-L
  • UniLM이 다른 모델들에 비해 뛰어난 결과를 보이는 것을 확인할 수 있음
  • Table 9에서 Generative QA를 실행할 때 UniLM이 생성한 Question이 더 성능을 향상시키는 것을 볼 수 있음

Response Generation

GLUE Benchmark