NoisyTune: A Little Noise Can Help You Finetune Pretrained Language Models Better

장한솔·2022년 9월 5일
0

NLP Papers

목록 보기
9/28
  • Microsoft Research Asia, ACL2022 short
  • 사전훈련에서 MLM과 downstream 테스크의 간극이 존재한다.
  • 이 부분을 해결하고 파인튜닝을 잘 하기 위해서 파인튜닝하기 전 NoisyTune이라는 방법을 사용한다.
  • 여기에서는 특별히 matrix-wise preturbing 방법을 사용한다.
    • It adds different uniform noises to different parameter matrices based on their standard deviations.
  • 결론적으로 GLUE, XTREME(multilingual benchmark)에서 성능을 향상시켰다.

NoisyTune

  • give noise to the parameters of PLMs before finetuning

  • reduce the risk of overfitting the pretraining tasks and data.

  • PLM에서 사용하는 다양한 파라미터들이 있다.

    • query, key, value, feedforward network matrices
    • 다양한 파라미터들이 각기 다른 특성과 스케일을 가지고 있다.
    • 이런 점에서 unified noise 사용하기 보다는 각 매트릭스의 분산을 반영해서 다른 noise를 생성하도록 하였다. (a matrix-wise perturbing method)
    • U(a, b) represents uniform distribution noise ranged from a to b
    • λ\lambda : noise intensity
    • Returns a tensor filled with random numbers from a uniform distribution on the interval [0, 1)

Experiments

Analysis

  • 노이즈 종류
    • GLUE나 XTREME 패턴은 굉장히 비슷하게 나타났음.
    • 같은 분포로 동일하게 노이즈를 반영할 경우에는 오히려 성능을 저하시킨다.
      • 각 파라미터들이 다른 분포와 특성을 가지고 있기 때문
    • 가우시안 분포보다는 유니폼을 노이즈로 사용하는 것이 더 좋았다.
      • 가우시안 range가 더 넓고 모델 성능의 어떤 특정 값들이 영향을 줄 수 있는데, 유니폼 분포의 경우 그 부분들을 죽이지 않기 때문에 더 성능이 좋았다고 주장한다.

  • 다른 방법들에 붙였을 때에도 성능이 높게 나옴.

    • RecAdam(EMNLP2020) : pretrained model과 finetuned model 사이의 penalty item 넣어서 L2 distance 줄이고자 했다. (optimizer)
    • Mixout(ICLR 2020) : randomly replaces part of the parameters in the finetuned model with their original weights in the PLMs. (또한 official 코드가 존재함)
  • 데이터가 적게 사용되었을 때에도 비교적 높은 성능을 보임.

    • 이 방법이 overfitting을 줄이고 generalization을 잘하게하려데에 도움을 주기 때문에, 적은 데이터에서도 성능향상을 보인다.
  • 람다가 너무 작거나(0에 가깝거나) 크면 (0.3에 가까울때) 최적점을 찾아가지 못함.

    • 람다가 작을 경우에는 overfitting 이겨낼 정도로의 노이즈를 주지 못함.
    • 람다가 너무 크면 노이즈가 PLM을 압도해버리는 상황이 발생.
    • 결론적으로 0.1에서 0.15정도가 적당하다. (GLUE datasets에 대해서)
profile
산미 있는 커피를 좋아하는 자연어처리 엔지니어. 일상 속에서 요가와 따릉이를 좋아합니다. 인간의 언어를 이해하고 생성하는 AI 기술 발전을 위해 노력하고 있습니다. 🧘‍♀️🚲☕️💻

0개의 댓글