Abstract
대형 언어 모델(LLM)의 미세 조정에는 막대한 GPU 메모리가 필요하며, 이로 인해 더 큰 모델을 사용하는 데 제약이 생깁니다. 로우랭크 적응(Low-Rank Adaptation) 기법의 양자화된 버전인 QLoRA는 이러한 문제를 상당 부분 완화하지만, 효율적인 LoRA 랭크(rank)를 찾는 것은 여전히 어려운 과제이며,QLoRA는 미리 정의된 랭크에서 학습되기 때문에, 더 낮은 랭크로 재구성하려면 추가적인 미세 조정 단계를 요구함
💡 QDyLoRA는 GPU 메모리 사용을 최적화하며, 기존 QLoRA의 한계를 극복하고, 효율적으로 다양한 랭크에서 LLM을 미세 조정할 수 있는 기술
Introduction
잘 알려진 파라미터 효율적 튜닝(PEFT, Parameter-Efficient Fine-Tuning) 방법으로, 기본 모델을 고정(freeze)하고 학습 가능한 소수의 파라미터를 낮은 랭크 행렬 곱 형태로 추가하여 메모리 사용량을 줄임 하지만 미세 조정 중에는 확률적 경사 하강법(Stochastic Gradient Descent)을 위해 고정된 기본 모델을 역전파(backward pass)해야 하기 때문에 여전히 상당한 메모리가 필요함.
최근의 매우 효율적인 미세 조정 방법
최적의 랭크를 찾기 위한 하이퍼파라미터 튜닝은 효율적인 조정을 목표로 하는 본래의 목적과 모순되며, 특히 매우 큰 모델에서는 실현 가능하지 않음 또한, 다양한 장치 구성에 따라 신경망을 배포할 때 높은 랭크를 사용하는 것은 파라미터 수 증가로 인해 민감한 장치에서 문제가 될 수 있음, 또한 많은 비용이 사용됨.
DyLoRA는 동적 Low-Rank Adapter를 사용하며, 네스티드 드롭아웃(nested dropout)에서 영감을 받아 설계 방법은 고정된 랭크로 LoRA 블록을 학습하는 대신, 정렬된 방식으로 다양한 랭크 스펙트럼을 포함하는 학습을 확장
💡 QDyLoRA가 DyLoRA의 이점과 QLoRA의 효율성을 결합하여 메모리 사용량을 줄이면서도 높은 성능을 제공함
Conclusion
QDyLoRA는 낮은 랭크의 더 빈번한 업데이트를 통해 제한된 예산에서도 효율적으로 학습하며, 높은 성능을 달성하며,이 방법은 대형 모델의 미세 조정을 단순화하고, 기존 방법보다 뛰어난 유연성과 성능을 제공하여 LLM의 실용성을 더욱 확장함.
QDyLoRA는 4비트 양자화를 통해 효율적이고 우수한 성능을 보였지만, Full Fine-Tuning의 미세 조정 수준에는 미치지 못함. 이를 개선하기 위해 DyQDyLoRA라는 동적 양자화 기법이 제안되었으며, 학습 피드백에 따라 양자화 수준을 동적으로 전환하는 방식을 활용합니다. 추가적으로, LoRA의 스칼라 값과 랭크 범위가 QDyLoRA 성능에 미치는 영향을 연구할 필요가 있음