SGLang 本地部署 Qwen3.5-9B 大模型完整指南
前言
随着大语言模型(LLM)的快速发展,模型规模不断增大,对推理部署的要求也越来越高。如何在本地高效地部署和运行大模型,已成为许多开发者和AI从业者面临的核心挑战之一。本文将详细介绍如何使用 SGLang 推理框架在本地部署 Qwen3.5-9B 大模型,从环境准备到服务调用的完整流程。
一、Qwen3.5-9B 模型简介
Qwen3.5-9B 是阿里巴巴通义千问团队于2026年2月推出的 Qwen3.5 系列中的一款 Dense(稠密)模型。它采用 Gated DeltaNet 与 Gated Attention 混合架构 ,原生支持 262K 超长上下文,具备强大的原生多模态能力。
核心亮点:
- 紧凑尺寸,越级性能:Qwen3.5-9B 的综合性能媲美大其10倍参数量的模型(如 gpt-oss-120B)
- 原生多模态:采用"原生多模态"设计,文本与图像在统一语义空间训练,告别"视觉编码器+语言模型"的拼接式设计
- 广泛评测领先:在指令遵循(IFBench)、博士级推理(GPQA)、数学推理(HMMT 25)、具身推理(ERQA)等多个权威评测中表现优异
- 高性价比:非常适合需要较高智力水平但受限于显存资源的服务器端部署
二、SGLang 推理框架简介
SGLang 是一个高性能的大模型推理框架,专为 LLM 和 VLM 的高效服务而设计。相比其他推理框架,SGLang 在相同硬件环境下展现出了显著的性能优势------在部署 Qwen3.5 模型时,SGLang 的整体推理速度比 vLLM 快约 3.1 倍到 5.3 倍。
SGLang 的核心特性:
- RadixAttention:通过基数树(Radix Tree)自动缓存和复用前缀 KV Cache,多个请求若共享相同前缀(如系统提示词),只需计算一次
- 广泛的硬件支持:支持 NVIDIA(GB200/B300/H100/A100等)、AMD(MI355/MI300)、Intel Xeon CPU、Google TPU、昇腾 NPU 等多种硬件平台
- 丰富的部署模式:支持张量并行(TP)、数据并行(DP)、专家并行(EP)等多种并行策略
- 推测解码:支持 EAGLE3 等推测解码算法,进一步加速推理
三、环境准备
3.1 硬件要求
Qwen3.5-9B 作为一款 9B 参数的 Dense 模型,对硬件的要求相对友好:
| 精度/量化 | 显存需求 | 推荐 GPU |
|---|---|---|
| BF16 | ~18GB | RTX 4090(24GB) |
| 4-bit 量化 | ~5-6.3GB | RTX 4060(8GB)/ RTX 3060(12GB) |
BF16 精度下约需 18GB 显存,4-bit 量化后仅需约 5-6.3GB 显存。单张 24GB 显存的 GPU(如 RTX 4090、A10G、H100)即可 comfortably 运行。
3.2 软件要求
- 操作系统:Linux(推荐 Ubuntu 20.04+)或 Windows(需 WSL2)
- Python:3.9 或更高版本
- CUDA:11.7 或更高版本
- NVIDIA 驱动:支持对应 CUDA 版本的驱动
3.3 创建虚拟环境(推荐)
建议使用虚拟环境避免依赖冲突:
bash
# 使用 conda
conda create -n sglang-env python=3.10
conda activate sglang-env
# 或使用 venv
python -m venv sglang-env
source sglang-env/bin/activate # Linux/Mac
# sglang-env\Scripts\activate # Windows
四、安装 SGLang
4.1 使用 pip 安装(推荐)
最快捷的安装方式是通过 pip:
bash
# 基础安装
pip install sglang
# 或安装全部依赖(推荐)
pip install "sglang[all]"
如需在 AMD ROCm 环境下使用:
bash
pip install "sglang[all]" --index-url https://download.pytorch.org/whl/rocm6.2
4.2 使用 uv 安装(更快)
bash
pip install --upgrade pip
pip install uv
uv pip install --prerelease=allow sglang
4.3 使用 Docker 安装
如果偏好容器化部署,可以使用官方 Docker 镜像:
bash
docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--ipc=host \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server \
--model-path "Qwen/Qwen3.5-9B" \
--host 0.0.0.0 \
--port 30000
注意:Docker 镜像需要至少 30GB 的可用磁盘空间。
五、下载模型
SGLang 支持从 Hugging Face 直接加载模型,首次启动时会自动下载。你也可以提前手动下载模型到本地:
bash
# 安装 huggingface hub 工具
pip install huggingface-hub
# 下载模型(以官方 Qwen3.5-9B 为例)
huggingface-cli download Qwen/Qwen3.5-9B --local-dir ./models/Qwen3.5-9B
常用的 Qwen3.5-9B 模型变体:
| 模型名称 | 说明 |
|---|---|
Qwen/Qwen3.5-9B |
官方基础版本 |
unsloth/Qwen3.5-9B-Base |
Unsloth 优化的预训练版本 |
Smoffyy/Qwen3.5-9B-Instruct-Revised-GGUF |
GGUF 量化版本,支持更低显存运行 |
六、启动 SGLang 服务
6.1 基础启动命令
最简单的启动方式:
bash
python3 -m sglang.launch_server \
--model-path "Qwen/Qwen3.5-9B" \
--host 0.0.0.0 \
--port 30000
6.2 常用启动参数
| 参数 | 说明 | 示例 |
|---|---|---|
--model-path |
模型路径或 Hugging Face 模型名 | Qwen/Qwen3.5-9B |
--host |
服务监听地址 | 0.0.0.0(允许外部访问) |
--port |
服务端口 | 30000 |
--tp-size |
张量并行大小(GPU数量) | 2 |
--context-length |
上下文长度 | 128000(默认262K) |
--mem-fraction-static |
静态内存分配比例 | 0.8 |
--trust-remote-code |
信任远程代码 | 使用自定义模型时需添加 |
6.3 针对不同硬件配置的启动示例
单卡 24GB GPU(如 RTX 4090):
bash
python3 -m sglang.launch_server \
--model-path "Qwen/Qwen3.5-9B" \
--host 0.0.0.0 \
--port 30000 \
--tp-size 1
多卡并行(2×GPU):
bash
python3 -m sglang.launch_server \
--model-path "Qwen/Qwen3.5-9B" \
--host 0.0.0.0 \
--port 30000 \
--tp-size 2
使用 GGUF 量化版本(低显存场景):
bash
python3 -m sglang.launch_server \
--model-path "Smoffyy/Qwen3.5-9B-Instruct-Revised-GGUF" \
--host 0.0.0.0 \
--port 30000
限制上下文长度以节省显存:
bash
python3 -m sglang.launch_server \
--model-path "Qwen/Qwen3.5-9B" \
--host 0.0.0.0 \
--port 30000 \
--context-length 128000
Qwen3.5-9B 原生支持 262K 上下文,但将 --context-length 设为 128000 即可满足大多数场景,同时显著节省显存。
七、调用服务
SGLang 提供 OpenAI 兼容的 API 接口,可以使用 curl 或任何 OpenAI SDK 进行调用。
7.1 使用 curl 调用
对话补全(Chat Completions):
bash
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Qwen/Qwen3.5-9B",
"messages": [
{"role": "user", "content": "请介绍一下SGLang推理框架"}
]
}'
文本补全(Completions):
bash
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Qwen/Qwen3.5-9B",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.7
}'
多模态调用(图像理解):
Qwen3.5-9B 支持原生多模态能力,可以直接传入图像 URL:
bash
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Qwen/Qwen3.5-9B",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "请用一句话描述这张图片"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
]
}
]
}'
7.2 使用 Python SDK 调用
python
import openai
client = openai.Client(
base_url="http://localhost:30000/v1",
api_key="EMPTY" # SGLang 不需要 API Key
)
response = client.chat.completions.create(
model="Qwen/Qwen3.5-9B",
messages=[
{"role": "user", "content": "请介绍一下SGLang推理框架"}
],
temperature=0.7,
max_tokens=1024
)
print(response.choices[0].message.content)
八、性能优化建议
8.1 RadixAttention 前缀缓存
SGLang 的 RadixAttention 是其核心创新之一,利用空闲 GPU 内存缓存和重用前缀 KV Cache。当多个请求共享相同前缀(如系统提示词、文档、对话历史)时,只需计算一次,后续请求直接复用。
这一机制在 Agent 多轮对话、RAG 等场景中尤其有效,缓存命中率更高。
8.2 内存优化
- 调整
--mem-fraction-static:控制 KV Cache 池大小,默认值基于启发式算法自动设置 - 使用 Chunked Prefill :通过
--chunked-prefill-size控制预填充分块大小,如遇到 OOM 可尝试设为 4096 或 2048 - 禁用 CUDA Graph :如果遇到内存问题,可尝试
--disable-cuda-graph
8.3 并行策略
- 张量并行(TP) :通过
--tp-size将模型权重分布到多张 GPU - 数据并行(DP) :通过
--dp-size在高并发场景下提升吞吐量 - 专家并行(EP) :对于 MoE 模型,通过
--ep-size将专家分布到不同 GPU
8.4 推测解码
对于延迟敏感的场景,可以启用推测解码:
bash
python3 -m sglang.launch_server \
--model-path "Qwen/Qwen3.5-9B" \
--speculative-algorithm EAGLE3 \
--speculative-num-steps 3 \
--speculative-num-draft-tokens 4
九、常见问题排查
9.1 显存不足(OOM)
现象:启动时提示 CUDA Out of Memory
解决方案:
- 使用 GGUF 量化版本模型
- 限制上下文长度:
--context-length 64000 - 调整
--mem-fraction-static为更低值(如 0.6) - 使用
--chunked-prefill-size 2048
9.2 模型下载缓慢或失败
解决方案:
-
设置 Hugging Face 镜像源:
bashexport HF_ENDPOINT=https://hf-mirror.com -
提前手动下载模型到本地,使用
--model-path指定本地路径
9.3 端口被占用
解决方案 :更换 --port 参数为其他可用端口
9.4 多模态功能不生效
确认:
- 使用的是支持多模态的 Qwen3.5-9B 版本(非 Base 版本)
- 请求格式正确,使用
content数组包含image_url
十、总结
通过本文的完整指南,你应该已经能够在本地成功部署 Qwen3.5-9B 大模型。回顾整个流程:
-
Qwen3.5-9B 是一款性价比极高的 9B 参数 Dense 模型,性能媲美大10倍参数的模型,原生支持 262K 超长上下文和多模态理解
-
SGLang 是一款高性能推理框架,在部署 Qwen3.5 系列模型时,推理速度比 vLLM 快 3.1~5.3 倍,其 RadixAttention 机制通过前缀 KV Cache 复用大幅提升了多轮对话等场景的效率
-
部署门槛低:单张 24GB 显存的 GPU(如 RTX 4090)即可流畅运行 BF16 精度的 Qwen3.5-9B,使用 GGUF 量化后甚至可在 8GB 显存的 GPU 上运行
无论是用于本地开发测试、RAG 应用构建,还是作为企业级服务的推理后端,这套技术方案都能提供高效、稳定的模型服务能力。