Noisy Embedding Fine TUNing : noise 를 추가하는 매우 간단한 방법으로 (instruction) fine-tuning 하는 방법이다.
방법
방법은 위의 알고리즘과 같다. 위의 sudo code 은 학습 과정(fine-tuning) 을 나타낸 것이다.
데이터셋 input 을 X_i 라고 하고 이를 Embedding layer 에 통과시킨 embedded input 을 X_emb 라고 한다.
이 X_emb representation 에 noise e를 Scaling 하여 추가한 후 (나머지) model 에 넣어준다.
이 때 e 는 위의 알고리즘에서 uniform 에서 샘플링한다.
이후 나머지 forward 과정과 back propagation 등은 똑같이 진행된다.
위 과정과 같이 매 mini batch 마다 다른 노이즈를 샘플링하여 더해준다.
noise 를 만드는 분포는 uniform 이 결과가 제일 좋았다고 한다.
Noise 를 Scaling 할때 사용하는
L 은 sequence length , d 는 embedding dimension, /alpha 는 tunable parameter (Hyper-parameter 라고 할 수 있다) 이다.
실험 결과
적용 모델은 LLaMA-1, LLaMA-2, and OPT-6.7B 이다.
OpenLLM dataset 으로는 factual questions 과 reasoning challenge 등 정답을 맞추는능력을 평가한다.
위와 같이 noise 를 추가한 결과와 추가하지 않은 결과가 서로 차이가 거의 없는 것을 확인할 수 있다.
💡 AlpacaEval 이란?
Instruction tuning 이 된 LM 을 평가할 수 있는 Automatic Evaluator 로,
AlapacaFarm evaluation dataset 을 사용하여 general 한 user instruction 을 처리할 수 있는지를 판단하기 위한 평가지표 (metric) 이다.
ChatGPT 나 GPT-4 를 annotator로 Davinci003 모델 repsonce 와 비교하여 win rate 를 얻는다.
Alpaca eval win rate 는 시퀀스 길이가 증가함에 따라 좋은 점수를 받는 경향이 있다. (길이가 유의미하지만 반드시 그렇지는 않을수도 있기도 하다는 논문 결과도 있다!)
-> 이를 그래서 확인하기 위해 repeatness 등이나 space 를 많이 만드는지 등을 확인할 필요가 있다.
하지만 위와 같이 GPT4, chatGPT annotator 를 이용한 (gpt 3.5와 결과를 비교하는) win rate 는 좀 많은 차이로 이긴 것을 위의 그래프를 통해 확인할 수 있다.
=> 이 말은 즉, 기존 성능을 낮추지 않고 human align 이 잘 되었다는 뜻이라고 논문에서 말한다.
Reference
https://arxiv.org/abs/2310.05914
'LLM 관련 논문 정리' 카테고리의 다른 글
SOLAR model paper (1) | 2024.01.13 |
---|---|
SPoT: Better Frozen Model Adaptation through Soft Prompt Transfer (0) | 2023.11.23 |
CLM, MLM, TLM 그리고 Seq2Seq (0) | 2023.10.30 |
Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning (NIPS, 2208) (0) | 2023.09.30 |
PEFT (parameter-efficient fine tuning) 정리 (0) | 2023.09.18 |