논문 주소: https://proceedings.iclr.cc/paper_files/paper/2024/file/c196239c5f9481e0db2755f31fe4585f-Paper-Conference.pdf
깃허브: https://github.com/OpenGVLab/LLaMA-Adapter
ABSTRACT
LLM의 급격한 부상과 함께 ChatGPT와 같이 범용적으로 지시사항을 따르는(instruction-following) 모델 개발에 대한 관심이 높아지고 있습니다. 이러한 흐름에 맞춰, 본 연구에서는 LLaMA의 효율적인 instruction tuning을 위한 경량화된 적응 방법인 LLaMA-Adapter를 제시합니다. 52K의 self-instruct 데모를 활용하여, LLaMA-Adapter는 frozen 상태의 LLaMA 7B 모델 위에 단 1.2M의 학습 가능한 파라미터만을 추가하며, fine-tuning에 소요되는 시간은 1시간 미만입니다.
구체적으로, zero-initialized attention 메커니즘이 제안되었습니다. 이는 self-attention 레이어 내에서 LLaMA에 지시적 단서(instructional cues)를 적응적으로 주입하기 위해 학습 가능한 zero gating을 채택하며, 이는 안정적인 학습 과정과 우수한 최종 성능에 기여합니다. 이러한 방식을 통해 LLaMA-Adapter는 다양한 언어 지시사항에 대해 고품질의 응답을 생성할 수 있으며, 이는 7B 파라미터를 전체 fine-tuning한 Alpaca와 대등한 수준입니다.
언어 명령뿐만 아니라, image encoder를 결합함으로써 접근 방식은 이미지 조건부 지시 수행을 위한 Multi-modal LLM으로 간단히 확장될 수 있으며, 여러 인기 있는 벤치마크(MME, MMBench, LVLM-eHub)에서 우수한 멀티모달 추론 능력을 달성합니다. 나아가, 제안된 zero-initialized attention 메커니즘이 전통적인 비전 및 언어 작업에서 다른 pre-trained 모델(ViT, RoBERTa, CLIP)을 fine-tuning하는 데에도 효과적임을 검증하여 우리 접근 방식의 유효성과 일반화 가능성을 입증했습니다.
1 INTRODUCTION
LLM은 놀라운 이 해 및 생성 능력을 보여주며 언어 작업을 더 높은 수준으로 instruction-following 모델에서 상당한 진전이 있었습니다. 그러나 instruction 모델의 대중화는 closed-source 제한과 높은 개발 비용으로 인해 크게 가로막혀 있습니다. 이를 완화하기 위해 Stanford Alpaca 는 오픈 소스 LLM인 LLaMA를 이고 재현 가능한 instruction-following 모델로 fine-tuning할 것을 제안했습니다. 175개의 인간이 작성한 지시-출력 쌍 에서 시작하여 Alpaca는 GPT-3.5를 활용해 self-instruct 방식으로 학습 데이터를 52K까지 확장했습니다. 이를 감독 하에 Alpaca는 LLaMA의 전체 7B 파라미터를 fine-tuning하여 GPT-3.5와 유사하게 작동하는 탁월한 instruction 모델을 생성했습니다. Alpaca의 효과에도 불구하고 대규모 LLaMA의 완전한 fine-tuning은 여전히 시간이 많이 소요되고 계산 집약적이며, 서로 다른 downstream 시나리오로 이전하기에 번거롭습니다.
본 논문에서는 LLaMA를 우수한 성능의 instruction-following 모델로 적응시키는 효율적인 fine-tuning 방법인 LLaMA-Adapter를 소개합니다. Alpaca의 지시-출력 데이터로 학습된 우리의 접근 방식은 전체 LLaMA 모델을 freeze하고, 뛰어난 자원 효율성을 가진 zero-initialized attention 메커니즘을 제안합니다. 구체적으로 LLaMA의 상위 transformer 레이어에서 학습 가능한 일련의 adaption prompts를 word tokens에 prefix로 추가합니다. 그런 다음 학습 초기 단계에서 무작위로 초기화된 prompt로 인한 노이즈를 피하기 위해, frozen self-attention 레이어에 학습 가능한 gating factor를 장착합니다. gating 메커니즘은 zero로 초기화되며, attention 계산 과정 내에서 prompt와 word tokens 간의 feature 상호작용을 제어합니다. 이러한 전략은 먼저 LLaMA의 기존 지식을 보존하고, 학습 중에 새로운 지시 신호를 점진적으로 주입할 수 있게 합니다. 이는 더 안정적인 학습 과정과 최종 모델의 더 나은 instruction-following 능력에 기여합니다.
전반적으로 LLaMA-Adapter는 그림 1에 나타난 바와 같이 네 가지 주요 특징을 보여줍니다.
- 1.2M Parameters. 전체 7B파라미터를 업데이트하는 대신 pre-trainmed LLaMa를 freeze하고 1.2M 파라미터의 zero-initialized attention 메커니즘만 학습합니다. 그러나 이는 7B Alpaca와 대등한 instruction following 숙련도를 보입니다.
- One-hour Fine-tuning. zero-initialized gating이 적용된 경량화된 adaption 모듈 덕분에 LLaMA-Adapter의 학습 수렴은 8개의 A100 GPU에서 1시간 미만이 소요되며, 이는 Alpaca보다 3배 더 빠릅니다.
- Plug with Expertise. 서로 다른 시나리오에 대해 각각의 adapter를 삽입하여 LLaMA에 서로 다른 전문가 지식이나 새로운 modality 입력을 부여하는 것이 유연합니다. 따라서 13G LLaMA의 완전한 복사본 대신 각 문맥 내에 1.8M adapter만 저장하면 충분합니다.
- Multi-modal Reasoning. 언어 지시 외에도 본 접근 방식은 zero-initialized attention을 통해 image encoder를 통합하여 multi-modal LLM이 될 수 있습니다. 동시기에 진행된 연구들과 비교하여 LLaMA-Adapter는 MME, MMBench , LVLM-eHub 벤치마크에서 경쟁력 있는 추론 능력과 함께 더 높은 tuning 효율성을 보여줍니다.
instruction tuning 외에도 본 연구의 zero-initialized attention은 parameter-efficient fine-tuning을 위해 전통적인 비전 및 언어 작업으로 일반화될 수 있습니다. 본 접근 방식을 pre-trained ViT, RoBERTa, CLIP에 각각 적용하여 비전, 언어 및 비전-언어 모델을 fine-tuning했습니다. 광범위한 downstream 작업에서 우리는 제안된 방법이 전통적인 작업에도 효과적임을 입증했습니다.
2 RELATED WORK
Instruction Tuning of Language Models.
자연어 명령에 기반하여 응답을 생성하는 능력을 학습하는 language model 분야는 pre-trained LLM에 고품질의 instruction-output 데이터 쌍을 fine-tuning하여 모델을 강화하는 것을 목표로 합니다. InstructGPT는 instruction-following 능력에서 상당한 개선을 보여주었으나 커뮤니티에는 소스가 공개되지 않았습니다. instruction 모델의 오픈 소스화를 촉진하기 위해 Stanford Alpaca는 52K의 self-instruct 데이터로 LLaMA의 전체 7B 파라미터를 fine-tuning했습니다. 그러나 이러한 전체 모델 fine-tuning은 시간과 계산 자원 측면에서 비효율적일 수 있으며, downstream 응용 분야로의 전이성을 제한합니다. 본 논문에서는 전체 모델의 파라미터를 업데이트하는 대신, frozen LLaMA 위에 가벼운 zero-initialized attention 메커니즘만을 fine-tuning하는 LLaMA-Adapter를 제안합니다.본 연구와 동시에 진행된 Alpaca-LoRA, Vicuna, LLaMA-GPT4 등은 서로 다른 측면에서 Alpaca를 개선하고자 했습니다. Alpaca-LoRA는 기존의 LoRA를 활용해 LLaMA를 효율적으로 fine-tuning하지만, 이는 기존 네트워크 구조에 국한되어 이미지 입력을 위해 확장될 수 없습니다. 반면, LLaMA-Adapter는 더 높은 하급 효율성을 달성하며 zero-initialized attention을 통해 multi-modal LLM으로 간단히 일반화될 수 있습니다. . Vicuna와 LLaMA-GPT4는 Alpaca의 52K 데이터 대신 ChatGPT와 GPT-4를 사용하여 더 발전된 instruction 데이터셋을 구축하는 것을 목표로 하지만, 여전히 multi-modal instruction tuning의 가능성 없이 전체 fine-tuning 방식을 채택하고 있습니다.
Parameter-efficient Fine-tuning.
Pre-training 및 fine-tuning 패러다임은 다양한 언어 및 비전 작업에서 매우 효과적인 것을 입증되었습니다. 전체 fine-tuning과 비교하여 PEFT 방법들은 pre-trained 모델의 대부분의 파라미터들을 freeze 하고, downstream 작업에서 대등한 능력을 보이는 것을 목표로 합니다., 그 중 prompt tuning은 학습 ㄱ능한 token 모음을 pre-trained 거대 모델에 추가하며, 이들은 embeddings이나 모든 중간 레이어에 삽입됩니다. LoRA는 각 네트워크의 가중치에 학습 가능한 rank decomposition 행렬을 도입하여 거대 생성 모델에서 유망한 fine-tuning 능력을 보여주었습니다. Adapters는 가벼운 적응 모듈로 transformer의 각 블록에 삽입하여 수많은 도메인으로 확장하였습니다. 이전의 노력들과 달리, 본 연구에서는 LLaMA의 instruiction tuning 및 multi-modal 추론을 위해 특별히 설계된 zero-initialized attention을 갖춘 LLaMA-Adapter를 제안합니다. 기존의 일부 연구들도 prompt tuning에서 gating 기술을 채택하고 있지만, 무작위로 초기화된 인자를 사용하여 서로 다른 prompt token들을 단순하게 gate 결합하는 방식을 취합니다.대신, gating factor는 학습 중에 zero로 부터 하긋ㅂ하며 self-attention 레이어에 정교하게 통합됩니다. 또 다른 연구 갈래는 zero initialization을 convolutional networks, text-to-image diffusion 모델 (ControlNet), 또는 Vision-language learning(Flamingo)에 적용 합니다. 이들은 대규모 파라미터를 요구하는 PEFT 방법이 아니며, 더 나은 네트워크 수준의 초기화나 residual oonnection을 통한 feature 수준의 융합을 동기로 삼고 있어, attention 레이어 내에서의 상호작용 제어를 다루는 본 연구의 방법과는 다릅니다.
3 LLAMA-ADAPTER
3.1절에서는 learnable adaption prompts를 LLaMA의 transformer에 삽입하는 방법을 먼저 소개합니다. 이어서 3.2절에서 zero gating이 포함된 zero-initialized attention 메커니즘의 세부 사항을 제시하고, 3.3절에서는 LLaMA-Adapter를 multi-modal reasoning으로 일반화합니다.
3.1 LEARNABLE ADAPTION PROMPTS
$N$개 레이어의 transformer를 가진 pre-trained LLaMA가 주어졌을 때, 먼저 최상위 $L$개 레이어($L \le N$)에 학습 가능한 adaption prompts 세트를 삽입합니다. 이를 $\{P_l\}_{l=1}^L$ 로 표시하며, 여기서 $P_l \in \mathbb{R}^{K \times C}$이고 $K$는 각 레이어의 prompt 길이, $C$는 LLaMA transformer의 feature dimension입니다. 마지막 $L$개의 레이어에서 prompting을 수행하는 것은 더 높은 수준의 semantics을 가진 언어 representation을 더 잘 튜닝할 수 있게 해줍니다.
$l$번째 삽입된 레이어($l \le L$)를 예로 들면, 입력 instruction과 이미 생성된 응답을 나타내는 $M$ 길이의 word tokens를 $T_l \in \mathbb{R}^{M \times C}$로 표시합니다. 학습 가능한 adaption prompt는 token dimension을 따라 $T_l$의 prefix로 결합되며 다음과 같이 공식화됩니다.

이러한 방식으로 $P_l$ 내에서 학습된 instruction 지식은 transformer 블록의 zero-initialized attention 레이어를 통해 $T_l$이 이어지는 문맥 응답을 생성하도록 효과적으로 가이드할 수 있습니다.
3.2 ZERO-INITIALIZED ATTENTION

만약 adaption prompts가 무작위로 초기화된다면, 학습 초기에 word tokens의 방해를 줄수 있 으며, 이는 fine-tuning의 안정성과 효과를 해칩니다. 이를 고려하여 마지막 $L$개 레이어의 기존 self-attention을 그림 2와 같이 zero-initialized variants로 수정합니다. 모델이 $l$번째 레이어의 $[P_l ; T_l]$ 위에서 $(M+1)$번째 단어를 생성하고 있다고 가정하고, 해당 $(M+1)$번째 word token을 $t_l \in \mathbb{R}^{1 \times C}$로 표시합니다. attention 메커니즘에서 여러 linear projection 레이어가 먼저 적용되어 입력 토큰들을 queries, keys, values로 변환합니다.

그 다음, softmax 함수 이전의 $Q_l$과 $K_l$의 attention scores는 다음과 같이 계산됩니다.

이는 새 단어 $t_l$과 모든 $K+M+1$개 토큰 간의 feature 유사도를 기록합니다. 한편, $S_l$은 다음과 같이 두 구성 요소로 재구성될 수 있습니다.

여기서 $S_l^K \in \mathbb{R}^{K \times 1}$와 $S_l^{M+1} \in \mathbb{R}^{(M+1) \times 1}$은 각각 $K$개의 adaption prompts와 $M+1$개의 word tokens에 대한 attention scores를 나타냅니다. 전자($S_l^K$)는 학습 가능한 prompt가 $t_l$을 생성하는 데 얼마나 많은 정보를 기여하는지를 나타내며, 이는 학습 초기 단계에서 방해를 일으킬 가능성이 있습니다.
이를 위해 attention에서 $S_l^K$의 중요성을 적응적으로 제어하는 학습 가능한 gating factor $g_l$을 채택합니다. zero로 초기화된 $g_l$은 먼저 덜 학습된(under-fitted) prompt의 영향을 제거한 다음, LLaMA에 더 많은 instruction semantics를 제공하기 위해 그 크기를 점진적으로 키웁니다. 따라서 수식 6의 두 구성 요소에 softmax 함수를 독립적으로 적용하고, 첫 번째 항에 $g_l$을 곱하여 다음과 같이 공식화합니다.

여기서 $g_l$ 의 스케일을 -1에서 1 사이로 조절하기 위해 활성화 함수 $\tanh(\cdot)$이 채택됩니다. 분리된 softmax 함수는 두 번째 항이 adaption prompts와 무관하도록 보장하며, pre-trained 지식이 방해받지 않도록(즉, 원래의 확률 분포를 보존하도록) $\text{softmax}(S_l^{M+1})$에는 어떤 계수도 곱하지 않습니다.
$g_l$이 0에 가까울 때, 모델은 신뢰할 수 있는 생성을 위해 LLaMA가 원래 학습했던 지식을 토큰 $t_l$에 대부분 그대로 전달할 수 있습니다. 실제 구현에서는 multi-head 메커니즘의 학습 다양성을 높이기 위해 attention 내의 서로 다른 head마다 독립적인 $g_l$을 학습시킵니다.
마지막으로 linear projection 레이어를 통해 $l$번째 attention layer의 출력을 다음과 같이 계산합니다.

본 연구에서 제안한 zero-initialized attention을 통해, adaption prompts는 새롭게 획득한 instructional signals를 transformer에 점진적으로 주입하는 동시에, LLaMA의 pre-trained 지식을 결합하여 고품질의 응답을 제공할 수 있습니다.
3.3 MULTI-MODAL REASONING

언어 지시사항 외에도 LLaMA-Adapter는 간단한 수정을 통해 이미지 입력을 기반으로 질문에 답할 수 있습니다. 이는 이미지 캡셔닝, 물체 개수 세기, OCR 등 광범위한 응용 시나리오를 위해 LLM의 multi-modal reasoning 능력을 완전히 해방시킵니다. 멀티모달 LLaMA-Adapter의 전체적인 프레임워크는 그림 3에 나와 있습니다.
Multi-modal Architecture.
입력 이미지에 대해 먼저 CLIP과 같은 pre-trained visual encoder를 활용하여 multi-scale global feature $\{I_m\}_{m=1}^M$ 를 추출합니다. 여기서 $I_m \in \mathbb{R}^{1 \times C_m}$ 이며 $M$은 scale의 수를 나타냅니다. 그런 다음 $M$개의 스케일의 특징을 channel dimension을 따라 결합하고, 학습 가능한 projection 네트워크를 적용하여 이를 word embedding space로 변환하여 다음과 같이 공식화합니다.

여기서 $I_p$는 전체 이미지 토큰으로 간주되며, 본 연구의 adpatation prompts와 동일한 feature dimension $C$를 갖습니다. 이후 $I_p$를 $K$번 반복하고, 삽입된 모든 $L$개 transformer 레이어의 $K$ 길이 adaption prompts에 element-wise로 더해줍니다. $l$번째 레이어에 대해 획득된 multi-modal prompt는 다음과 같습니다.

여기서 $P_l^v$는 주어진 이미지의 시각 정보를 통합한 prompt를 나타냅니다. 이후, zero-initialized attention은 zero gation factor $g_l$을 통해 이미지 조건부 시맨틱을 LLaMA에 점진적으로 주입하는 법을 학습할 수 있습니다. 이러한 방식으로 LLM은 vision-language 입력을 이해하도록 효율적으로 튜닝될 수 있으며, multi-modal reasoning을 통해 더 도전적인 생성 작업들을 해결할 수 있습니다.
Training Strategy.
언어 전용 instruction tuning을 위한 Alpaca의 데이터를 사용하는 대신, 본 연구에서는 instruction 데이터로 LLaMA-Adapter를 fine-tuning하고 두 가지 대중적인 시나리오로 성능을 평가합니다.
- ScienceQA 평가: ScienceQA는 광범위한 지식 영역에서 수집된 대규모 과학 질의응답 데이터를 포함합니다. 각 샘플은 시각적 문맥, 텍스트 문맥, 객관식 질문 및 정답을 포함합니다. ScienceQA의 멀티모달 학습 세트를 직접 사용하여 LLaMA-Adapter를 fine-tuning하고 in-domain 테스트를 수행합니다. Image encoder와 LLaMA를 모두 freeze하고, 가벼운 projection 네트워크와 zero-initialized attention 메커니즘만 학습시킵니다.
- Zero-shot 멀티모달 평가: 본 접근 방식의 out-of-domain 생성 능력을 검증하기 위해 2단계 멀티모달 학습을 진행한 후, 세 가지 벤치마크(MME, MMBench, LVLM-eHub)를 zero-shot 방식으로 평가합니다. 1단계에서는 LAION-400M의 원본 이미지-캡션 데이터를 활용하여 projection 네트워크와 zero-initialized attention 모듈을 튜닝합니다. 이 단계는 주로 시각적 특징과 단어 토큰 사이의 임베딩 공간 정렬을 목적으로 합니다. 2단계에서는 projection 네트워크를 freeze하고, Alpaca 데이터와 LLaVA-I를 조합하여 LLaMA 내부의 zero-initialized attention만 튜닝합니다. 2단계는 LLM에 인간의 지시사항에 따라 상세한 응답을 생성하는 능력을 부여하는 것을 목표로 합니다.
4 EXPERIMENT
실험 섹션은 LLaMA-Adapter의 효율성과 성능을 정량적으로 증명합니다. 각 항목별 핵심 요약입니다.
4.1 INSTRUCTION-FOLLOWING EVALUATION

- 설정: 52K 데이터를 사용해 8대의 A100 GPU에서 단 5 epoch만 학습했습니다. 파라미터 7B 모델의 마지막 30개 레이어에 prompt를 삽입했습니다.
- 성능: 전체 가중치를 fine-tuning한 Alpaca와 대등한 응답 품질을 보여주었습니다. GPT-4를 이용한 상대 평가에서도 Alpaca 및 Alpaca-LoRA보다 더 많은 'win'를 기록했습니다.
- 효율성: 단 1.2M의 파라미터와 1시간의 학습 시간만으로 달성한 결과이며, 저장 공간도 4.9M에 불과해 모바일 기기 적용에도 유리합니다.
4.2 MULTI-MODAL EVALUATION


- 성능: ScienceQA에서 시각 정보를 추가했을 때 정확도가 78.31%에서 85.19%로 +6.88% 크게 향상되었습니다.
- 차별점: 경쟁 모델인 LLaVA나 MiniGPT-4는 7B~13B 전체를 튜닝해야 하지만, LLaMA-Adapter는 매우 가벼운 projection 레이어와 어댑터만 튜닝하고도 경쟁력 있는 추론 능력을 보여주었습니다. 특히 물체 개수 세기(Object counting)와 OCR에서 강점을 보였습니다
4.3 ABLATION STUDY

- Insertion Layers : 더 많은 레이어에 어댑터를 삽입할수록 성능이 향상되지만, 너무 초기 레이어까지 침범하면 입력 단어 인코딩을 방해할 수 있습니다. 일반적으로 상위 레이어 위주로 삽입하는 것이 효과적입니다.
- Zero-initialized Attention: 이 연구의 핵심입니다. Zero 초기화를 적용하지 않고 무작위 초기화를 썼을 때 정확도가 40.77%에 그쳤으나, 적용 시 83.85%로 폭발적인 향상을 보였습니다.
- 안정성: 그림 7의 Loss curve를 보면 zero 초기화 모델은 초기에 빠르게 수렴하지만, 무작위 초기화 모델은 수렴하지 못하고 성능이 급격히 떨어지는 것을 확인할 수 있습니다.
4.4 ZERO-INITIALIZED ATTENTION FOR OTHER LARGE MODELS

- Vision (ViT): VTAB-1k 벤치마크에서 전체 fine-tuning보다 높은 성능을 기록하며 의료 및 위성 이미지 등 다양한 도메인에서 일반화 능력을 입증했습니다.
- Language (RoBERTa): SQuAD 질의응답 작업에서 기존의 다른 PEFT 방식(Prompt tuning 등)을 능가하는 결과를 얻었습니다.
- Vision-Language (CLIP): Base 데이터에서 학습 후 새로운(Novel) 카테고리를 맞히는 테스트에서도 가장 높은 평균 정확도를 달성했습니다.
5 CONCLUSION
본 논문에서는 instruction-following 모델을 튜닝하기 위한 효율적인 적응 방법인 LLaMA-Adapter를 제안합니다. 더 나은 학습 안정성과 최종 성능을 위해, 본 연구에서는 학습 가능한 gating factor를 포함한 zero-initialized attention 메커니즘을 도입ㅎ바니다. 이는 LLaMA에 축적된 pre-trained 지식을 보존하는 동시에 instructional signals를 점진적으로 통합합니다.
단 1.2M의 파라미터와 1시간의 학습만으로, 본 접근 방식은 7B 파라미터를 가진 Alpaca와 비교하여 월등한 효율성으로 LLaMA를 효과적으로 fine-tuning합니다. LLaMA-Adapter는 이미지 조건부 생성이 가능한 multi-modal LLM으로 일반화될 수 있으며, 다양한 visual question answering 벤치마크에서 경쟁력 있는 결과를 달성했습니다. 전통적인 비전 및 언어 작업에서도 우리의 zero-initialized attention은 우수한 fine-tuning 성능을 거두었으며, 이는 강력한 일반화 능력을 입증합니다.