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 등 다양한 프레임워크 지원
- 배치 추론, 동시 처리 최적화 기능 포함
반응형