본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2025-2] 박지원 - QLORA

by jellydell_y 2025. 7. 17.

QLORA: https://arxiv.org/abs/2305.14314 

 

QLoRA: Efficient Finetuning of Quantized LLMs

We present QLoRA, an efficient finetuning approach that reduces memory usage enough to finetune a 65B parameter model on a single 48GB GPU while preserving full 16-bit finetuning task performance. QLoRA backpropagates gradients through a frozen, 4-bit quan

arxiv.org

 

1. 서론: 대규모 언어 모델(LLM) fine tuning 도전과 QLORA의 등장 

대규모 언어 모델(LLM)의 fine tuning은 막대한 gpu 메모리를 요구하는 문제에 직면했다. llama 65B 모델의 16비트 fine tuning에는 780GB 이상의 gpu 메모리가 필요했다. qlora는 이러한 메모리 제약을 극복하고 단일 48GB GPU에서도 65B 파라미터 모델을 파인튜닝할 수 있게 하는 효율적인 접근 방식이다 . 이 기술은 16비트 파인튜닝 작업과 동등한 성능을 유지하면서도 LLM 파인튜에 대한 접근성을 크게 향상시켰다.

 

2. QLORA의 핵심 혁신: 메모리 효율성 달성

qlora는 메모리 사용량을 줄이기 위한 여러 혁신적인 기술을 도입했다.

  • 4비트 NormalFloat (NF4): 정규 분포된 가중치에 정보 이론적으로 최적화된 새로운 데이터 타입
  • Double Quantization: 양자화 상수를 다시 양자화하여 추가 메모리를 절약
  • Paged Optimizers: 긴 시퀀스 길이 처리 시 발생하는 메모리 스파이크를 관리하여 OOM(Out-Of-Memory) 오류를 방지

3. 4비트 NormalFloat(NF4) 양자화: 정보 이론적 최적화 

NF4는 정규 분포된 데이터에 대해 정보 이론적으로 최적화된 4비트 데이터 타입이다. 이 방식은 각 양자화 빈에 동일한 수의 값이 할당되도록 보장하여, 기존 4비트 정수나 부동 소수점 방식보다 우수한 성능을 보였다. 특히 사전 학습된 신경망 가중치가 0을 중심으로 하는 정규 분포를 따르는 점을 활용했다. NF4는 표준 정규 분포의 2k+1 분위수를 추정하여 4비트 NFk 데이터 타입을 생성했으며, 이는 0 중심의 정규 분포 데이터에 대해 정보 이론적으로 최적화되었다.

 

4. Double Quantization(DQ): 양자화 상수의 추가 절약

double quantization은 첫 번째 양자화에서 생성된 양자화 상수(cFP32)를 다시 양자화하는 과정이다. 이 두 번째 양자화 단계는 8비트 부동 소수점을 사용하여 추가적인 메모리 절약을 가능하게 했다. 평균적으로 파라미터당 약 0.37비트를 절약하여 65B 모델의 경우 약 3GB의 메모리를 절약하는 효과를 가져왔다.

5. Paged Optimizers: 메모리 스파이크 관리

paged optimizers는 NVIDIA 통합 메모리 기능을 활용하여 gpu 메모리가 부족할 때 옵티마이저 상태를 자동으로 CPU RAM으로 페이지 아웃하고, 필요할 때 다시 gpu 메모리로 페이지 인하는 방식이다. 이 기술은 긴 시퀀스 길이의 미니 배치 처리 시 발생하는 메모리 스파이크로 인한 OOM 오류를 방지하여 대규모 모델의 단일 머신 fine tuning을 가능하게 했다.

 

6. QLORA의 성능 검증: 16비트 파인튜닝과의 비교 

qlora는 다양한 모델 크기와 데이터 세트에서 완전한 16비트 파인 튜닝 작업과 경쟁력 있는 성능을 보였다. 특히 4비트 양자화된 모델을 성능 저하 없이 파인튜하는 것이 가능하다는 것을 처음으로 입증했다. 이는 qlora가 메모리 효율성을 높이면서도 모델의 예측 성능을 유지함을 의미한다.

7. Guanaco 모델: QLORA를 통한 최첨단 챗봇 성능 달성

qlora를 사용하여 학습된 Guanaco 모델은 Vicuna 벤치마크에서 이전의 모든 공개 모델을 능가하는 성능을 보였다. Guanaco 65B는 ChatGPT 성능 수준의 99.3%에 도달했으며, 이는 단일 GPU에서 24시간 파인튜만으로 달성한 결과다. Guanaco 33B는 Vicuna 13B보다 더 많은 파라미터를 가졌음에도 4비트 정밀도를 사용하여 메모리 효율성을 높였다.

8. 데이터 품질의 중요성: 데이터셋 크기보다 우선 

qlora를 통한 심층 연구 결과, 데이터 품질이 데이터셋 크기보다 훨씬 더 중요하다는 것을 발견했다. 가령 9천 개의 샘플로 구성된 OASST1 데이터셋이 45만 개의 샘플로 구성된 FLANv2 데이터셋보다 챗봇 성능에서 더 우수했다. 이는 파인튜닝 시 고품질 데이터셋의 중요성을 강조한다.

 

9. QLORA의 광범위한 영향: LLM 접근성 및 활용성 증대 

qlora는 대규모 언어 모델 fine tuning의 접근성을 획기적으로 높였다. 단일 소비자 GPU에서 33B 파라미터 모델을, 단일 전문가 GPU에서 65B 파라미터 모델을 튜닝할 수 있게 함으로써, 대기업과 소규모 팀 간의 자원 격차를 해소하는 데 기여했다. 또한, 모바일 기기에서의 LLM 튜닝 가능성을 열어 개인 정보 보호를 강화하고 LLM 배포를 용이하게 할 가능성을 가지고 있다.

 

10. 결론: QLORA의 현재와 미래 

qlora는 4비트 기본 모델과 low-rank adapters(LoRA)를 사용하여 16비트 튜닝 성능을 재현할 수 있음을 입증했다. 이는 양자화 후 어댑터 튜닝을 통해 손실된 성능을 완전히 복구할 수 있음을 시사한다. 향후 연구에서는 3비트 기본 모델과 같은 더 공격적인 양자화 방법과 다른 어댑터 방법론의 성능을 탐구할 필요가 있다 .