[24’ ICLR] LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attention
카테고리: Language
태그: Prefix Tuning PEFT
🔍 Abstract
LLaMA 7B model을 그대로 full fine-tuning하는 것은 비효율적이다. 이 논문에서는 일종의 prefix tuning으로 볼 수 있는 PEFT 방법론을 제안한다. 이때 learnable parameter는 1.2M 정도로, 이는 7B model의 0.02%에 해당한다. 그리고 A100 8개로 1시간 이내에 학습이 가능하다. 이러한 방법으로 LLaMA-Adapter는 기존 LLaMA fine-tuning model인 Alpaca나, LLaMA LoRA fine-tuning model인 Alpaca-LoRA과 비슷한 성능을 보여주면서도 더 빠른 학습이 가능했다.
1. Architecture
1.1. LLaMA-Adapter
LLaMA-Adapter의 Main Feature는 크게 2가지로 나눠볼 수 있다. (1) Variants of Prefix Tuning, (2) Zero-initialized Attention이다.
먼저 Prefix Tuning 부분을 보면, Prefix Tuning에서 backpropagation의 효율을 높이기 위해 topmost $L$ layer에만 learnable prefix를 추가한 모습이다. 이러한 방법으로 backpropagation을 모델 끝까지 다시 할 필요성을 제거했다.
또한 Zero-initialized Attention 부분을 보면, 초기 학습에서 prefix의 영향력을 0으로 만들기 위해 zero-gating을 시행하여 안정적으로 학습을 진행할 수 있도록 했다. 식으로 보면 다음과 같다.
먼저 Queries, Keys, Values를 다음과 같이 나타낼 수 있다.
이때 $P_ l$은 prefix, $T_ l$은 text token embedding, $t_ l$은 예측해야 할 직전 layer의 token embedding이다. Attention score는 다음과 같이 계산된다.
이를 prefix 부분($\leq K$)과 그 이후 부분($\leq K+M+1$)으로 나누면 다음과 같다.
이때 앞쪽의 $S_ l ^ K$는 prefix가 $t_ l$을 생성하는데 미치는 정보들을 나타내며, 초기에 이 값들이 random initialization됨에 따라 학습이 불안정할 수 있다. 따라서 learnable gating factor $g_ l$을 softmax layer 이후에 추가하고, 이를 초기에 0으로 설정하여 prefix의 영향력을 0으로 만들어 학습을 안정화시킨다.
1.2. Multimodal LLaMA-Adapter
이러한 방법을 multimodal setting에도 적용할 수 있다. CLIP과 같은 visual encoder로부터 얻은 multi-scale global feature를 $\lbrace I_m \rbrace _ {m=1} ^M$이라 하고, 이로부터 vision feature를 다음과 같이 추출할 수 있다.
그리고 이를 prefix에 더해주어 vision feature를 seamless하게 prefix 부분에 합칠 수 있다.
2. Experiments
2.1. Instruction-following Evaluation
먼저 저자들은 instruction-following evaluation을 통해 LLaMA-Adapter의 성능을 확인했다. 이때 LLaMA-Adapter는 Alpaca나 Alpaca-LoRA에 비해 더 잘 학습되었으며, 더 효율적으로 학습되었다. LLaMA에 있어서 이 방법은 더 효과적이고 효율적이라고 할 수 있다.
2.2. Multi-modal Evaluation
굉장히 간단한 방법을 사용하였음에도 불구하고, LLaMA-Adapter는 multimodal setting을 잘 처리하는 모습을 보여주고 있다.
2.3. Ablation Study
저자는 추가로 fine-tuning하는 layer의 수가 많아지면 성능이 크게 향상된다는 것과 zero-initialized attention이 성능에 굉장히 중요하다는 것을 강조했다. 그 외에 다른 세팅에서도 zero-initialization을 실험하여 이 방법의 효과를 증명했다.
💡 Summary
LLaMA-Adapter는 LLaMA를 효율적으로 학습시키기 위한 방법론으로, prefix tuning과 zero-initialized attention을 사용한다. 이를 통해 Alpaca나 Alpaca-LoRA와 비슷한 성능을 보여주면서도 더 빠르게 학습이 가능했다. 또한 multimodal setting에서도 잘 작동하는 것을 확인할 수 있다. 특히, zero-initialized attention이 성능에 큰 영향을 미치는 것을 확인할 수 있었고, 유사한 구현 상황에서 활용해봐야 할 중요한 부분이라고 생각된다.
댓글 남기기