LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models

LongLoRA: 긴 컨텍스트 LLM의 효율적인 파인튜닝

Yukang Chen, Shengju Qian, Haotian Tang, Xin Lai, Zhijian Liu, Song Han, Jiaya Jia

https://github.com/dvlab-research/LongLoRA

https://arca.live/b/ai101/86947181


우리는 제한된 계산 비용으로 사전 학습된 대규모 언어 모델(LLM)의 컨텍스트 크기를 확장하는 효율적인 파인튜닝 접근 방식인 LongLoRA를 소개합니다. 


일반적으로 컨텍스트 크기가 긴 LLM을 훈련하려면 계산 비용이 많이 들기 때문에 훈련 시간과 GPU 리소스가 많이 필요합니다. 예를 들어, 8192개의 문맥 길이를 훈련하려면 2048개의 문맥 길이를 훈련할 때보다 셀프 어텐션 레이어(self-attention layers)에서 16배의 계산 비용이 필요합니다. 


이 논문에서는 두 가지 측면에서 LLM의 컨텍스트 확장 속도를 높였습니다. 


첫번째로, 추론 중에는 고밀도의 글로벌 어텐션(dense global attention)이 필요하지만, 모델을 파인튜닝할 때는 희소한 로컬 어텐션(sparse local attention)으로도 효과적이고 효율적으로 수행할 수 있습니다. 


제안된 시프트 쇼트 어텐션(shift short attention)은 컨텍스트 확장을 효과적으로 지원하여 바닐라 어텐션으로 파인튜닝하는 것과 비슷한 성능을 내면서도 계산비용을 크게 절약할 수 있습니다. 특히, 학습에서는 단 두 줄의 코드로 구현할 수 있으며, 추론시에는 선택적으로 사용할 수 있습니다. 


두번째로, 컨텍스트 확장을 위한 매개변수 효율적인 파인튜닝(parameter-efficient fine-tuning, PEFT) 체제(regime)를 다시 살펴봅니다. 특히, 컨텍스트 확장을 위한 LoRA가 원활히 작동하기 위해서는 학습 가능한 임베딩과 정규화를 전제가 필요하다는 사실을 발견했습니다. 


경험적으로 LongLoRA는 7B/13B~70B의 LLaMA2 모델에서 다양한 작업에 대해 뛰어난 결과를 보여줍니다. 


LongLoRA는 8대의 A100 머신만으로 LLaMA2 7B를 4k 컨텍스트에서 100k까지, LLaMA2 70B를 4k에서 32k까지 확장시킬 수 있습니다. LongLoRA는 기존의 아키텍처를 유지하면서 모델의 컨텍스트를 확장하며, FlashAttention-2와 같은 대부분의 기존 기술과 호환됩니다. 


또한, LongLoRA를 실용적으로 만들기 위해 우리는 SFT(supervised fine-tuning)을 위한 데이터 세트인 LongQA를 수집하였습니다. 여기에는 3,000개 이상의 긴 문맥 질문-답변 쌍이 포함되어 있습니다.