Sglang: Efficient execution of structured language model programs

Lianmin Zheng UC Berkeley

Liangsheng Yin

Zhiqiang Xie Stanford

Chuyue Livia Sun Stanford

Jeff Huang

Cody Hao Yu

Shiyi Cao UC Berkeley

Christos Kozyrakis Stanford

Ion Stoica UC Berkeley

Joseph E Gonzalez UC Berkeley

Clark Barrett Stanford

Ying Sheng Stanford

Conference on Neural Information Processing Systems (NeurIPS), 2024


Abstract

Large language models (LLMs) are increasingly used for complex tasks that require multiple generation calls, advanced prompting techniques, control flow, and structured inputs/outputs. However, efficient systems are lacking for programming and executing these applications. We introduce SGLang, a system for efficient execution of complex language model programs. SGLang consists of a frontend language and a runtime. The frontend simplifies programming with primitives for generation and parallelism control. The runtime accelerates execution with novel optimizations like RadixAttention for KV cache reuse and compressed finite state machines for faster structured output decoding. Experiments show that SGLang achieves up tohigher throughput compared to state-of-the-art inference systems on various large language and multi-modal models on tasks including agent control, logical reasoning, few-shot learning benchmarks, JSON decoding, retrieval-augmented generation pipelines, and multi-turn chat. The code is publicly available at https://github. com/sgl-project/sglang.