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