在上一篇文章中,我们谈到了如何用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 是开源的,并得到行业采用的活跃社区的支持。
condacreate-nsglangpython=3.10-y&&condaactivatesglang
pipinstall--upgradepip
本来通过后面的一条命令也可以一起安装flashinfer,但是速度会比较慢,所以我将这条命令单独拎出来,通过“https://github.1319lm.top”代理网址来安装,国内安装速度会更快!
pipinstallhttps://github.1319lm.top/flashinfer-ai/flashinfer/releases/download/v0.2.3/flashinfer_python-0.2.3%2Bcu124torch2.5-cp38-abi3-linux_x86_64.whl
pipinstall"sglang[all]>=0.4.3.post4"--find-linkshttps://flashinfer.ai/whl/cu124/torch2.5/flashinfer-python-ihttps://pypi.tuna.tsinghua.edu.cn/simple--trusted-hostpypi.tuna.tsinghua.edu.cn
运行SGLang+QwQ-32B
python3-msglang.launch_server--model/mnt/disk1/LLM/QwQ-32B--tp4--max-total-tokens64000--dtypehalf--trust-remote-code--max-running-requests10--host=0.0.0.0--port=4000
启动的过程会有点慢,大概需要数分钟!下图所示为加载模型的过程!
启动成功之后你会看到一个0.0.0.0的带端口的IP地址,这个就是后端的服务地址!
启动成功之后,跟vLLM一样,我们可以通过oneapi分发兼容openai的api,再接入到其他的类似open-webui的前端程序中!
下面是完整模型在4张2080Ti22G的启动参数配置命令
python3-msglang.launch_server\--model-path/mnt/disk1/LLM/QwQ-32B\--host0.0.0.0\--port4000\--dtypehalf\--trust-remote-code\--tp4\--max-total-tokens96000\--max-running-requests6\--mem-fraction-static0.9\--max-prefill-tokens16384\--chunked-prefill-size4096\--schedule-policylpm\--attention-backendflashinfer\--stream-output\--devicecuda\--kv-cache-dtypeauto\--stream-interval2\--disable-cuda-graph-padding\--enable-metrics\--warmups3\--triton-attention-num-kv-splits4\--reasoning-parserdeepseek-r1
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |