모델

LoRA

Low-Rank Adaptation

원본 모델은 그대로 두고 옆에 붙인 작은 행렬 두 개만 학습하는 파인튜닝 기법으로, GPU 한 장으로도 대형 모델에 말투·출력 형식·화풍 같은 것을 가르칠 때 쓴다. 학습하는 양은 전체의 1% 안팎이지만 성능은 전체 파인튜닝과 거의 비슷하다.

항목전체 파인튜닝LoRA
학습하는 파라미터전부0.1~1%
결과물모델 전체 사본수십 MB 어댑터 파일
원래 능력 잊어버림상대적으로 많음적음

작은 행렬 두 개만 배운다

파인튜닝할 때 가중치가 바뀌는 패턴은 생각보다 단순하다. 그래서 큰 가중치 행렬은 그대로 두고, 바뀌는 부분만 작은 행렬 두 개(A, B)로 따로 배운다.

원본 행렬약 1,600만 개
LoRA (랭크 16)약 13만 개

4096×4096 행렬 하나 기준, 학습할 숫자 개수.

학습이 끝나면 어댑터를 원본에 병합해서 추론 속도 손해 없이 쓸 수 있다. 병합하지 않고 파일로 따로 두면 화풍이나 말투가 다른 어댑터 여러 개를 갈아 끼우면서 쓸 수 있다.

peft에 QLoRA를 더하면 GPU 한 장으로 충분하다

Hugging Face의 peft 라이브러리를 쓰면 LoraConfig에 몇 가지 값만 정해서 바로 붙일 수 있다. 원본 모델을 4비트로 줄여 올리는 QLoRA를 함께 쓰면 메모리가 다시 4분의 1로 준다. Unsloth 같은 라이브러리를 쓰면 학습 속도도 더 빨라진다.

GPUQLoRA로 학습 가능한 모델
RTX 4090 (24GB)7~8B급
A100 한 장70B급

처음에는 아래 값에서 시작하면 된다. 랭크는 무작정 키운다고 좋아지지 않는다.

설정출발값
r (랭크)8~32
lora_alpha랭크와 같게 또는 2배
target_modules어텐션 + FFN까지 포함
에폭1~3

QLoRA 4비트로 학습했다면 서빙도 4비트로 해야 정확도가 덜 떨어진다. 어댑터 여러 개를 병합하지 않고 한꺼번에 서빙하려면 vLLM의 멀티 LoRA 기능을 쓰면 된다.

이미지 생성에서는 파일을 받아 얹는다

Stable Diffusion이나 FLUX 쪽에서는 특정 화풍·인물·사물을 학습한 LoRA 파일을 Civitai 같은 곳에서 받아 쓰는 게 일반적이다. 화풍 LoRA와 캐릭터 LoRA를 동시에 얹을 수 있지만, 서로 간섭해서 품질이 무너질 수 있다. 그래서 각 LoRA의 가중치 비율은 직접 바꿔 보면서 맞춰야 한다.

말투는 잘 배우고, 새 지식은 잘 못 배운다

배울 수 있는 양이 작아서 말투, 출력 형식, 특정 작업 요령을 익히는 데는 뛰어나지만, 모델이 모르던 지식을 대량으로 넣는 데는 약하다. "덜 배우는 대신 덜 잊는" 셈이다. 또 어댑터는 특정 베이스 모델 버전에 묶여 있어서, 베이스 모델을 바꾸면 다시 학습해야 한다.

오픈 모델에 형식을 입히고, 이미지에 화풍을 얹는다

가장 흔한 건 오픈 모델에 특정 작업 요령과 말투를 입히는 용도다. 새 지식은 문서 검색(RAG)으로 넣고, LoRA로는 답변 형식과 말투만 맞추는 식으로 나눠 쓰는 경우가 많다.

어디서어떻게 쓰나
업무용 챗봇·사내 도우미원하는 답변 형식·말투 예시로 QLoRA 학습, 지식은 검색으로 따로 붙임
개인 GPU 실험Unsloth + QLoRA로 7~8B 오픈 모델을 분류·추출 같은 한 가지 작업에 특화
이미지 생성받은 화풍·캐릭터 LoRA를 얹거나, 직접 모은 이미지로 내 LoRA를 학습
여러 작업 동시 서빙베이스 모델 하나에 작업별 어댑터를 vLLM 멀티 LoRA로 갈아 끼움
#파인튜닝#경량화#어댑터
참고 자료
관련 영상
← AI Wiki에서 더 보기
updated at 2026-10-20