NLP

Google's Neural Machine Translation System : Bridging the Gap between Human and Machine Translation 논문 리뷰

홍구에몽 2020. 11. 12. 02:12

INTRODUCTION

 

  • Neural Machine Translation
    • End-to-End 학습 접근 방식의 자동 번역
    • 기존 구문 기반 번역의 약점을 극복
  • Neural Machine Translation 단점
    • 데이터 양과 매개변수가 많아 훈련과 추론 속도가 느림
    • Rare Word 처리의 문제점
    • 가끔씩 모든 단어에 대해 번역하지 못함
  • Google’s Neural Machine Translation
    • LSTM으로 이루어져 있는 8개의 ENCODER 8개의 DECODER
    • 병렬 처리 개선을 위해 DECODER 최하층과 ENCODER 최상층을 ATTENTION으로 연결
    • 번역속도를 높이기 위해 low-precision arithmetic, Rare Word 처리를 위해 WordPiece 사용

MODEL ARCHITECTURE

 

  • Model Parallelism
    • 모델 병렬화와 데이터 병렬화 모두 사용함
    • Downpour SGD 사용하여 데이터 병렬화
      • 여러개의 모델로 나누어, 여러개의 머신에서 동시에 학습함, 각각 학습된 gradient 평균내어 모델에 적용
      • 실험에서는 10개의 머신에서 128개의 문장을 Mini-batch 사용
    • 모델 병렬화
      • 머신당 8개의 GPU 사용 (   마다 서로 다른 GPU 할당 )
      • i번째 레이어의 작업이 종료전에 i+1번째 작업 진행 가능

SEGMENTATION APPROCHES

 

  • Wordpiece Model
    • 띄어쓰기는 _, 단어는 내부단어 통계에 기반하여 띄어쓰기로 분리
    • 띄어쓰기를 _ 치환한 이유는 차후에 문장 복원을 위해
    • 실험에서는 wordpiece 8K~32K에서 좋은 결과 얻음
    • wordpiece로도 얻을  없었던 rare word copy model 사용

  • Mixed Word/Character Model
    • OOV 처리를 <UNK> 하지 않고 문자 단위로 나누어 처리함
    • 시작 문자 <B>, 중간 문자 <M>,  문자 <E>
    • 전체 작업 과정에서 유지한 채로 학습한  태그를 삭제함

TRAINING CRITERIA

 

  • Maximum-liklihood 학습 방식은 로그 확률 값을 최대화하는 목적 함수 ( BLUE 평가 지표와 부합되지 않음 )

  • Reward개념의 목적함수 사용

  • r 문장 단위 점수 ( 출력 문서와 실제 문서의 차이 계산 )
  • GLEU 점수 지표 사용 ( 출력 문장과 정답 문장을 1~4 토큰으로 만든  recall precision 구한   작은 값을 GLEU 정함 )
  • ML방식과 RL 방식 혼합하여 사용  , a 0.017

 


QUANTIZABLE MODEL AND QUANTIZED INFERENCE

 

  • NMT 연산량이 많아 inference시간이 오래 걸리는 것이  단점
  • 해결하기 위하여 Quantized inference 수행

 


DECODER

 

  • Beam Search 사용하여 점수 함수를 최대화 하는 시퀀스 Y 찾음
  • Length normalization
    • 길이가   문장의 확률이 떨어지기 때문에 이를 보정하기 위하여 사용
    • 하이퍼 파라미터 a 사용 ( 실험에서는 0.6 ~ 0.7 사용 )
  • Coverage Panelty
    • source word xi 부터 attention weight 합을 구함
    • 로그를 취했기 때문에 attention weight 편중되지 않은 source word 값이 매우 작음 음수를 가지게 
    • 실험에서는 a 0.6 b 0.2 사용

 


EXPERIMENTS AND RESULTS

 

  • Data set
    • WMT En -> Fr 36M
    • WMT En -> De 5M
  • Evaluation Metrics
    • BLUE
    • implicit human evaluation ( BLUE 번역 점수  못메김 )
  • Training Procederue
    • TensorFlow 사용하여 구현
    • 12개의 머신으로 병렬화
    • [-0.04, 0.04] 사이로 매개변수를 균일하게 초기화
    • Adam Optimizer SGD 혼합하여 사용 (  60k Adam으로  후로는 SGD 사용)
  • Learning Rate 0.5 ( 1.2M 이후부터 200k 단위마다 반씩 줄여가며 학습 )

 

 

 

 


CONCLUSION

 

1) Wordpiece 모델은 번역 품질과 inference 속도를 효과적으로 높힘

2) 모델과 데이터의 병렬화는 sequence-to-sequecne NMT 모델을 일주일안으로 효율적으로 훈련시킬  있음

3) Model quantization  inference 속도를 가속화할  있어 대형 모델에 사용하기 용이함

4) Length-normalization, coverage penalty등과 같은 추가 세부 사항이 NMT 시스템을  작동시키게 도와줌