Project Objective
이 프로젝트에서는 해결하고자 하는 과제에 맞게 모델을 사전학습 시키고, 이렇게 사전학습 된 모델을 활용하는 경우에서 성능의 변화를 확인합니다. 사전 학습 목표로는 Masked Lanugage Modeling, Casual Lanugage Modeling, Masked Casual Lanugage Modeling을 사용해 사전학습 목표에 따른 차이점을 자세히 들여다 봅니다.
  1.   Introduction
- Description
- Objective
- 소규모 데이터셋에서 Generative Training의 효용성 검증
- Cache를 활용해 효울적인 생성이 가능한 Transformer 구현
- 데이터를 증가시킨 상황에서의 일반적인 훈련 방식에서의 성능과도 비교하며, Transformer 학습 방식 및 상황별 성능 변화 확인
일반적으로 Transformer는
본 프로젝트의 주요 목표는 Exposure Bias를 최소화하여 모델이 훈련 시와 테스트 시에 일관된 예측을 수행할 수 있도록 하는 것입니다. 이를 위해 Auxiliary Training을 도입하며, 특히 First Token Prediction을 목적으로 합니다.
  2.   Background
- Pretraining
- 사전 학습은 딥러닝 모델의 성능을 향상시키는 데 중요한 역할을 합니다. 대규모 데이터셋에서 사전 학습된 모델은 다양한 작업에 대한 표현을 학습하여 일반화 능력을 향상시킬 수 있습니다.
- Pretraining
- 사전 학습은 딥러닝 모델의 성능을 향상시키는 데 중요한 역할을 합니다. 대규모 데이터셋에서 사전 학습된 모델은 다양한 작업에 대한 표현을 학습하여 일반화 능력을 향상시킬 수 있습니다.
  3.   Pretraining Strategy
- Masked Language Modeling
Auxiliary Training은 Main이 되는 Training Objective에 더불어 추가적인 Training Objective를 두고 학습을 진행하는 방식을 의미합니다. 다만, 일반적인 생성방식으로 학습하는 것은 너무 오랜시간이 소요되기 때문에, 효율성을 위해 생성을 위한 디코딩과정에 Cache를 활용하는 모델을 구현하여 사용합니다. 코드 구현은 아래와 같습니다.
- Casual Language Modeling
Auxiliary Training은 Main이 되는 Training Objective에 더불어 추가적인 Training Objective를 두고 학습을 진행하는 방식을 의미합니다. 다만, 일반적인 생성방식으로 학습하는 것은 너무 오랜시간이 소요되기 때문에, 효율성을 위해 생성을 위한 디코딩과정에 Cache를 활용하는 모델을 구현하여 사용합니다. 코드 구현은 아래와 같습니다.
- Masked Casual Language Modeling
Auxiliary Training은 Main이 되는 Training Objective에 더불어 추가적인 Training Objective를 두고 학습을 진행하는 방식을 의미합니다. 다만, 일반적인 생성방식으로 학습하는 것은 너무 오랜시간이 소요되기 때문에, 효율성을 위해 생성을 위한 디코딩과정에 Cache를 활용하는 모델을 구현하여 사용합니다. 코드 구현은 아래와 같습니다.
  3.   Experimental Setup
- Data Setup
- Translation Task: WMT'14 En-De
- Dialogue Task: Daily Dialogue
- Summarization Task: CNN Daily Mail
- Tokenizer: BPE Tokenizer
- Vocab Size: 15,000
- Train Data Volumn: 50,000
- Valid Data Volumn: 5,000
- Test Data Volumn: 100
- Model Setup
- Architecture: Transformer
- Input Dim: 15,000
- Output Dim: 15,000
- Hidden Dim: 256
- Pff Dim: 512
- Model Params: 15,488,664
- Model Size: 60.085 MB
- Training Setup
- Hardware: Google Colab A100 GPU
- Num Epochs: 10
- Batch Size: 32
- Learning Rate: 5e-4
- Optimizer: AdamW
- LR Scheduler: ReduceLROnPlateau
- Apply Gradient Checkpoint: True
- Gradient Accumulation Steps: 4
  4.   Result
- Result Table
- Result Analysis
Pretraining Type | Score | Epoch Time | Avg GPU | Max GPU |
---|---|---|---|---|
Masked | 3.36 | 0m 11s | 0.20GB | 0.85GB |
Casual | 0.00 | 4m 40s | 1.92GB | 3.86GB |
Masked Casual | 0.66 | 4m 49s | 1.92GB | 3.86GB |
두 가지 과제에서 모두 Generative Training은 성능과 효율성 측면에서 가장 낮은 결과를 보이며, 효용성이 매우 떨어짐을 확인할 수 있습니다. Transformer의 학습에서 Generative Training이 얼마나 비효율적인지 직접 확인할 수 있었습니다.
  5.   Conclusion
- RNN, LSTM, GRU 을 활용한 seq2seq 모델링 방식의 이해
- 세 가지 순환 신경망의 성능 비교 검증
- 가설 검증
- LSTM, GRU, RNN 순으로 높은 성능
- RNN, GRU, LSTM 순으로 빠른 학습
학습 속도 및 GPU 사용량으로 확인해본 효율성은 가설과 마찬가지로 RNN, GRU, LSTM 순으로 나타났습니다.
LSTM의 연산과정이 가장 복잡하고, 다양한 GATE를 사용하기 떄문에, 좋은 성능을 낼 것이라고 예측했으나, 되려 복잡한 연산으로 인해, 학습 시 수렴에 어려움이 생겼습니다. 오히려 GATE를 사용하면서도, 연산의 단순화를 도모한 GRU의 학습 성능이 가장 좋은 것을 확인했습니다
- 최소 기준치 확립
토큰의 벡터 변환을 위한 Embedding Layer와 실제 연산을 위한 순환 신경망 레이어만으로 구성된 단순산 Encoder, Decoder 구조로 이루어져 있으며,
LSTM은 게이트 메커니즘을 통해 장기 의존성 문제를 해결하는 데 강점을 보입니다. 복잡한 문맥을 학습하고 기억하는 데 탁월하며, 긴 시퀀스 데이터에서 뛰어난 성능을 발휘할 수 있습니다. 하지만 LSTM은 더 많은 파라미터를 가지고 있어서 더 많은 데이터와 계산 리소스가 필요할 수 있습니다.
앞서 언급했듯이 순환 신경망을 사용한 Seq2Seq모델은 앞으로 다루게 될 다양한 Seq2Seq 모델들의 시작점입니다. 고도화 된 모델일지라도 하이퍼 파라미터 설정이나, 훈련 방식 등의 이유에서 잘못된 성능이 나올수도 있습니다. 이때, 최소한의 동작은 하는 구나 하는 판단의 근거로 다음과 같은 스코어를 활용할 수 있습니다.
기계번역 BLEU Score: 00.00, 대화 생성 Rouge Score: 00.00, 문서 요약 Rouge Score: 00.00 이하의 성능ㅇ