I about me

[논문리뷰] BART: Denoising Sequence-to-Sequence Pre-training for NaturalLanguage Generation, Translation, and Comprehension 본문

AI/논문리뷰

[논문리뷰] BART: Denoising Sequence-to-Sequence Pre-training for NaturalLanguage Generation, Translation, and Comprehension

ssungni 2024. 11. 8. 14:14

Transformer

BART도 transformer의 기본 아키텍처를 본 따 발전되어져 왔다.

잠시 집고 넘어가보면, transformer 는 Encoder와 Decoder 구성되며,

예를 들어, "I am a student"라는 문장이 입력될 때, Encoder 는 이 문장의 의미를 벡터로 변환하고,

Encoder 로부터 정보를 전달받아 Decoder 스위 에튀디앙의 결과가 도출하게 된다.

BERT vs. GPT

EncoderDecoder 서로 분리되어 각자의 장점을 극대화시켜 별도의 모델들로 발전하게 되었다.

대표적인 모델이 Encoder 구조의 BERTDecoder 구조의 GPT이다.

위 그림에서 알 수 있듯 이러한 장점이 있다.

그러나 이것의 단점은 BERT는 생성을 잘하지 못하고, GPT는 양문맥을 보는 것이 취약하는 것이다.

 

BART

그래서 BART는 BERT의 장점과 GPT의 장점을 합쳤구나! 라는 것을 알 수 있으며,

제목에서 알 수 있듯, Denoising(노이즈가 있는 것을 원본으로 함)한 pretraining으로 학습되었구나라고 알 수 있다.

 

한 눈으로 알아보는 BERT vs GPT vs. BART

 

noise 방법론

1) Token Masking

마스크된 단어 ('soccer')를 정확히 예측하는 것이 핵심 과제
<s>와 </s> 토큰을 통해 모델은 문장의 시작과 끝을 인식
이 과정을 통해 BART는 전체 문장 구조와 흐름을 이해하고 재구성하는 능력을 개발
 

2) Text Infilling

연속된 여러 단어('to school and then')를 정확히 예측하는 것이 핵심
모델은 더 넓은 문맥을 이해하고 적절한 구문을 생성하여 자연스러운 문장을 완성해야.
이 과정을 통해 BART는 더 복잡한 언어 구조와 의미를 이해하고 생성하는 능력을 개발
Text InfillingToken Masking보다 더 어려운 문제이므로 모델의 문맥 이해 능력과 연속적인 텍스트 생성 능력↑

 

3) Sentence Permutation

연속된 여러 단어('to school and then')를 정확히 예측하는 것이 핵심
모델은 더 넓은 문맥을 이해하고 적절한 구문을 생성하여 자연스러운 문장을 완성해야.
이 과정을 통해 BART는 더 복잡한 언어 구조와 의미를 이해하고 생성하는 능력을 개발
Text InfillingToken Masking보다 더 어려운 문제이므로 모델의 문맥 이해 능력과 연속적인 텍스트 생성 능력↑
 

4) Document Rotation

섞인 순서의 여러 문장을 원래의 올바른 순서로 재배열하는 것이 핵심 과제
모델은 각 문장의 내용뿐만 아니라 문장들 간의 논리적 연결과 전체적인 문맥을 이해해야.
이 과정을 통해 BART는 더 복잡한 문서 수준의 언어 구조와 의미를 이해하고 생성하는 능력을 개발함
Sentence PermutationToken Masking이나 Text Infilling보다 더 큰 범위의 문맥을 다뤄 모델의 문서 이해 능력↑
 

5) Token Deletion

 

재배열된 문서를 원래의 올바른 순서로 복원하는 것이 핵심 과제
모델은 각 문장의 내용뿐만 아니라 문장들 간의 관계와 전체적인 문서 구조를 이해해야.
이 과정을 통해 BART는 더 복잡한 문서 수준의 언어 구조와 의미를 이해하고 생성하는 능력을 개발함
Document RotationBART의 문서 이해 능력을 종합적으로 향상시키는 역할을 합

 

Fine-tuning BART

1) Sequence Classification Tasks

인코더와 디코더에 동시에 공급되고, 최종 디코더 토큰의 마지막 숨겨진 상태가 다중 클래스 분류기로 전달

2) Token Classification Tasks

기본적으로 Sequence Classification task와 똑같지만, linear 레이어를 각 토큰 위치마다 추가하여 토큰 하나하나를 각각 분류하는 task

3) Sequence Generation Tasks

BARTautoregressive 디코더를 갖고 있으므로 인코더에 input이 주어지면 디코더에서 outputautoregressive하게 만듦

4) Machine Translation

기존 transformer는 인코더에 A언어를 입력하고 B언어로 번역하는 것이었으나, BARTpre-training 과정에서 노이즈가 들어간 영어 문장을 원래의 영어 문장으로 복원하는 것을 단일 언어로 학습함. 그래서 기계번역 못하나 싶지만, 위  그림과 같이 새로운 encoder를 추가해서 새로운 언어의 텍스트를 처리할 수 있도록 학습을 시작하여 번역에 finetuning한 BART를 만듦