고급읽는 시간 7분·

파인튜닝 입문: LoRA와 QLoRA

프롬프트 엔지니어링과 RAG로도 부족할 때, 파인튜닝은 모델이 특정 스타일이나 작업을 확실하게 익히도록 해 줍니다. 이 튜토리얼은 가장 널리 쓰이는 효율적 파인튜닝 기법인 LoRA와 QLoRA를 소개합니다.

작성자AI Resource Hub

파인튜닝이 정말 필요한 순간

지식만 보충하면 된다면 RAG를 먼저 고려하세요. 파인튜닝은 고정된 출력 스타일이나 형식이 필요하거나, 작은 모델에 특정 작업을 가르치고 싶을 때 더 적합합니다.

파인튜닝에는 일정량의 고품질 라벨 데이터가 필요합니다. 투자하기 전에 목표와 평가 방법부터 충분히 고민하세요.

전체 파인튜닝의 비용

전체 파라미터 파인튜닝은 모델 가중치 전부를 갱신하므로 메모리와 연산 비용이 어마어마합니다. 대형 모델이라면 개인과 소규모 팀에게는 사실상 감당하기 어렵습니다.

LoRA의 핵심 아이디어

LoRA(Low-Rank Adaptation)는 원본 가중치를 고정하고, 그 옆에 작은 저랭크 행렬 한 쌍을 끼워 "차이(delta)"만 학습합니다. 학습 파라미터가 전체 파인튜닝의 1% 남짓, 그보다 적을 때도 많습니다.

학습이 끝나면 필요할 때 불러 쓸 수 있는 아주 작은 어댑터가 생깁니다. 작업별로 여러 세트를 관리하기도 쉽습니다.

QLoRA와 양자화

QLoRA는 LoRA를 기반으로 학습 전에 베이스 모델을 4비트로 양자화해 메모리 사용량을 한 번 더 크게 줄입니다. 덕분에 꽤 큰 모델도 소비자용 GPU 한 장으로 파인튜닝할 수 있게 됩니다.

데이터 준비와 실전 팁

데이터는 양보다 질입니다. 목표 시나리오를 아우르는 명확하고 일관된 지시-응답 쌍을 만드세요.

낮은 학습률과 적은 에포크로 시작하고, 과적합을 피하려면 검증 성능을 면밀히 지켜보세요. Hugging Face PEFT 같은 라이브러리를 쓰면 빠르게 시작할 수 있습니다.

어댑터 병합과 배포

학습 후 LoRA 가중치를 베이스 모델에 병합해 독립 파일 하나로 만들거나, 분리한 채로 필요에 따라 로드할 수 있습니다. 병합하면 배포는 간단해지지만, 재내보내기 없이 어댑터를 바꿀 유연성을 잃습니다. 같은 베이스 모델에서 여러 작업을 제공해야 하면 분리를 유지하고, 단일 목적이라면 병합이 간편합니다.

파인튜닝LoRAQLoRA학습

관련 튜토리얼