AI의 LoRA란?
LoRA는 Low-Rank Adaptation의 약자입니다. 사전 학습 모델의 원래 가중치를 고정하고 선택한 레이어에 대해 훨씬 작은 저랭크 행렬을 학습하는 매개변수 효율적 미세 조정 방법입니다. 학습된 업데이트는 어댑터로 저장하고 나중에 호환되는 베이스 모델에 적용할 수 있습니다.

이 페이지는 AI 모델 적응에 관한 것입니다. 소문자 “a”를 쓰는 LoRa는 장거리 무선 기술의 이름이기도 합니다. 언어나 이미지 생성 모델용 LoRA 어댑터와는 관련이 없습니다.
대수의 안개를 걷어 낸 핵심 개념
일반적인 전체 미세 조정은 모델의 많은 매개변수 또는 모든 매개변수를 업데이트할 수 있습니다. LoRA는 특정 작업에 유용한 변화가 훨씬 적은 자유도로 표현되는 경우가 많다고 가정합니다. 전체 업데이트 행렬을 학습하는 대신 랭크 r을 갖는 두 개의 얇은 행렬 곱으로 업데이트를 표현합니다.
유효 가중치는 고정된 베이스 가중치와 스케일된 저랭크 업데이트를 결합합니다.
W′ = W + (B × A) · scale
선택한 랭크가 원래 차원보다 훨씬 작으면 행렬 A과 B에는 전체 업데이트보다 훨씬 적은 학습 가능 매개변수가 들어갑니다. 이는 학습 메모리를 줄이고 컴팩트한 어댑터 산출물을 만듭니다. 대부분의 작업은 여전히 베이스 모델이 수행합니다.
LoRA 모델, LoRA 어댑터 및 LoRA 가중치
이 표현들은 느슨하게 쓰이므로 구분하면 도움이 됩니다.
- LoRA 방법: 미세 조정 중 사용하는 저랭크 적응 기법.
- LoRA 어댑터: 호환되는 베이스에 적용하는 데 필요한 학습된 업데이트와 구성.
- LoRA 가중치: 해당 어댑터의 학습 가능한 텐서 값.
- “LoRA 모델”: 어댑터 또는 베이스와 어댑터 조합을 가리키는 흔한 줄임말입니다. 모호하므로 실제로 어떤 산출물이 있는지 확인하세요.
다운로드한 LoRA 파일에는 일반적으로 전체 베이스 모델이 포함되지 않습니다. 그래서 UI에서 체크포인트를 선택한 다음 하나 이상의 LoRAs를 적용하라고 합니다.
LoRA는 무엇을 학습할 수 있나요?
언어 모델에서 어댑터는 도메인, 작업 또는 지시 스타일에 맞게 동작을 특화할 수 있습니다. 확산 모델에서 LoRAs는 시각 스타일, 캐릭터, 주제, 제품, 개념 또는 작은 동작 조정에 흔히 사용됩니다. 대상 모듈, 랭크, 데이터 세트 및 학습 절차가 어댑터가 표현할 수 있는 것을 결정합니다.
LoRA는 품질이나 충실도를 보장하지 않습니다. 컴팩트한 어댑터도 과적합하거나 베이스와 충돌하거나 강도에 따라 예측 불가능하게 반응하거나 트리거 토큰 및 전처리 선택에 의존할 수 있습니다. 모델 카드와 학습 맥락을 장식이 아닌 운영 메타데이터로 취급하세요.
추론 시 어댑터 사용 방식
호환되는 프레임워크는 베이스를 로드하고 어댑터 구성을 읽어 텐서를 대상 모듈에 적용합니다. 일부 런타임은 업데이트를 별도로 유지해 활성화, 가중치 조정 또는 언로드할 수 있게 합니다. 다른 런타임은 배포용 파생 사본에 업데이트를 융합할 수 있습니다.
융합은 원래 어댑터를 자체 완결형으로 만드는 것과 다릅니다. 강도를 조정하거나 어댑터를 결합하거나 출력 파일을 재현하려면 융합되지 않은 어댑터, 정확한 베이스 및 레시피를 보관하세요. 체크포인트와 LoRA 가이드가 이러한 복구 차이를 보여 줍니다.
LoRA, QLoRA 및 전체 미세 조정
LoRA는 저랭크 업데이트를 설명합니다. QLoRA는 LoRA 학습과 양자화된 고정 베이스 및 추가 메모리 절약 기법을 결합합니다. 최종 산출물은 여전히 어댑터일 수 있으므로 파일 이름만으로 학습 방식을 알 수 없을 수 있습니다. 방법 수준 비교는 LoRA와 QLoRA 비교를 참조하세요.
전체 미세 조정은 모델의 훨씬 더 많은 부분을 업데이트하며 다른 용량과 운영상의 장단점을 제공할 수 있지만 더 큰 상태와 더 높은 자원 요구량을 만듭니다. 올바른 선택은 한 방법이 항상 더 “전문적”이라는 가정이 아니라 작업, 하드웨어, 평가 및 배포에 따라 결정됩니다.
LoRA 라이브러리가 여전히 커지는 이유
어댑터 하나는 베이스에 비해 컴팩트하지만 변형, 랭크, 에포크, 강도, 중복 다운로드 및 여러 호환 베이스 패밀리 때문에 컬렉션이 커집니다. 베이스 체크포인트, VAEs, 인코더, 미리 보기 및 학습 출력은 개별 어댑터보다 훨씬 큰 경우가 많습니다. 따라서 작은 파일이 가득한 폴더도 훨씬 큰 모델 자산에 의존할 수 있습니다.
하나의 베이스 모델과 여러 어댑터를 정리하는 가이드와 가중치를 바꾸지 않고 LoRA 디스크 공간을 확보하는 실용 워크플로를 사용하세요. 목표는 어떤 대가를 치르더라도 가장 작은 디렉터리를 만드는 것이 아니라 복구 가능한 일관된 패밀리를 만드는 것입니다.
LoRA와 함께 무엇을 보관해야 하나요?
최소한 어댑터 가중치, 구성 및 정확한 베이스 모델 식별자를 보관하세요. 베이스가 비공개이거나 로컬에서 수정되었거나 사라질 가능성이 있다면 정확한 베이스도 보관하세요. 재현성을 위해 관련 트리거 토큰, 학습 구성, 데이터 세트 참조, 라이선스 또는 이용 약관 및 체크섬을 유지하세요.
Tensor Archive는 선택한 로컬 텐서 패밀리를 보존하고 정확한 복원을 검증합니다. 누락된 베이스를 재생성하거나 어댑터 메타데이터를 만들어 내거나 이름이 비슷한 두 아키텍처가 호환됨을 증명하지 않습니다.
출처
- LoRA: Low-Rank Adaptation of Large Language Models — 고정된 사전 학습 가중치와 학습 가능한 저랭크 분해를 정의한 원 논문.
- Hugging Face PEFT: LoRA — 현재 구성, 랭크, 스케일링 및 대상 모듈 개념.
- Hugging Face PEFT 체크포인트 형식 — 어댑터 체크포인트가 저장하는 내용과 베이스 모델을 참조하는 방식.
- Diffusers: 어댑터 로드 — LoRA 어댑터 적용, 가중치 조정, 언로드 및 융합.