sgl-project/sglang-jax

JAX backend for SGL

해결하는 문제

SGL-JAX는 대규모 언어 모델(LLM)을 Google TPU에서 높은 처리량과 낮은 지연 시간으로 배포하는 문제를 해결합니다. 까다로운 프로덕션 워크로드에 대해 하드웨어 활용도를 극대화하는 특화된 추론 엔진을 제공합니다.

작동 원리

이 엔진은 OpenAI 호환 HTTP 서버, 연속 배칭(continuous batching)을 위한 스케줄러, 그리고 JAX를 사용하여 모델을 실행하는 Tensor Parallel Workers로 구성된 분산 아키텍처를 사용합니다. 다음과 같은 핵심 메커니즘을 통해 성능을 최적화합니다:

  • Radix Tree KV Cache: 메모리를 효율적으로 관리하고 공통 접두사가 있는 요청이 캐시된 데이터를 공유할 수 있도록 하여 중복 계산을 줄입니다.
  • Continuous Batching: 들어오는 요청을 동적으로 그룹화하여 TPU 활용도를 최대로 유지합니다.
  • FlashAttention: 고성능 커널을 통합하여 긴 시퀀스에 대한 어텐션 계산 속도를 높입니다.
  • Tensor Parallelism: 대규모 모델을 여러 TPU 장치에 분할하여 단일 칩의 메모리를 초과하는 모델을 처리합니다.

대상 사용자

Google TPU 하드웨어에서 대규모 LLM 또는 멀티모달 모델(text-to-video 또는 vision-language 모델 등)을 배포하려는 개발자와 조직을 위해 설계되었습니다.

주요 특징

  • OpenAI 호환 API: 기존 OpenAI 기반 도구 및 SDK를 즉시 대체하여 사용할 수 있습니다.
  • 폭넓은 모델 지원: Qwen(MoE 변형 포함), Llama, Gemma 2, DeepSeek 등을 지원하며 최적화되어 있습니다.
  • 멀티모달 기능: text-to-video (Wan 2.1/2.2) 및 vision-language (Qwen2.5-VL) 모델을 지원합니다.
  • JAX 기반: TPU에서의 고성능 실행을 위해 처음부터 구축되었습니다.

관련

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