개인 프로젝트로 LLaMA 모델 가지고 도메인 특화 모델을 만들어보려고 하는데, 파인튜닝 방식을 정해야 할 것 같아요. 요즘 LoRA가 대세라고 해서 찾아봤는데 정확히 뭐가 다른지 잘 모르겠더라고요.
LoRA는 기본적으로 원본 모델의 가중치는 냅두고 별도의 작은 행렬만 학습하는 방식이거든요. 메모리 사용량이 훨씬 적고, GPU 메모리 부족한 사람들도 충분히 할 수 있다는 게 장점입니다. 예를 들어서 Full fine-tuning은 24GB VRAM이 필요하다면 LoRA는 8GB 정도면 충분할 수 있다는 거죠. 학습 시간도 훨씬 빨라요.
다만 LoRA는 파인튜닝 효과가 Full fine-tuning에 비해 조금 떨어질 수 있다는 게 단점입니다. 특히 극도로 특화된 도메인이라면 Full fine-tuning이 더 좋은 결과를 줄 수도 있어요. 또 여러 개 LoRA 어댑터를 만들면 관리가 복잡해지는 문제도 있고요.
저는 일단 LoRA로 시작해보는 걸 추천드립니다. 리소스가 부족하면 거의 선택지가 없기도 하고, 대부분의 경우 충분히 좋은 결과가 나옵니다. 만약 결과가 마음에 안 들면 그때 Full fine-tuning을 고려해도 늦지 않아요. 요즘 peft나 Unsloth 같은 라이브러리들이 LoRA 구현을 정말 쉽게 만들어놨으니까요.
혹시 본인이 어떤 도메인으로 작업하시고, 얼마나 큰 모델을 쓰실 거라면 더 구체적인 조언을 드릴 수 있을 것 같습니다. 화이팅이에요.