LoRA와 QLoRA

URL 복사

낮은 순위 적응(Low-Rank Adaptation, LoRA)와 양자화된 낮은 순위 적응(Quantized Low-Rank Adaptation, QLoRA)은 둘 다 AI 학습에 사용되는 기법입니다. 더 구체적으로 설명하면, 이 둘은 매개 변수 효율적인 미세 조정(Parameter-efficient Fine-Tuning, PEFT)의 형태입니다. 이 미세 조정 기법은 대규모 언어 모델(Large Language Model, LLM)을 학습시킬 때 다른 방법에 비해 리소스를 더 효율적으로 사용해서 인기를 얻었습니다

LoRA와 QLoRA는 둘 다 LLM을 더욱 효율적으로 미세 조정하는 데 도움이 되지만, 원하는 결과에 도달하기 위해 모델을 조작하고 스토리지를 사용하는 방식은 서로 다릅니다.

Red Hat AI 살펴보기 

LLM은 대단히 많은 매개 변수로 이루어진 복잡한 모델입니다. 일부 LLM의 경우 매개 변수가 수십억 개에 달하기도 합니다. 이러한 매개 변수를 통해 일정량의 정보로 모델을 학습시킬 수 있습니다. 매개 변수가 많다는 것은 데이터 스토리지가 더 크며, 따라서 모델의 성능이 전반적으로 더 뛰어나다는 것을 의미합니다.

기존 미세 조정의 경우 LLM을 업데이트하려면 각 개별 매개 변수의 재적합(업데이트 또는 조정) 작업을 필요로 합니다. 이는 수십억 개의 매개 변수를 미세 조정하는 것을 의미할 수 있으며, 엄청나게 많은 컴퓨팅 시간과 비용이 소요됩니다.

각각의 매개 변수를 업데이트하는 것은 '과적합'으로 이어질 수 있습니다. 이 용어는 AI 모델이 일반적인 학습 데이터 외에 '노이즈', 즉 불필요한 데이터를 학습하게 되는 것을 의미합니다.

파운데이션 모델이란? 

교사와 학급을 떠올려 보세요. 이 학급은 일 년 내내 수학을 배웠습니다. 시험 직전에 교사가 긴 나눗셈의 중요성을 강조합니다. 시험 도중에 많은 학생이 긴 나눗셈에 지나치게 몰두한 나머지 다른 문제에서 똑같이 중요한 수학 방정식을 잊어버렸습니다. 이는 기존 미세 조정에서 과적합으로 인해 LLM에 발생할 수 있는 결과입니다.

기존 미세 조정은 과적합 문제 외에도 리소스와 관련하여 많은 비용을 소모합니다.

QLoRA와 LoRA는 둘 다 전체 미세 조정의 효율성을 개선하기 위한 지름길을 제공하는 미세 조정 기법입니다. 이 기법은 모든 매개 변수를 학습시키는 대신 모델을 행렬로 분할하고 새로운 정보를 학습하는 데 필요한 매개 변수만 학습시킵니다.

앞에서 든 예시에 적용한다면, 이러한 미세 조정 기법은 시험에서 모델이 다른 주제를 잊어버리지 않고 새로운 주제도 효율적으로 통합하도록 할 수 있습니다.

매개 변수 효율적인 미세 조정(PEFT)에 대해 자세히 알아보기

Red Hat AI

LoRA 기법은 새로운 매개 변수를 사용하여 새로운 데이터를 기반으로 AI 모델을 학습시킵니다.

전체 모델과 모든 사전 학습된 가중치를 학습시키는 대신 따로 떼어놓거나 '동결'해 놓고 더 작은 샘플 크기의 매개 변수를 대신 학습시킵니다. 이러한 샘플 크기를 가리켜 '낮은 순위' 적응(Low-rank Adaptation) 행렬이라고 하며, LoRA라는 이름은 여기에서 따온 것입니다.

'낮은 순위'라고 하는 이유는 매개 변수와 가중치의 수가 적은 행렬이기 때문입니다. 학습을 마친 다음 원래 매개 변수와 결합하여 단일 행렬로 작동합니다. 이 방식으로 미세 조정을 훨씬 효율적으로 수행할 수 있습니다.

LoRA 행렬을 행렬에 추가되는 하나의 행 또는 하나의 열로 생각하면 더 쉽습니다.

다음을 학습이 필요한 전체 매개 변수로 생각해 보세요. 

 

4x4 grid each cell contains a letter "P"

 

매개 변수의 모든 가중치를 학습시키려면 상당히 많은 시간과 비용, 메모리가 필요합니다. 그렇게 한다 하더라도 여전히 학습할 거리가 많고 그 과정에서 많은 리소스가 낭비됩니다.

다음 열은 낮은 순위 가중치를 나타냅니다. 

 

A single column made up of four cells. A letter "L" in each cell.

 

새로운 낮은 순위 매개 변수를 학습시킨 경우 단일 '행' 또는 '열'이 원래 행렬에 추가됩니다. 이를 통해 새 학습 내용을 전체 매개 변수에 적용할 수 있습니다.

 

5X4 grid with the cells of the first column containing the letter "L". All other cells contain the letter "P"

 

이제 AI 모델이 새로 미세 조정된 가중치와 함께 작동할 수 있습니다.

낮은 순위 가중치를 학습시키는 데 드는 시간과 메모리, 비용은 더 적습니다. 학습을 완료한 샘플 크기는 추가 메모리를 사용하지 않고도 학습한 내용을 더 큰 행렬 내에 적용할 수 있습니다. 

생성형 AI란? 

LoRA는 더 적은 시간과 리소스, 노력으로 모델을 미세 조정할 수 있도록 하는 기법입니다. 장점은 다음과 같습니다.

  • 학습할 매개 변수의 수 감소
  • 과적합 리스크 감소
  • 학습 시간 단축
  • 필요한 메모리 감소
  • 유연한 조정(학습을 모델의 일부에만 적용하고 다른 부분에는 적용하지 않을 수 있음)

QLoRA는 LoRA를 확장한 기법입니다. LoRA와 비슷하지만 메모리를 덜 사용한다는 추가적인 장점이 있습니다.

'QLoRA'에서 'Q'는 '양자화된(Quantized)'을 나타냅니다. 이 맥락에서 모델을 양자화한다는 것은 매우 복잡하고 정밀한 매개 변수(수많은 소수와 대량의 메모리)를 더 작고 더 간결한 매개 변수(더 적은 소수와 더 적은 메모리)로 압축하는 것을 의미합니다.

그 목적은 단일 GPU(그래픽 처리 장치, Graphics Processing Unit)의 스토리지와 메모리를 사용하여 모델의 일부를 미세 조정하는 것입니다. 여기에는 LoRA보다 훨씬 적은 메모리로 행렬을 양자화할 수 있는 새로운 데이터 유형인 4비트 NF4(NormalFloat)가 사용됩니다. 매개 변수를 더 작고 더 관리하기 용이한 데이터로 압축하여 필요한 메모리 풋프린트를 원래 크기의 최대 4배까지 줄일 수 있습니다.

모델을 양자화하면 크기가 작기 때문에 미세 조정이 훨씬 더 수월해집니다.

다음을 원래 모델의 매개 변수로 생각해 보세요.

 

A row of cells each containing the letter "P" representing 12 parameters. 3 are green, 6 are blue, 2 are yellow, and 1 is pink

 

12개 매개 변수 중 3개는 초록색, 6개는 파란색, 2개는 노란색, 1개는 분홍색입니다. 모델이 양자화되면 이전 모델의 표현으로 압축됩니다. 

 

A row of 4 cells, 1 green, 2 blue, and 1 yellow.

 

양자화된 후의 샘플 크기는 초록색 1개, 파란색 2개, 노란색 1개입니다.

양자화할 때 매우 작은 일부 데이터는 압축 중에 손실될 위험이 있습니다. 예를 들어 분홍색 매개 변수 1개는 매개 변수에서 매우 작은 부분을 차지하여 압축된 버전으로 이어질 만큼 충분한 데이터를 대표하지 않기 때문에 누락되었습니다.

이 예시에서는 12개의 매개 변수를 4개로 압축했습니다. 하지만 현실에서는 수십억 개의 매개 변수가 단일 GPU에서 관리 가능한 수준으로 미세 조정될 수 있는 한정된 수로 압축됩니다.

이상적인 상황에서는 새로 학습된 행렬을 원래 행렬에 다시 추가할 때 손실된 데이터를 원래 매개 변수에서 복구할 수 있으며, 그 과정에서 정밀도나 정확도를 잃지 않습니다. 그러나 이는 보장되지 않습니다.

이 기법은 고성능 컴퓨팅과 유지 관리 요구 사항이 적은 메모리 스토리지를 결합한 것입니다. 이렇게 하면 제한적인 리소스로 작업하면서 모델을 매우 정확하게 유지할 수 있습니다. 

양자화된 모델이 컨텍스트가 긴 태스크를 처리하는 방법 알아보기

QLoRA는 메모리 유지 관리 요구 사항이 적은 것이 주된 장점인 기법입니다. LoRA와 마찬가지로 효율성을 중시하여 미세 조정 학습 프로세스를 더 쉽고 빠르게 진행할 수 있도록 합니다. 장점은 다음과 같습니다.

  • LoRA보다 더 적은 메모리 사용
  • 데이터 과적합 방지
  • 높은 정확도 유지
  • 신속하고 간편한 모델 튜닝

LLM을 양자화하면 정확도가 얼마나 떨어질까요? 50만 개의 양자화된 LLM을 평가할 때 어떤 일이 발생하는지 확인해 보세요.

LoRA는 그 자체로 효율적인 미세 조정 기법입니다. QLoRA는 LoRA에 더해 효율성을 높이기 위한 여러 기법을 추가한 확장입니다. QLoRA는 훨씬 적은 스토리지 공간을 사용합니다.

어떤 기법이 요구 사항에 더 적합한지 결정하기 어렵다면 사용 가능한 스토리지와 리소스를 고려하는 것이 가장 좋은 방법입니다. 스토리지가 제한되어 있다면 QLoRA를 실행하는 것이 더 쉬울 것입니다.

Red Hat® AI는 AI 여정의 초기 단계에 있는 기업이든, 하이브리드 클라우드 전반으로 확장할 준비까지 마친 기업이든 상관없이 AI 여정에 오른 기업이라면 모두 도움을 줄 수 있는 제품 및 서비스의 포트폴리오입니다.

Red Hat AI는 특수 목적에 맞게 빌드된 작은 모델과 유연한 사용자 정의 기법을 통해 어느 위치에서나 개발하고 배포할 수 있는 유연성을 제공합니다.

Red Hat AI 살펴보기

Red Hat AI

Red Hat AI는 하이브리드 클라우드 환경 전반에서 AI 솔루션의 개발과 배포를 가속화하는 유연하고 비용 효율적인 솔루션을 제공합니다.

추가 자료

머신 러닝(Machine Learning): 패턴 인식과 예측 기술

머신 러닝 학습은 명시적인 프로그래밍 없이 데이터에서 패턴을 학습하고 예측하는 AI 기술입니다. 머신 러닝의 원리, 핵심 기능, 그리고 다양한 활용 사례를 알아보세요.

딥러닝(Deep Learning): AI 혁신을 이끄는 심층 신경망 기술

딥러닝은 인공지능(AI) 분야에서 심층 신경망 알고리즘을 통해 데이터를 처리하고 학습하는 혁신적인 기술입니다. 딥러닝의 원리, 핵심 기술, 활용 사례를 확인해보세요.

생성형 AI(Generative AI): 개념, 원리, 활용 사례

생성형 AI는 딥러닝 모델을 통해 대규모 데이터 세트에서 학습하고 새로운 콘텐츠를 생성하는 인공지능 기술입니다. 생성 AI의 개념과 활용 사례를 알아보세요.

AI/ML 리소스

관련 기사