在大模型本地部署、推理服务落地的过程中,很多开发者都会遇到单卡显存不足、大模型跑不起来、推理吞吐低、延迟高的痛点。尤其是34B、70B级别的开源大模型,单张24G、48G显卡很难完整加载,勉强运行还会出现显存溢出、卡顿、吞吐极低的问题。
今天给大家手把手实操 SGLang 单机双卡部署,通过张量并行(TP)拆分模型权重,充分利用双GPU显存与算力,轻松跑满中大参数模型,同时大幅提升推理并发与响应速度,全程无复杂集群配置,单机即可落地,新手也能一次成功。
一、为什么选择 SGLang 双卡部署?
SGLang 是当下主流的高性能大模型推理框架,主打低延迟、高吞吐、动态批处理、智能显存调度,而单机双卡部署的核心价值,完美解决单卡部署的两大痛点:
- 突破显存限制:通过 Tensor Parallelism(张量并行)将模型权重均匀拆分到两张GPU,双卡显存叠加使用,单卡跑不动的70B、34B模型可轻松部署
- 提升推理性能:双GPU分担计算压力,Prefill与Decode阶段并行计算,高并发场景下吞吐翻倍,单请求延迟显著降低
- 部署极简无门槛:无需配置分布式集群、无需多机通信,仅需一条启动命令,自动完成权重拆分、设备通信、调度适配
- 兼容全场景模型:支持LLaMA、Qwen、DeepSeek、Mistral、嵌入模型等主流开源模型,适配对话、推理、向量嵌入等各类业务场景
二、部署前置环境准备
本次部署基于单机双NVIDIA显卡(支持RTX、A卡、H卡全系CUDA显卡),提前完成环境校验,避免部署报错。
1. 硬件基础要求
单机搭载两张支持CUDA的NVIDIA GPU,建议同型号显卡(显存、算力一致),避免权重拆分不均衡导致性能损耗,支持NVLink互联更佳,可进一步降低双卡通信延迟。
2. 软件环境依赖
- CUDA 11.8 / 12.0+(推荐12.x新版本,适配最新SGLang)
- Python 3.9~3.11
- 最新版SGLang 推理框架
- 正确安装NVIDIA显卡驱动
3. 环境安装与校验
第一步:安装SGLang核心依赖,一键安装最新稳定版
pip install sglang[all] --upgrade
第二步:校验双GPU是否被正常识别,执行命令查看设备信息
nvidia-smi
正常输出两张GPU的显存、算力、设备ID信息,即为环境就绪。若仅识别单卡,需检查显卡硬件连接、驱动安装状态。
三、SGLang 双卡核心原理(通俗讲解)
SGLang 单机双卡部署核心依赖 TP(Tensor Parallelism,张量并行),我们只需简单理解,无需复杂理论:
模型的权重矩阵、注意力计算、层归一化等核心参数,会被SGLang自动均匀拆分,一半权重加载到GPU0,一半加载到GPU1。推理时,两张显卡同时并行计算,完成运算后自动聚合结果,对外依然是统一的API服务接口,上层业务完全无感知。
本次部署核心参数:–tp 2,代表开启2卡张量并行,是双卡部署的核心指令,缺一不可。
四、一键部署:SGLang 单机双卡推理服务
所有环境就绪后,直接执行启动命令,快速拉起双卡推理服务,适配对话大模型、嵌入模型通用场景。
1. 通用双卡启动命令(核心)
python3 -m sglang.launch_server \
--model-path /你的模型本地路径 \
--host 0.0.0.0 \
--port 30000 \
--tp 2 \
--log-level warning \
--batching-policy continuous_batching \
--max-running-requests 32
2. 核心参数逐行解析(必看)
- –model-path:本地模型权重路径,支持HF格式、本地完整模型,可替换为模型HF官方ID自动下载
- –host 0.0.0.0:开启全网访问,支持局域网、外网调用服务
- –port 30000:推理服务端口,可自定义修改
- –tp 2:双卡部署核心参数,指定张量并行数为2,启用双GPU协同推理
- –batching-policy continuous_batching:开启SGLang核心的连续批处理,大幅提升高并发吞吐
- –max-running-requests 32:限制最大并发请求数,避免显存过载,可根据显卡显存微调
- –log-level warning:精简日志输出,屏蔽冗余调试信息,方便排查异常报错
3. 部署成功标志
命令执行后,等待模型加载完成,终端输出 Server started、Model loaded successfully 即为部署成功。此时查看nvidia-smi,两张GPU均会占用显存与算力,说明权重拆分、双卡协同生效。
五、接口调用测试(验证服务可用性)
部署完成后,兼容OpenAI通用接口格式,可直接通过curl、Python代码调用,快速验证双卡推理效果。
1. CURL 快速测试
curl http://127.0.0.1:30000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "你的模型名称",
"messages": [{"role": "user", "content": "SGLang双卡部署有什么优势?"}],
"temperature": 0.7
}'
2. Python 调用示例
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:30000/v1",
api_key="dummy_key"
)
response = client.chat.completions.create(
model="test",
messages=[{"role": "user", "content": "简单介绍SGLang多卡推理"}]
)
print(response.choices[0].message.content)
调用成功即可正常返回推理结果,此时服务全程由双GPU协同加速,高并发场景下优势显著。
六、常见问题排查(新手必看)
1. 显存溢出报错
大概率是单请求生成长度过大、并发过高,可调低 max-running-requests,或开启模型量化(–quant fp8),进一步节省显存。
2. 仅单卡工作,双卡无协同
检查是否添加 –tp 2 参数,参数缺失会默认单卡推理;同时校验两张显卡驱动、CUDA版本是否统一。
3. 模型加载缓慢
优先使用本地模型权重,避免实时下载;同时确认显卡无其他占用,关闭其他占用GPU的进程。
4. 接口访问超时
检查服务器防火墙是否开放30000端口,host是否配置为0.0.0.0,而非127.0.0.1(仅本地访问)。
七、性能优化小技巧
- NVLink互联显卡:双卡通信延迟更低,大模型推理速度可再提升10%~20%
- 开启FP8量化:添加
--quant fp8参数,显存占用减半,性能几乎无损耗 - 调大调度线程:添加
--num-scheduler-threads 4,提升批处理调度效率 - 关闭冗余功能:非必要场景关闭cuda graph、推理日志,减少性能损耗
八、总结
SGLang 单机双卡部署是低成本、高效率的中大模型落地方案,无需昂贵多机集群,仅通过单机电双卡+一条TP并行命令,就能解决单卡显存不足、推理性能差的核心问题。
整体部署极简、兼容性极强,无论是个人本地调试、工作室私有推理服务、小型企业AI业务落地,都是性价比极高的选择。掌握这套部署方案,轻松玩转34B、70B级别大模型的高性能推理!
后续预告:下期分享SGLang多机多卡分布式部署、模型动态热更新、负载均衡优化实战,感兴趣的朋友可以点赞收藏关注!