본문 바로가기

논문 리뷰/Language Model

LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attention

LLaMA를 경량 어댑터로 fine-tuning

 

Github

arXiv

 

 

Abstract

LLaMA를 효율적으로 fine-tuning 하는 경량 적응 방법인 LLaMA-Adapter 제안

 

 

 

Introduction

LLaMA-Adapter

  • LLaMA의 상위 transformer 계층에 학습 가능한 적응 프롬프트 세트를 입력 instruct token의 접두사로 추가
  • 초기 교육 단계에서 적응 프롬프트의 노이즈를 피하기 위해 zero-init attention 사용

 

 

본 논문의 기여

  • 1.2M의 적은 피라미터 수
  • Alpaca보다 빠른 수렴 비용
  • 각 어댑터를 유연하게 삽입하여 다양한 지식을 부여할 수 있음
  • Multi-modal conditioning 가능

 

 

 

LLaMA-Adapter

 

Learnable Adaption Prompts

52K instruction-to-output data,

pretrained LLaMA  with an N-layer transformer,

L transformer layers {Pl}l=1L,

Pl ∈ RK x C,

각 레이어의 프롬프트 길이 K,

dimention C.

 

Transformer의 최상위 L 레이어들에 프롬프트 삽입. (L ≤ N)

 

M 길이의 단어 토큰 T를 다음과 같이 연결하여 더 높은 수준의 의미로 언어 표현 조정 (약간 BERT의 object query 느낌)

 

Zero-init Attention

적응 프롬프트가 무작위로 초기화되면 초기 훈련에 방해가 될 수 있다.

 

구체적으로, 적응 프롬프트가 삽입된 l번째 레이어에서 M+1번째 단어 토큰 tl을 생성할 때, 다음과 같이 attention score를 구하고

 

Attention score는 두 가지 구성요소로 되어있다.

 

초기 학습을 방해하는 첫 번째 term의 영향을 줄이기 위해 gating factor를 도입한 뒤 0으로 초기화하고

LLaMA의 사전 훈련 정보와 적응 프롬프트가 관련이 없도록 별도로 softmax 진행.

 

최종 연산

 

Multi-modal Reasoning

Visual encoder(e.g. CLIP)를 통해 각 scale의 feature를 추출하고 학습 가능 projection 적용

 

해당 결과를 적응 프롬프트의 모든 토큰에 추가

 

 

 

Instruction-following Evaluation

LLaMA adapter version-2가 나왔으므로 생략~