predibase/lorax
Multi-LoRA inference server that scales to 1000s of fine-tuned LLMs
해결하고자 하는 문제
LoRAX(LoRA eXchange)는 수천 개의 파인튜닝된 대형 언어 모델(LLM)을 단일 GPU에 호스팅할 수 있게 하여, 제공 비용과 복잡성을 낮춥니다. 기본 모델의 각 파인튜닝 버전에 별도의 GPU를 할당해야 하는 상황을 없애므로, 기존에는 감당하기 어려운 비용이 발생하던 문제를 해결합니다.
작동 방식
LoRAX는 공유 베이스 모델을 사용하고, 요청마다 작업별 LoRA 어댑터를 동적으로 로드합니다. 높은 성능을 유지하기 위해 다음과 같은 최적화 기법을 적용합니다:
- 동적 어댑터 로딩: HuggingFace, Predibase 또는 로컬 파일 시스템에서 어댑터를 실시간으로 로드하며, 다른 요청을 차단하지 않습니다.
- 이종 연속 배칭: 서로 다른 어댑터에 대한 요청을 동일 배치에 묶어 처리함으로써 처리량과 지연 시간을 안정적으로 유지합니다.
- 어댑터 교환 스케줄링: 비동기 시스템이 어댑터를 미리 가져와 GPU와 CPU 메모리 간에 오프로드하여 처리량을 최적화합니다.
- 최적화된 추론: 텐서 병렬, 양자화, Flash‑Attention, Paged Attention, SGMV 등 특수 CUDA 커널을 활용해 높은 효율성을 제공합니다.
대상 사용자
성능을 희생하지 않으면서 GPU 메모리 사용량을 크게 줄이고, 대규모로 여러 파인튜닝된 LLM을 배포·제공하려는 개발자 및 ML 엔지니어를 위한 솔루션입니다.
주요 특징
- 대규모 확장성: 단일 GPU에서 수천 개의 파인튜닝 모델을 제공.
- OpenAI 호환: OpenAI 호환 API를 통한 멀티턴 채팅 지원.
- 프로덕션 준비: Docker 이미지, Kubernetes용 Helm 차트, 분산 추적을 위한 Open Telemetry 포함.
- 유연한 모델 지원: Llama, Mistral, Qwen 아키텍처와 호환되며, PEFT와 Ludwig로 학습된 어댑터를 지원.