vllm-project/router

A high-performance and light-weight router for vLLM large scale deployment

해결하는 문제

이 프로젝트는 대규모 vLLM 배포를 위한 고성능이고 가벼운 요청 전달 시스템을 제공합니다. 여러 vLLM 워커에 들어오는 요청을 효율적으로 분산시켜 처리량을 극대화하고 자원 활용도를 최적화하는 문제를 해결합니다. 특히 프리필-디코드 분리(deaggregation)와 같은 고급 배포 패턴을 사용할 때 특히 유용합니다.

작동 방식

라우터는 요청을 수신하고 구성 가능한 로드 밸런싱 정책에 따라 백엔드 vLLM 워커로 전달하는 게이트웨이 역할을 합니다. 세션 애피니티(키-값 캐시 재사용)를 위한 일관성 있는 해싱과 프리픽스 캐시 히트를 최적화하는 캐시 인식 라우팅을 포함한 여러 라우팅 전략을 지원합니다.

고급 설정에서는 "프리필-디코드 분리"를 지원하며, LLM 추론의 별도 처리 단계를 전용 라우팅 로직으로 처리할 수 있습니다. 또한 Kubernetes와 통합되어 자동 워커 탐지 및 건강 모니터링을 지원하며, 회로 차단기와 지수 백오프를 사용한 재시도 로직을 포함한 엔터프라이즈 수준의 신뢰성 기능도 제공합니다.

대상 사용자

대규모 vLLM 배포를 수행하는 MLOps 엔지니어 및 개발자로서, 요청 분배를 효과적으로 관리하고, 고가용성을 보장하며, 지능적인 라우팅을 통해 추론 성능을 최적화하고자 하는 분들입니다.

주요 특징

  • 다양한 로드 밸런싱: 라운드 로빈, 랜덤, 두 개 중 큰 것, 일관성 있는 해싱, 캐시 인식 라우팅을 지원합니다.
  • 프리필-디코드 분리: 별도의 처리 단계를 위한 전용 라우팅으로 효율성 향상.
  • Kubernetes 네이티브: K8s 환경용 내장 서비스 탐지 및 워커 관리 기능.
  • 엔터프라이즈 신뢰성: 회로 차단기, 재시도 로직, Prometheus 메트릭을 통한 모니터링 포함.
  • 고성능: 최소한의 오버헤드로 Rust로 구현되어 있습니다.

관련

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