Project Objective
이 프로젝트에서 자연어 생성 모델의 고질적인 문제점인 Exposure Bias의 완화를 위한 세 가지 방법론을 제시하고, 그 실효성을 직접 검증합니다. 각 방법론 Auxiliary, Recurrent Decoding, Generative 학습법입니다. 모델 아키텍처는 효율적인 생성을 위해 캐싱 기능을 추가한 표준 트랜스포머를 사용하며, 대표적인 자연어 생성 과제인 기계 번역과제를 통해 생성 능력의 향상 여부를 면밀히 조사합니다. 프로젝트의 결과, 세가지 방법론에서 모두 기본적인 미세조정보다 우수한 생성 능력을 학습 시킬 수 있음을 확인했습니다.
  1.   Introduction
- Project  Description
- Project  Objective
- Auxiliary Training을 통한 Exposure Bias 개선 여부 확인
- Auxiliary Training Objective로 First Token Prediction의 적절성 검증
- Auxiliary Training Ratio에 따른 성능 검토
트랜스포머 모델은 자연어 생성 과정에서 많은 성과를 이뤘지만, 생성 과정에서 잘못된 토큰의 예측으로 전체적인 문장의 생성과정이 잘못된 방향으로 편향되는 현상인 Exposure Bias에 대한 도전이 남아있습니다. 이 프로젝트는 세 가지 방법론을 활용하여 트랜스포머 모델을 미세조정함으로써, Exposure Bias를 완화시키는 것을 목표로 합니다. 이때 사용하는 세가지 방법론은 Auxiliary Training, Recurrent Decode Training, Generative Training입니다. Auxiliary Training은 MLE라는 주요 학습 목표와 더불어 첫번째 토큰을 예측하는 보조 학습 목표를 활용하며, Recurrent Decode Training은 Scheduled Sampling에서 영감을 받아, 디코더의 출력값을 다시금 디코더의 입력값으로 사용합니다. 그리고 Generative Training은 실제 생성 과정과 동일한 방식으로 학습을 진행하되, 캐싱을 활용해 학습의 일부분에서만 수행해 학습 효율성을 크게 저하시키지 않는 선에서 활용합니다. 이 모든 방법론의 성능 평가는 대표적인 자연어 생성 과제인 기계번역 과제에서 수행하며, 이를 위한 데이터로는 WMT14 En-De 데이터셋을 선정했습니다.
  2.   Background
- Challenges in Natural Language Generation
- 자연어 생성의 어려움점 토로
- Exposure Bias
- 그렇다고 학습과정에 Generation을 포함시킬수도 없음.
- Need for Advanced Training Strategies in Fine-Tuning
- Fine Tuning...
- 표준적인 방식의 제한
- 고도화된 학습 전략이 필요
  3.  Fine-Tuning Strategy
- Standard  Fine-Tuning
- Training Process와 동일하게, MLE 기반의 다량 배치 병렬학습을 사용
- 학습률을 줄임으로써, 미리 학습된 모델의 파라미터를 크게 갱신하지 않고, 약간의 조정
- Auxiliary  Fine-Tuning
- Main Training Objective인 MLE와 더불어 보조 학습 목표인 First Token Prediction을 활용한 미세조정
- Recurrent  Fine-Tuning
- Scheduled Sampling for Transformers에서 제시된 방법론을 차용
- Sampling Ratio를 1.0으로 설정함으로써, 불완전한 데이터가 학습과정에서 사용됨을 방지
- Recurrent Ratio역시 0.1 ~ 1.0까지 조정하며, 적용
- Generative  Fine-Tuning
- 0.1 ~ 0.5까지 비율을 조정해가며, 미세조정과정에 생성 결과를 통합적으로 사용
  4.  Experimental Setup
- Data Setup
- Translation Task: WMT'14 En-De
- Dialogue Task: Daily Dialogue
- Tokenizer: BPE Tokenizer
- Vocab Size: 15,000
- Train Data Volumn: 50,000
- Valid Data Volumn: 5,000
- Test Data Volumn: 100
- Model Setup
- PLE Architecture: AlBERT
- PLE Name: albert-v2
- Input Dim: 10,000
- Output Dim: 10,000
- Embedding Dim: 512
- Hidden Dim: 512
- Model Params: 000
- Model Size: 000
- Training Setup
- Hardware: Google Colab A100 GPU
- Num Epochs: 10
- Batch Size: 32
- Learning Rate: 5e-4
- Optimizer: AdamW
- Apply Mixed Precision: True
- Gradient Accumulation Steps: 4
- LR Scheduler: ReduceLROnPlateau
  5.  Result
- Result Table
- Result Analysis
Strategy | Score | Epoch Time | Avg GPU | Max GPU |
---|---|---|---|---|
Baseline | 12.99 | 0m 44s | 0.20GB | 0.95GB |
Standard  Fine-Tuning | 2.11 | 1m 00s | 0.20GB | 0.95GB |
Auxiliary  Fine-Tuning | 7.34 | 1m 00s | 0.20GB | 0.95GB |
Recurrent  Fine-Tuning | 6.94 | 1m 00s | 0.20GB | 0.95GB |
Generative  Fine-Tuning | 6.94 | 1m 00s | 0.20GB | 0.95GB |
RNN은 다양한 정보를 함유하기에 지나치게 단순하고, LSTM은 GATE구조가 복잡하기에, 그만큼 영향을 받은 요소가 많아 학습 수렴이 어렵습니다. 때문에 모든 학습 결과에서는 GATE를 사용하면서도 단순화된 연산으로 학습의 이점이 큰 GRU가 가장 뛰어난 성능을 보임을 알 수 있습니다.
  6.  Conclusion
- 보조 학습 목표의 효용성 검증
- 자기 회귀적 디코딩 방식의 효용성 검증
- LSTM, GRU, RNN 순으로 높은 성능
- RNN, GRU, LSTM 순으로 빠른 학습
학습 속도 및 GPU 사용량으로 확인해본 효율성은 가설과 마찬가지로 RNN, GRU, LSTM 순으로 나타났습니다.
LSTM의 연산과정이 가장 복잡하고, 다양한 GATE를 사용하기 떄문에, 좋은 성능을 낼 것이라고 예측했으나, 되려 복잡한 연산으로 인해, 학습 시 수렴에 어려움이 생겼습니다. 오히려 GATE를 사용하면서도, 연산의 단순화를 도모한 GRU의 학습 성능이 가장 좋은 것을 확인했습니다
- 생성적 학습 방식의 사용법 제시
토큰의 벡터 변환을 위한 Embedding Layer와 실제 연산을 위한 순환 신경망 레이어만으로 구성된 단순산 Encoder, Decoder 구조로 이루어져 있으며,
트랜스포머 모델을 사용한 생성적 학습은 효율성과 효용성 모든 측면에서 좋지 않은 모습을 보입니다. 트랜스포머라는 모델자체가 대규모데이터를 기반으로 다량학습에 용이한 모델 구조를 띄고 있기 때문에.