Portfolio

Multi Turn Dialogue Generation


Project Objective

  이 프로젝트에서는 멀티턴 대화 생성 모델을 위한 효율적 모델 구조를 다각적으로 탐구해봅니다.


  1.   Introduction

  • Description
  •   자연어 생성을 위한 Sequence to Sequence 모델 구조에서는 Exposure Bias라는 문제점이 빈번하게 발생합니다. 학습과정과 실제 추론과정 사이 괴리에서 기인하는 이 문제를 해결하기 위한 다양한 방법론이 존재하며, 그 방법론 중 하나가 바로 Scheduled Sampling. 하지만 Scheduled Sampling은 학습과정 안에서 생성을 동반하기 때문에 Transformer에 사용하기 적합하지 않습니다. 하지만 이런 문제를 해결하며 새로운 방법론을 제시한 Scheduled Sampling for Transformers라는 논문이 있었습니다. 이 논문에서 아이디어를 얻어, 이 프로젝트에서는 다양한 Sampling Ratio 별 Scheduled Sampling의 효용성을 세가지 자연어 과제에서 검증해봅니다.

  • Objective
    • Scheduled Sampling for Transformers 구현
    • Sampling Ratio 별 자연어 생성 능력의 변화 확인
    • Scheduled Sampling의 Exposure Bias 완화 기능 확인

  2.   Background

  • Multi Turn Dialigue Generation

      Multi Turn Dialigue Generation은 ...

  • Dialogue History

      Dialogue History는 ...

  3.   Architecture

  • History Concat Model

      History Concat Model ...

  • History Fusion Model

      ...

  4.   Experimental Setup

  • Data Setup
    • Dataset:   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
    • Input Dim:   15,000
    • Output Dim:   15,000
    • Embedding Dim:   512
    • Hidden Dim:   512
    • Model Params:   15,488,664
    • Model Size:   60.085 MB
  • Training Setup
    • Num Epochs:   10
    • Batch Size:   32
    • Learning Rate:   5e-4
    • LR Scheduler:   ReduceLROnPlateau
    • Hardware:   Google Colab A100 GPU
    • Optimizer:   AdamW
    • Apply Gradient Checkpoint:   True
    • Gradient Accumulation Steps:   4

  5.   Result

  • Machine Translation
  • Sampling Ratio Score Epoch Time Avg GPU Max GPU
    0.0 12.99 0m 44s 0.20GB 0.95GB
    0.1 2.11 1m 00s 0.20GB 0.95GB
    0.3 7.34 1m 00s 0.20GB 0.95GB
    0.5 6.94 1m 00s 0.20GB 0.95GB
  • Dialogue Generation
  • Sampling Ratio Score Epoch Time Avg GPU Max GPU
    0.0 2.03 0m 43s 0.20GB 0.85GB
    0.1 2.31 0m 59s 0.20GB 0.85GB
    0.3 2.34 0m 59s 0.20GB 0.85GB
    0.5 0.82 0m 59s 0.20GB 0.85GB
  • Text Summarization
  • Sampling Ratio Score Epoch Time Avg GPU Max GPU
    0.0 7.60 2m 44s 0.21GB 2.78GB
    0.1 2.95 3m 8s 0.21GB 2.78GB
    0.3 4.10 3m 8s 0.21GB 2.78GB
    0.5 5.39 3m 8s 0.21GB 2.78GB
  • Result Analysis
  •   Scheduled Sampling이 대화 생성에서는 긍정적인 영향을 끼치긴 했지만, 미미한 수준에 그칠 뿐이며, 나머지 과제에서는 모두 성능과 효율성 모두에 악영향을 미쳤습니다. 이를 통해 Scheduled Sampling이 Transformer에서는 맞지 않는 학습 방식임을 알 수 있습니다.

  6.   Conclusion

  이 프로젝트에서는 Scheduled Sampling for Transformers 논문에서 소개한 내용을 토대로, 코드를 구성하고, 세가지 자연어 생성 과제에서 그 성능을 검증해봤습니다. 결과적으로는 Scheduled Sampling for Transformers 방법론이 Transformer에는 맞지 않는 학습 방식이라는 것을 확인했습니다. Exposure Bias라는 문제점을 완화하기 위한 다양한 방법론 중 하나를 직접 검증해보며, 추후 Exposure Bias 완화를 위한 연구에 참고점으로 삼을 수 있을 것 같습니다.

  7.   Reference