핵심 키워드
- BART
- Text Infilling
- Auto-regressive
- Sequence Generation Tasks
Encoder-Decoder
- Sequence-to-Sequence task 수행에 특화된 모델 구조
- Encoder-Decoder는 source문장과 target 문장의 속성이 다르고 이를 변환하는 task에서 좋은 성능을 가진다. (e.g. 요약, 변역)
BART
- paper - BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension
- Encoder-Decoder 구조의 효과적인 사용을 위해 새로운 학습 방법을 제안
- Transformer와 같은 구조를 사용
BART Pre-Training
- 임의로 Noise를 다양한 방식으로 추가하여 원본 문장을 손상시키고 복원시킴으로써 Pre-training 진행
- 5가지 방식의 Noise를 추가한 문장을 Encoder의 입력, Decoder는 원래 문장을 생성하도록 학습된다.
1) Token Masking
- BERT와 같이 임의의 token을 샘플링하여 [Mask] token으로 대체한 문장을 Encoder에 입력.
2) Token Deletion
- 임의의 token을 원본 문장에서 삭제한 뒤 Enocder에 입력
3) Text Infilling
- Token Masking과 다르게 연속된 N개의 token으로 이루어진 다수의 span을 마스킹 한 뒤, Encoder에 입력
4) Sentence Permutation
- 마침표(.)를 기준으로 여러 문장들로 나누고, 이 문장들은 임의의 순서로 섞은 뒤 Encoder에 입력
5) Document Rotation
- 임의로 선택된 token이 시작 token이 되도록 회전한 문장을 Encoder에 입력
BART Fine-tuning
- Source문장을 Encoder에 넣고, Decoder가 target 문장을 생성하는 방식으로 Fine tuning 진행
- 생성 Task에서 Fine-tuning될 때 특히 효과적이다.
1) Sequence Classification Tasks
- 문장의 class를 분류하는 task (e.g. 감정 분석, 스팸 분류)
- Encoder와 Decoder에 같은 입력을 넣고 마지막 decoder token의 출력을 Classifier에 통과하여 Classification을 진행한다.
- BERT와 CLS 토큰을 넣는것과 유사하다.
2) Token Classification Tasks
- 문장의 각 토큰을 분류하는 task (e.g. NER, POS)
- 전체 문서을 encoder와 Decoder에 입력하고 Decoder의 마지막 layer 결과를 각 단어에 대한 Representation으로 사용해서 토큰을 분류
3) Sequence Generation Tasks
- 주어진 문장의 이후 토큰을 생성하는 task (e.g. 요약)
- Auto-regressive 구조의 Decoder를 가지고 있기 때문에, 질의 응답, 요약과 같은 시퀀스 생성 task 수행이 가능하다.
- Encoder에 input Sequence가 입력되면, Decoder는 출력을 Auto-regressive하게 생성
4) Machine Translation
- Source 언어로 작성된 문장을 Target 언어로 변역하는 task
- 기존에 학습되지 않은 언어도 번역 가능하도록 Randomly Initalized Encoder도입
- 새로운 언어로 학습된 새로운 Encoder를 추가
- 기존 BART 모델과는 별도의 Vocab를 사용 가능
BART의 실험 결과
- Encoder - Decoder 구조의 특성에 따라 요약과 번역과 같은 seq-to-seq task에 대해 높은 성능을 가진다.
- Pre-training의 5개 방식중 전반적으로 Text-Infilling이 가장 효과적이다.
'DL' 카테고리의 다른 글
[Transformer] Vision Transformer이해하기 (0) | 2024.10.24 |
---|---|
[LLM]Large Language Model 근간 이론 (7) | 2024.09.24 |
Decoder Model (GPT 1,2,3) (0) | 2024.09.24 |
Encoder Model BERT (0) | 2024.09.24 |
Transformer 이해하기 (0) | 2024.09.23 |