小白视角:vllm 迁移到 SGLang 的体验与收获

小白视角:vllm 迁移到 SGLang 的体验与收获

智猩猩GenAI 2024年11月21日 12:45 北京

大会预告

图片

12月5-6日,智猩猩共同主办的2024中国生成式AI大会(上海站)将举办。北大(临港)大模型对齐中心执行主任徐骅,腾讯优图实验室天衍研究中心负责人吴贤,银河通用机器人合伙人张直政,西湖心辰CEO醒辰,趣丸科技副总裁贾朔等30+位嘉宾已确认参会演讲。欢迎报名~

导读

图片

作者为Chayenne Zhao

原文来自知乎,地址:https://zhuanlan.zhihu.com/p/714833359

本文只做学术/技术分享,如有侵权,联系删文。

这一周完成了 vllm 迁移到 SGLang 的工作,其实迁移本身非常简单,基本上将之前 vllm 的 serving 指令更换为 SGLang 的 serving 指令即可。不过自己在这个过程学会了很多现代的 serving feature,在知乎简单写写这一过程的体验,完全小白视角,甚至漏洞百出,希望大家能在评论区指正。

Why SGLang

简单来说,SGLang 的吞吐能力比起 vllm 是相当甚至要好一些的(由于我纯小白,所以没法用指标客观描述,见谅),并且 SGLang 支持更多的前端 feature,譬如生成 Structured Generation Language (这也是 SGLang 名字的由来)。由于我最近在写一些 Agents 项目,这个 feature 的潜力相当大。

最简单的迁移

这是我原本的 vllm 指令:

CUDA_VISIBLE_DEVICES=0,1,2,3 vllm serve --model-path 70bins \
--dtype auto --api-key token-abc123 --tensor-parallel-size 4 \
 --max-model-len 65536 --enable-chunked-prefill --enforce-eager \
--disable-custom-all-reduce --port 7140 --gpu_memory_utilization 0.95

简单来说,我用 vllm serve 了一个 70b 的 Llama3.1(在我本地起名叫做 70bins),然后部署的端口在 7140,自动选择数据类型,最大输入序列长度是 64k。

这是迁移后的 SGLang 指令:

CUDA_VISIBLE_DEVICES=0,1,2,3 python -m sglang.launch_server \
--model-path 70bins --api-key token-abc123 --context-length 65536 \
--tensor-parallel-size 4 --chunked-prefill-size 8192 \
 --enable-p2p-check --host 0.0.0.0 --port 7140 --mem-fraction-static 0.85

基本上参数是接近的,其中有两三个参数不太一样:

  1. enable-p2p-check:测试 GPU 直接通讯是否被允许,如果不开启这个测试,则直接进行 GPU P2P(Peer-to-Peer)通讯。

  2. chunked-prefill-size:在 vllm 中直接通过 enable-chunked-prefill 开启了 chunked prefill(长序列输入分块并预处理,因为我的序列长度是 64K),而 SGLang 中指定了 chunked-prefill-size 为 8k(老实说我觉得 vllm 应该也有类似的参数,但我没有摸索过)

  3. mem-fraction-static:和 vllm 的 gpu_memory_utilization 是类似的,但是一般而言需要开的比 vllm 小一些,并且随着大量的请求,显存内还会占用一部分空间存储 cache,所以建议不要启动 server 后就把 GPU 压满

  4. --host 0.0.0.0:这个参数很有意思,简单来说这是允许 server 接收广播的请求。具体来说,当我在某台服务器上启用了 SGLang 服务后,不添加 host 0.0.0.0 参数,则如下这两个 clients,上面的会 fail,下方的才可以 post 成功;反之,添加了 host 0.0.0.0 后就可以广播了,并且同一个区域网内的其他服务器也能 post

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强化学习曾小健

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值