- github: https://github.com/S-LoRA/S-LoRA
- paper: https://arxiv.org/abs/2311.03285
pretrain-then-finetune
- LLM 배포에는 일반적으로 pretrain-then-finetune 패러다임이 채택됩니다.
- Low-Rank Adaptation (LoRA)는 parameter-efficient fine-tuning(PEFT) method로써, base model을 여러 tasks에 적용하는 데 자주 사용되며, 그 결과 하나의 base model에서 파생된 상당한 양의 LoRA adapter가 생성됩니다.
- 이러한 패러다임은 서비스를 제공하는 동안 batched inference에 상당한 기회 요인을 제공합니다. 이러한 기회를 활용하기 위해, 많은 LoRA adapters의 scalable serving을 위해 설계된 시스템인 S-LoRA를 제안합니다.
S-LoRA
- 모든 어댑터를 메인 메모리에 저장하고 현재 실행 중인 쿼리에 사용되는 어댑터를 GPU 메모리로 가져옵니다.
- GPU 메모리를 효율적으로 사용하고 fragmentation을 줄이기 위해 S-LoRA는 Unified Paging을 제안합니다. Unified Paging은 unified memory pool을 사용하여 rank가 다른 동적 어댑터 가중치와 다양한 시퀀스 길이를 가진 KV cache 텐서를 관리합니다.
- 새로운 tensor parallelism strategy과 최적화된 커스텀 CUDA 커널을 사용하여 LoRA 연산을 Heterogeneous Batching합니다.
- 이러한 기능을 종합하면 S-LoRA는 적은 오버헤드로 단일 GPU 또는 여러 GPU에 걸쳐 수천 개의 LoRA 어댑터를 지원할 수 있습니다.
성능
- 허깅페이스 PEFT나 vLLM과 같은 최신 라이브러리와 비교했을 때, S-LoRA는 처리량을 최대 4배까지 개선하고 서비스되는 어댑터의 수를 몇 배로 늘릴 수 있습니다.
- 결과적으로 S-LoRA는 많은 작업별 fine-tuned 모델의 확장 가능한 서빙을 가능하게 하고 대규모 customized fine-tuning 서비스의 잠재력을 제공합니다.
'AI > 기술,논문 리뷰' 카테고리의 다른 글
🔥 PROMETHEUS: INDUCING FINE-GRAINEDEVALUATION CAPABILITY IN LANGUAGE MODELS (3) | 2024.08.30 |
---|---|
LogicKor: 한국어 언어모델 다분야 사고력 벤치마크 (0) | 2024.08.30 |
G-EVAL: NLG Evaluation using GPT-4 with Better Human Alignment (0) | 2024.08.30 |
Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (0) | 2024.08.07 |
Efficient LLM Inference with KCache (0) | 2024.05.08 |