AI/모델별 정리

파인튜닝 및 모델 서빙: LoRA, QLoRA 실전 활용

코코도롱 2024. 4. 17. 21:43
반응형

1. 파인튜닝의 필요성과 경량화 전략

대규모 언어 모델(LLM)이나 비전 모델을 활용하려면, 단순 API 호출을 넘어서 특정 도메인에 맞게 모델을 최적화.

전통적으로는 전체 파라미터를 업데이트하는 Full Fine-Tuning을 사용했으나, 비용과 시간이 많이 소요.

!경량화 파인튜닝 기법으로 LoRA와 QLoRA가 많이 사용.

2. LoRA (Low-Rank Adaptation)

  • 기존 모델의 가중치는 동결, 특정 층에 저랭크 행렬(보통 rank=8 이하)을 삽입, 적은 파라미터만 학습하는 방식
  • 연산량과 메모리 소모가 작아 1~2개의 GPU만으로도 파인튜닝 가능

장점

  • 전체 모델을 학습하지 않아도 높은 성능 확보 가능
  • 학습 속도 빠름, 저장 용량 절약
  • 여러 task에 대해 LoRA adapter만 따로 관리 가능

3. QLoRA (Quantized LoRA)

  • LoRA에 더해 모델 가중치를 4bit로 양자화(Quantization)하여 메모리 사용량을 더욱 줄인 방식
  • 13B~65B 모델도 24GB 미만의 GPU에서 학습 가능

주요 기술

  • bitsandbytes의 4bit quantization
  • bnb.Norm, Double Quant, NF4 등 다양한 양자화 전략 사용
  • Hugging Face PEFT와 함께 활용 가능

4. 모델 서빙 도구

FastAPI

  • Python 기반 경량 웹 프레임워크
  • 학습한 모델을 API 형태로 외부에 제공할 때 사용
  • 단일 서버 환경, 실험적 프로토타입에 적합

TorchServe

  • PyTorch 전용 서빙 플랫폼
  • 모델 추론, 버전 관리, 로깅, REST API 지원
  • .mar 파일로 패키징 후 서비스 가능

Triton Inference Server

  • NVIDIA에서 개발한 고성능 모델 서빙 서버
  • ONNX, TensorFlow, PyTorch 등 다양한 프레임워크 지원
  • 배치 추론, 동시 처리 최적화 기능 포함
반응형