一、引言
3月2日阿里通义千问团队在 X 平台正式发布了 Qwen3.5 小模型系列,覆盖 0.8B、2B、4B 和 9B 四个参数规格。引来马斯克大赞!。
马斯克也在该推文下评论称:「Impressive intelligence density」(令人印象深刻的智能密度)。
Qwen3.5 把“能在本地跑起来的小模型”做到了“又小又猛”,本文带你用 Ollama/vLLM/LMDeploy 在内网私有化部署跑通,并给出选型与避坑清单。
二、Qwen3.5 小模型核心能力速览
2.1 四款小模型参数与定位
- 0.8B / 2B:24 层结构,面向物联网设备、边缘端,甚至主流手机本地运行
- 4B:32 层结构,隐藏维度 2560,定位「多模态轻量智能体底座」,适合消费级 PC / 工作站
- 9B:32 层结构,隐藏维度 4096,FFN 12288,可在 Mac 等消费级硬件流畅运行
- 对标说明:9B 性能逼近 / 对标 120B 级别开源 ChatGPT 系列模型,但参数量只有约 1/13
2.2 关键评测指标与多模态能力
- 综合能力:9B 在 MMLU-Pro 上约 82.5 分,MMMU-Pro 70+,MathVision 78+
- 视觉能力:0.8B、2B 在 MathVista、OCRBench 等视觉基准上,远超同量级传统轻量多模态模型
- 多模态架构:采用「早期融合」训练机制,文本 + 图像 + 视频在底层统一建模,而不是给文本模型外挂视觉编码器
- 长上下文:全系列支持最长约 26 万 Token 的上下文窗口,适合长文档、代码库、日志分析等场景
2.3 架构特点与「小而强」的原因
- 混合注意力架构:门控增量网络(Gated DeltaNet)+ 稀疏 MoE,注意力层以 3:1 方式交替排列
- 按需激活:前向推理只激活与当前任务相关的子网络,而非全量计算,在保持效果的前提下降低算力和时延
- 思考/非思考双模式:在深度推理(思考模式)和快速响应(非思考模式)之间切换,兼顾体验和成本
2.4 开源生态与本地部署友好度
-
开放模型:已在 HuggingFace,ModelScope 等平台开放(含 0.8B/2B/4B/9B、Base / Chat、多模态等多个变体)
-
HuggingFace:
-
ModelScope:
-
- 推理生态:Ollama、vLLM、LMDeploy 等主流推理框架均已适配 Qwen3.5 系列
- 端侧场景:已有开发者在 iPhone、笔记本电脑等设备本地运行 Qwen3.5-2B 量化版本,实现实时视觉问答
三、为什么选择私有化部署?
- 省钱(可控)、数据不出域、性能与可用性可控。
- 适合:内网/合规行业、要接入业务数据、要稳定低延迟/可观测与运维的团队。
四、部署方案对比:vLLM vs LMDeploy vs Ollama
4.1 三大框架对比表
| 框架 | 最佳场景 | 性能优势 | 资源要求 | 部署复杂度 | 推荐指数 |
|---|---|---|---|---|---|
| vLLM | 高并发在线服务 | PagedAttention,吞吐量提升 24 倍 | 多 GPU 推荐 | 中等 | ⭐⭐⭐⭐⭐ |
| LMDeploy | 边缘设备/国产硬件 | W4A16 量化,显存降 90%+ | 昇腾 NPU/低端 GPU | 简单 | ⭐⭐⭐⭐ |
| Ollama | 本地开发/隐私敏感 | 极简启动,多模型切换 | CPU/低配GPU | 极简 | ⭐⭐⭐ |
4.2 详细对比分析
vLLM 优势:
- ✅ 推理速度最快(⭐⭐⭐⭐⭐)
- ✅ 支持动态批处理
- ✅ 多卡并行成熟
- ✅ OpenAI API 兼容
- ❌ 内存效率一般
- ❌ 量化支持有限
LMDeploy 优势:
- ✅ 内存效率最高(⭐⭐⭐⭐⭐)
- ✅ 量化支持完善(W4A16、KV8)
- ✅ 支持昇腾 NPU(国产硬件)
- ✅ 部署简单
- ❌ 推理速度略慢于 vLLM
Ollama 优势:
- ✅ 部署最简单
- ✅ 支持多模型切换(一张卡跑多个模型)
- ✅ 跨平台支持(macOS/Linux/Windows)
- ❌ 性能相对较弱
- ❌ 不适合高并发场景
4.3 选型建议
选择 vLLM 如果:
- 追求极致性能
- 高并发生产环境
- 多 GPU 资源充足
选择 LMDeploy 如果:
- 资源受限(显存/GPU)
- 需要量化优化
- 国产硬件环境(昇腾 NPU)
选择 Ollama 如果:
- 个人开发/测试
- 需要快速验证
- 多模型切换需求
五、环境准备与硬件要求
5.1 硬件要求
推荐配置:
- GPU:单卡 24GB+ 或多卡
- 内存:64GB+
- 存储:1TB NVMe SSD(便于多模型与多版本共存)
GPU 算力要求:
- vLLM:算力 7.0 及以上(V100、T4、RTX20xx、A100、L4、H100 等)
- LMDeploy:支持昇腾 NPU 或低端 GPU(通过量化)
5.2 软件环境
- 操作系统:Linux(Ubuntu 20.04+ / CentOS 7+)
- Python:3.9 - 3.12(vLLM 推荐 3.12,LMDeploy 推荐 3.11)
- CUDA:11.8+(vLLM 需 CUDA 12.4+)
- Conda:必需,用于环境隔离
5.3 我使用的配置
5.4 模型下载
- HuggingFace(官方集合页):huggingface.co/collections…
- 示例(2B):huggingface.co/Qwen/Qwen3.…
- Ollama 模型库:ollama.com/library/qwe…
- 模型大小说明:Qwen3.5 属于“小模型梯度”,单模型文件体积通常远小于超大模型;实际体积取决于 BF16/FP16、INT8、INT4(AWQ/GPTQ 等)与是否多模态等因素
六、方案一:vLLM 部署实战
6.1 环境安装
# 创建虚拟环境
conda create -n vllm python=3.12 -y
conda activate vllm
# 安装 vLLM
pip install vllm
# 或安装 PyTorch + vLLM(CUDA 12.4)
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
- 安装conda环境
- 安装vllm
vLLM 是一个高吞吐量且内存高效的 LLM 推理和服务引擎。 Qwen3.5 需要使用开源仓库主分支中的 vLLM,可在全新环境中通过以下命令安装:
uv pip install vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly
6.2 模型下载
#模型下载(从modelscope上复制SDK下载代码)
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3.5-2B',
cache_dir="/root/autodl-tmp/models")
print(f"模型下载到: {model_dir}")
- 模型下载
当然,你也可以从HuggingFace上下载。
6.3 启动服务
单卡部署:
vllm serve /root/autodl-tmp/models/Qwen/Qwen3___5-2B --port 8000
多卡并行:
vllm serve --model /root/autodl-tmp/models/Qwen/Qwen3.5-2B --port 8000 --
tensor-parallel-size 4
6.4 API 调用示例
- 代码示例:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1/",
api_key="EMPTY"
)
response = client.chat.completions.create(
model="qwen3.5-2b",
messages=[
{"role": "user", "content": "你好,请介绍一下你自己"}
],
temperature=1.0,
top_p=0.95,
top_k=40
)
print(response.choices[0].message.content)
七、方案二:LMDeploy 部署实战
7.1 环境安装
# 创建虚拟环境
conda create -n lmdeploy python=3.11 -y
conda activate lmdeploy
# 安装 LMDeploy
pip install lmdeploy[all]
# 昇腾环境需额外安装
pip install dlinfer-ascend
7.2 启动服务
lmdeploy serve api_server /root/autodl-tmp/models/Qwen/Qwen3___5-2B --server-port 23333
7.3 API 调用示例
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:23333/v1/",
api_key="suibianxie"
)
response = client.chat.completions.create(
model="/root/autodl-tmp/models/Qwen/Qwen3.5-2B",
messages=[
{"role": "user", "content": "你好,请介绍一下你自己"}
],
temperature=1.0,
top_p=0.95,
top_k=40
)
print(response.choices[0].message.content)
7.4 量化优化(显存受限时)
# 思路:优先用“量化版本”降低显存压力(不同项目支持的量化路线不同)
# - 若使用 LMDeploy 的量化/转换流程,可在 convert 阶段配置量化策略(示例写法以 LMDeploy 文档为准)
lmdeploy convert qwen3.5-2b \
Qwen/Qwen3.5-2B \
--dst-path /data/models/qwen3.5-2b-turbomind-int4 \
--quant-policy 4 \
--tp 1
八、推理参数配置
目标: 提供最佳实践参数
内容要点:
8.1 推荐参数
根据官方文档,推荐使用以下参数:
{
"temperature": 1.0,
"top_p": 0.95,
"top_k": 40,
"max_tokens": 2048
}
8.2 默认系统提示
You are a helpful assistant.
8.3 参数调优建议
- temperature:控制随机性(0.7-1.0 适合大多数场景)
- top_p:核采样,控制多样性
- top_k:限制候选 token 数量
九、总结与展望
9.1 核心要点回顾
- Qwen3.5 小模型的“智能密度”与端侧可用性
- vLLM 和 LMDeploy 的适用场景
- 完整的部署流程
9.2 选择建议总结
| 场景 | 推荐方案 |
|---|---|
| 高并发生产环境 | vLLM |
| 资源受限/量化需求 | LMDeploy |
| 快速验证/开发 | Ollama |
| 国产硬件环境 | LMDeploy + 昇腾 NPU |
9.3 下一步行动
- 评估硬件资源
- 选择部署框架
- 下载模型文件
- 按照指南部署
- 进行性能测试