Computer Vision

Parameter-Efficient Transfer Learning for NLP 논문 요약

kk_eezz 2024. 3. 27. 16:11

https://arxiv.org/abs/1902.00751

 

Parameter-Efficient Transfer Learning for NLP

Fine-tuning large pre-trained models is an effective transfer mechanism in NLP. However, in the presence of many downstream tasks, fine-tuning is parameter inefficient: an entire new model is required for every task. As an alternative, we propose transfer

arxiv.org

 

 

Idea

1. transfer learning이란?

  • 한 task에서 학습한 지식을 다른 downstream task에 적용하는 기술. 이전 task에서 학습된 모델이나 특성을 새로운 task에 활용함으로써 새로운 task의 학습에 도움이 되도록 한다.
  • transfer learning에는 feature based transferfine-tuning 방식이 있다.

 

 

2. Feature based transfer

  • Feature를 추출하는 layer를 가져와 사용하고, classifier와 같은 Layer를 추가하는 transfer 방식

출처:  https://jjuon.tistory.com/20

 

 

3. Fine-tuning

  • pretrain된 전체 네트워크의 가중치를 가져와 downstream task에 맞게 조정하는 방식.

출처:  https://jjuon.tistory.com/20

  • 최근의 연구에 따르면 fine-tuning 방식이 feature-based transfer 방식에 비해 더 좋은 성능을 내는 것으로 보여져 많이 사용되었다.
  • 그러나 fine-tuning 방식은 모델의 전체 파라미터를 재학습해야하므로 비효율적이라는 문제점이 있다.
  • 따라서 이 논문에서는 fine-tune 방식과 비교했을 때, 훨씬 적은 수의 파라미터만을 사용하면서도, 비슷한 성능을 내는 adapter-based tuning 방식을 제안했다.

 

 

Methods

  • Adapter tuning 방식은, 기존 네트워크에 새로운 레이어를 삽입하고 해당 레이어만 학습할 수 있도록 한다.
  • 기존 네트워크의 레이어는 학습하지 않고 freeze함으로써, 여러 task에서 공유될 수 있도록 한다.
  • 아래 그림은 Adapter의 아키텍쳐를 보여주고 있다. 여러 아키텍처가 사용될 수 있지만 간단한 transformer 구조에서 좋은 성능을 도출했다고 한다.

 

  • 왼쪽은 Transformer, 오른쪽은 Adapter layer에 대한 그림이다.
  • Adapter Layer는 Bottleneck 구조로 되어있으며, 초록색으로 그려진 부분이 downstream task에 대해 학습되는 부분이다.

 

 

 

Experiments

  • GLUE(General Language Understanding Evaluation)에 대한 결과

  • Adapter 방식은 평균 GLUE 점수로 80.0을 달성하며, 전체 fine-tuning의 80.4와 비교했을 때 근소한 차이를 보이면서도, 적은 수의 파라미터로 학습된다.
  • Classification Task

 

 

Parameter/Performance trade-off

  • 파라미터 수에 따른 adapter 방식과 fine-tune 방식의 성능 차이를 비교한다.

 

Ablation Study

1. 제거되는 adapter layer에 따른 성능 변화

  • 개별적인 adapter layer를 제거하는것은 성능에 큰 차이가 없었으나 (2%) 전체 layer를 삭제하는 것은 큰 영향을 줌 (37% / 67%)
  • 또한, higher layer를 제거하는 것이 lower layer를 제거하는 것보다 큰 영향을 줌
  • 이는 직관적으로 생각해봤을 때, low-level feature는 많은 task에 대해 공유되지만, high-level feature는 각 task에 따라 달라진다는 개념에 들어맞는 결과임

 

 

2. 초기 weight magnitude에 따른 성능 변화

  • x축은 평균이 0인 Gaussian distribution에서의 standard deviation 값 [10^-7,1]

 

3. 시도해봤지만 성능 변화에 큰 차이가 없었던 실험

  • adapter에 batch/layer normalization 추가
  • adapter layer 수 증가
  • activation function 변화
  • attention layer안에만 adapter 추가
  • main layer와 parellel하게 adapter 추가