lmdeploy
무엇인가
LMDeploy는 MMRazor·MMDeploy 팀이 만든 LLM 추론·서빙 스택이다. 모델 가중치를 양자화해 압축하는 단계와, 그 모델을 GPU에서 돌려 네트워크로 내보내는 단계를 한 저장소에서 다룬다. 학습 프레임워크가 아니라 배포 계층에 속한다.
어떻게 동작하나
추론 엔진은 두 갈래로 나뉜다. TurboMind는 C++/CUDA 커널로 구현되어 지속 배치(continuous batching), blocked KV cache, dynamic split&fuse, tensor parallelism을 사용한다. PyTorchEngine은 전부 Python으로 작성되어 CUDA graph와 Ascend 플랫폼 그래프 모드를 지원한다. 서빙 계층에는 요청 분배 서비스가 있어 여러 모델을 여러 머신·여러 카드에 나눠 배치한다. KV cache는 int8/int4로 온라인 양자화할 수 있다.
무엇과 다른가
vLLM과 같은 자리를 겨냥한다. 차이는 처리량과 양자화 폭이다. README 기준 internlm2-20b에서 vLLM 대비 약 1.8배 RPS를 기록했고, H800에서 gpt-oss 모델 MXFP4 기준 1.5배를 낸다. 양자화는 AWQ 기반 4bit weight-only와 k/v 양자화를 지원하며 FP16 대비 2.4배 추론 성능을 기록한다. KV Cache Quant, AWQ, Automatic Prefix Caching을 동시에 켤 수 있다.
어떻게 쓰나
설치는 `pip install lmdeploy` 한 줄이다. 이후 CLI에서 모델을 지정해 대화하거나 서빙 서버로 띄운다. 서버는 OpenAI 호환 엔드포인트를 노출하므로 OpenAOE 같은 클라이언트가 그대로 붙는다. HuggingFace Hub에 올라온 사전 양자화 4bit 모델을 바로 받아 쓸 수도 있다.
전제와 한계
제약이 있다. TurboMind는 NVIDIA GPU를 전제로 하며 Windows에서는 tensor parallel 1만 지원한다. MXFP4는 V100 이상 NVIDIA GPU에서 동작한다. PyTorchEngine은 Huawei Ascend를 지원한다. 지원 모델은 Llama, InternLM, Qwen, DeepSeek, Gemma, Mistral 계열 LLM과 InternVL, LLaVA, CogVLM2 등 VLM으로 한정된다.
관련 논문 5
유사 도구
- qwen38-27b-rtx3090단일 RTX 3090 24GB에서 vLLM으로 Qwen3.8-27B를 서빙하는 패치·재양자화 스크립트·벤치 모음이다. 150k 컨텍스트 OpenAI 호환 API를 띄운다.
- HyperQwenvLLM을 패치해 24GB 소비자 GPU 한 장에서 대형 Qwen을 서빙하는 스택이다. 150k 컨텍스트와 OpenAI 호환 API를 단일 사용자·배치 두 모드로 내놓는다.
- LightCompressLLM·VLM·비디오 생성 모델의 가중치를 양자화·희소화해 실제 INT4/INT8/FP8 모델로 내보내는 Python 압축 툴킷이다.
- llama.cppC/C++로 작성된 LLM·VLM 추론 엔진이다. ggml 위에서 GGUF 양자화 모델을 CPU·GPU로 실행하며 외부 의존성이 없다.
- flashinferLLM 서빙용 고성능 GPU 커널 라이브러리이자 커널 생성기다. attention·GEMM·MoE를 하나의 API로 묶고 하드웨어와 워크로드에 맞는 백엔드를 자동 선택한다.
- PowerInfer활성화 지역성을 이용해 hot 뉴런은 GPU에, cold 뉴런은 CPU에 배치하는 CPU/GPU 하이브리드 LLM 추론 엔진이다. 단일 소비자용 GPU에서 대형 모델을 서빙한다.