NEFTUNE: NOISY EMBEDDINGS IMPROVE INSTRUCTION FINETUNING

ingeol·2023년 11월 2일
0

논문리뷰

목록 보기
21/59

논문에서 사용한 방식 설명

embedding vectors에 노이즈를 더해 학습을 시킬 때 일반 finetuning보다 큰 성능향상을 가져올 수 있다. 또한 RLHF학습을 통해 LLaMA-2-chat 모델에서도 효과적이다.

neftune algorithm (매우 간단함)
embedding vector를 만들어준 후에 uniform dist 입실리노으로 noise vector sample을 만들어 준후 α/Ld\alpha /\sqrt{Ld} 만큼 scaled 시킨 노이즈샘플들을 기존 임베딩 벡터에 더해줘서 XX^{\prime} 을 만들어 준후 학습에 사용

해당 간당한 방식의 유효성을 판단하기 위해 4가지 데이터셋으로 평가 + 3개의 비슷한 사이즈의 모델로 evaluation을 진행 했을 때 winrate가 neftune을 사용했을 때 전반적으로 상승하는 것을 볼 수 있다.

Result

  1. text quality 증가
  2. chat model에서도 적용 -> 성능 향상
  3. Open LLM Leaderboard에서는 해당 방식의 학습을 통해 성능이 유지된다.
  4. QLoRA와 함께 사용가능

Analysis

논문에서 embedding 차원에 noise를 주면서 특정 데이터셋, format details, exact wording, text length 등에 덜 overfitting 되는 경향을 보인다고 가서을 세웠다.또한 사전 학습된 base model의 행동과 지식을 더 잘 통합한다고 주장한다.

시험 table 4,5,6에 대한 설명
1) alpaca eval 방식이 긴문장에 대해 점수가 잘 나온다는 특징을 가지고 있다. neftune을 사용해서 학습을 진행하면 문장길이가 길어지면서 출력이 된다. 이것에 대해 증명(?), 설명하기위해 기존 alpaca 에서 문장을 길게 출력하도록 프롬프트 등을 넣고 비교 했을 때 비슷한 길이에서 neftune이 더 좋은 성능이 나온다.
2) 또한 neftune이 반복적인 설명을 하면서 길이가 길어지는 것인지 확인 하기 위해 n-gram, 과 log-diversity를 사용해 실험 진행했고, 실험결과 디테일한 설명을 추가적으로 해주는 것으로 확인이 되었다고 한다.
3) 마지막으로 uniform dist를 이용해 noise를 sampling했었는데 이를 gaussian dist로 변경했을 때는 출력길이가 더 증가한다고 한다.

Conclusion and Limitation

LLM은 데이터셋을 정교하게 만들거나 model size를 키워가면서 성능을 높이는데 초점이 되어있었다. neftune은 이 점을 지적하면서 LLM학습에 regularizer의 중요성을 말하고 있다.

0개의 댓글