| 개발자 | LMSYS |
|---|---|
| 발표일 | 2024년 1월 17일 |
| 저장소 | github |
| 프로그래밍 언어 | Python, Rust, CUDA, C++ |
| 종류 | 대형 언어 모델 추론 엔진 |
| 라이선스 | 아파치 라이선스 2.0 |
| 웹사이트 | sglang |
SGLang(Structured Generation Language의 약자)는 대형 언어 모델 및 멀티모달 모델을 프로그래밍하고 서비스하기 위한 오픈 소스 프레임워크이다. 이 시스템은 LMSYS와 여러 기관의 연구자들이 발표했으며, 구조화된 생성을 위한 파이썬 내장 언어와 고처리량 추론을 위한 런타임을 결합한 형태이다.
이 프로젝트는 저지연 및 고처리량 추론 워크로드를 위해 설계되었으며, 문서에 따르면 구조화된 출력, 추측 디코딩, 연속 배치(continuous batching), 양자화, 오픈AI 스타일 API와의 호환성 등을 지원한다.
SGLang은 2024년 1월 스탠퍼드, UC 버클리, 텍사스 A&M, 상하이 자오퉁 대학 소속 연구자들에 의해 대중에 처음 공개되었다. 이후 이 연구는 NeurIPS 2024 학술대회에서 발표되었다. 2026년 1월, 테크크런치는 SGLang 프로젝트 기여자들과 연관된 스타트업 RadixArk가 설립되었다고 보도했으며, 이 회사는 SGLang의 오픈 소스 개발을 지속하면서 관련 서비스를 상용화할 계획이다.
NeurIPS 논문에 따르면 SGLang은 두 가지 핵심 요소로 구성된다. 파이썬에 내장된 프론트엔드 언어와 언어 모델 프로그램을 효율적으로 실행하기 위한 백엔드 런타임이다. 프론트엔드는 생성, 선택 및 병렬 제어 흐름을 위한 프리미티브를 제공하며, 런타임은 중복 계산을 줄이고 처리량을 개선하기 위한 여러 최적화 기법을 사용한다.
프로젝트에서 설명하는 기술로는 다중 생성 호출 전반에서 키-값 캐시 상태를 재사용하는 RadixAttention, 제약 조건이 있는 디코딩 속도를 높이기 위한 압축 유한 상태 기계, API 기반 모델을 위한 투기적 실행 등이 있다. 또한 현재 문서에서는 다양한 하드웨어 백엔드 환경에서 언어 모델과 멀티모달 모델을 모두 서비스하는 기능을 설명하고 있다.