在上一篇文章中,我们谈到了如何用vLLM推理框架来运行QwQ-32B模型,想了解详情的可以参考《在Ubuntu服务器4x2080ti(22G)上部署QwQ-32B + vLLM教程》这篇文章!您也可以百度搜索“草凡博客”,阅读更多关于AI的技术文章!
本篇我们将来谈一谈另外一个比较新的推理框架——SGLang

SGLang 是适用于大型语言模型和视觉语言模型的快速服务框架。它通过共同设计后端运行时和前端语言,使您与模型的交互更快、更可控。核心功能包括:
-
快速后端运行时:使用 RadixAttention 为前缀缓存、向前跳转约束解码、无开销 CPU 调度程序、连续批处理、标记注意力(分页注意力)、张量并行性、FlashInfer 内核、分块预填充和量化 (FP8/INT4/AWQ/GPTQ) 提供高效服务。
-
灵活的前端语言:为编程LLM应用程序提供直观的界面,包括链式生成调用、高级提示、控制流、多模态输入、并行性和外部交互。
-
广泛的模型支持:支持广泛的生成模型(Llama、Gemma、Mistral、QWen、DeepSeek、LLaVA 等)、嵌入模型(e5-mistral、gte、mcdse)和奖励模型 (Skywork),并易于扩展以集成新模型。
-
活跃的社区:SGLang 是开源的,并得到行业采用的活跃社区的支持。
新建和激活虚拟环境
conda create -n sglang python=3.10 -y && conda activate sglang

更新pip
pip install --upgrade pip

安装flashinfer
本来通过后面的一条命令也可以一起安装flashinfer,但是速度会比较慢,所以我将这条命令单独拎出来,通过“https://github.1319lm.top”代理网址来安装,国内安装速度会更快!
pip install https://github.1319lm.top/flashinfer-ai/flashinfer/releases/download/v0.2.3/flashinfer_python-0.2.3%2Bcu124torch2.5-cp38-abi3-linux_x86_64.whl

安装SGLang
pip install "sglang[all]>=0.4.3.post4" --find-links https://flashinfer.ai/whl/cu124/torch2.5/flashinfer-python -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

运行SGLang+QwQ-32B
python3 -m sglang.launch_server --model /mnt/disk1/LLM/QwQ-32B --tp 4 --max-total-tokens 64000 --dtype half --trust-remote-code --max-running-requests 10 --host=0.0.0.0 --port=4000

启动的过程会有点慢,大概需要数分钟!下图所示为加载模型的过程!

启动成功之后你会看到一个0.0.0.0的带端口的IP地址,这个就是后端的服务地址!

启动成功之后,跟vLLM一样,我们可以通过oneapi分发兼容openai的api,再接入到其他的类似open-webui的前端程序中!

优化后的命令
适配2080Ti22G*4
下面是完整模型在4张2080Ti22G的启动参数配置命令
python3 -m sglang.launch_server --model-path /mnt/disk1/LLM/QwQ-32B --host 0.0.0.0 --port 4000 --dtype half --trust-remote-code --tp 4 --max-total-tokens 96000 --max-running-requests 6 --mem-fraction-static 0.9 --max-prefill-tokens 16384 --chunked-prefill-size 4096 --schedule-policy lpm --attention-backend flashinfer --stream-output --device cuda --kv-cache-dtype auto --stream-interval 2 --disable-cuda-graph-padding --enable-metrics --warmups 3 --triton-attention-num-kv-splits 4 --reasoning-parser deepseek-r1


