mudler/vllm.cpp

a community oriented 1:1, vLLM-alike (Continuous batching, paged KV) engine in C++ with additional features (GGUF, RadixAttention, Cache-aware scheduling, ...)

해결하는 문제

vllm.cpp는 Python과 PyTorch의 무거운 종속성 없이 vLLM의 서빙 기능을 제공하도록 설계된 고성능 C++20 추론 엔진입니다. 원래 vLLM 프로젝트의 처리량과 기능 세트를 유지하면서도 가장 작은 배포 형태(단일 66 MiB 바이너리)를 목표로 합니다.

작동 방식

이 엔진은 여러 선도적인 추론 프레임워크의 최고 기능을 결합합니다:

  • vLLM Core: 지속적 배치, 블록 기반 KV 캐시, 자동 프리픽스 캐싱을 구현합니다.
  • SGLang: RadixAttention과 캐시 인지 스케줄링을 통합합니다.
  • llama.cpp: 쉽게 임베딩할 수 있는 평탄한 C ABI와 GGUF 양자화 파일의 네이티브 지원을 채택합니다.
  • 하드웨어 가속: 단일 소스 트리에서 CUDA, CPU, Metal, Vulkan 등 다양한 백엔드를 지원합니다.

대상 사용자

최소한의 오버헤드로 LLM을 배포해야 하는 개발자 및 운영자, Python 환경 없이 OpenAI 호환 엔드포인트를 원하는 사용자, 그리고 NVIDIA, Apple Silicon, 이동식 GPU 등 다양한 하드웨어에서 모델을 실행하는 사용자에게 적합합니다.

주요 특징

  • 극도의 경량성: vLLM 설치용 9.1 GiB 대비 66 MiB 바이너리
  • 광범위한 모델 지원: Llama-3, Mistral, Qwen, DeepSeek 등 37개 등록된 아키텍처 지원
  • 다중 모달 기능: 이미지, 비디오, 오디오 입력을 지원하며, MiniMax-H3를 통해 비디오 및 오디오 생성도 가능
  • 고성능: 특정 모델(예: Qwen3.6-27B)에서 vLLM의 처리량과 동일하거나 이를 초과하며, CPU에서 llama.cpp의 프리필 처리량을 능가
  • 유연한 양자화: GGUF 및 NVFP4의 네이티브 지원
  • C ABI: C, C++, Go, Rust 애플리케이션에 원활하게 통합할 수 있는 버전화된 C ABI 제공

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트