本文翻译自 Qwen3.5 - How to Run Locally Guide,原载于 Hacker News。
Qwen3.5 模型家族概览
Qwen3.5 是阿里巴巴最新发布的大语言模型系列,包含多种规格:
Medium 系列:
- Qwen3.5-35B-A3B
- Qwen3.5-27B
- Qwen3.5-122B-A10B
- Qwen3.5-397B-A17B
Small 系列:
- Qwen3.5-0.8B
- Qwen3.5-2B
- Qwen3.5-4B
- Qwen3.5-9B
这是一个多模态混合推理(Hybrid Reasoning)LLM 系列,在同级别模型中表现最强。主要特性包括:
- 支持 256K 上下文,可通过 YaRN 扩展至 1M
- 支持 201 种语言
- 具备 思考模式(Thinking) 和 非思考模式(Non-thinking)
- 在 Agentic 编码、视觉、对话和长上下文任务中表现出色
- 35B 和 27B 模型可在 22GB 内存 Mac 设备上运行
3 月 5 日更新:所有 GGUF 文件已更新,采用了改进的量化算法和新的 imatrix 数据,在对话、编码、长上下文和工具调用方面有显著提升。同时修复了工具调用的 chat template 问题。
硬件需求参考
| 模型规格 | 最低内存需求 |
|---|---|
| 0.8B / 2B | 4GB |
| 4B / 9B | 12GB |
| 27B | 18GB |
| 35B-A3B | 22GB |
| 122B-A10B | 70GB |
| 397B-A17B | 192-256GB |
在 27B 和 35B-A3B 之间选择时:如果你需要更高精度且设备内存有限,选 27B;如果追求更快推理速度,选 35B-A3B。
推理参数配置
Qwen3.5 作为混合推理模型,思考模式和非思考模式有不同的推荐参数设置:
思考模式(Thinking Mode)
通用任务:
temperature=1.0, top_p=0.95, top_k=20, min_p=0.0
presence_penalty=1.5, repetition_penalty=1.0
精确编码任务(如 WebDev):
temperature=0.6, top_p=0.95, top_k=20, min_p=0.0
presence_penalty=0.0, repetition_penalty=1.0
非思考模式(Instruct Mode)
通用任务:
temperature=0.7, top_p=0.8, top_k=20, min_p=0.0
presence_penalty=1.5, repetition_penalty=1.0
推理任务:
temperature=1.0, top_p=0.95, top_k=20, min_p=0.0
presence_penalty=1.5, repetition_penalty=1.0
禁用思考模式:
--chat-template-kwargs '{"enable_thinking":false}'
注意:Qwen3.5 Small 系列(0.8B、2B、4B、9B)默认禁用推理,需手动启用:
--chat-template-kwargs '{"enable_thinking":true}'
llama.cpp 部署指南
安装 llama.cpp
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
运行 Qwen3.5-35B-A3B(推荐入门选择)
思考模式 - 通用任务:
export LLAMA_CACHE="unsloth/Qwen3.5-35B-A3B-GGUF"
./llama.cpp/llama-cli \
-hf unsloth/Qwen3.5-35B-A3B-GGUF:UD-Q4_K_XL \
--ctx-size 16384 \
--temp 1.0 \
--top-p 0.95 \
--top-k 20 \
--min-p 0.00
非思考模式 - 通用任务:
export LLAMA_CACHE="unsloth/Qwen3.5-35B-A3B-GGUF"
./llama.cpp/llama-cli \
-hf unsloth/Qwen3.5-35B-A3B-GGUF:UD-Q4_K_XL \
--ctx-size 16384 \
--temp 0.7 \
--top-p 0.8 \
--top-k 20 \
--min-p 0.00 \
--chat-template-kwargs '{"enable_thinking":false}'
下载模型文件
pip install huggingface_hub hf_transfer
hf download unsloth/Qwen3.5-35B-A3B-GGUF \
--local-dir unsloth/Qwen3.5-35B-A3B-GGUF \
--include "*UD-Q4_K_XL*"
推荐至少使用 2-bit 动态量化 UD-Q2_K_XL 来平衡大小和精度。
本地对话运行
./llama.cpp/llama-cli \
--model unsloth/Qwen3.5-35B-A3B-GGUF/Qwen3.5-35B-A3B-UD-Q4_K_XL.gguf \
--mmproj unsloth/Qwen3.5-35B-A3B-GGUF/mmproj-F16.gguf \
--seed 3407 \
--temp 1.0 \
--top-p 0.95 \
--min-p 0.01 \
--top-k 40
Qwen3.5 Small 系列(轻量级选择)
Small 系列非常适合资源有限的设备,只需 12GB 内存即可运行接近全精度的 9B 模型。
启用思考模式(默认禁用):
export LLAMA_CACHE="unsloth/Qwen3.5-9B-GGUF"
./llama.cpp/llama-server \
-hf unsloth/Qwen3.5-9B-GGUF:UD-Q4_K_XL \
--ctx-size 16384 \
--temp 0.6 \
--top-p 0.95 \
--top-k 20 \
--min-p 0.00 \
--alias "unsloth/Qwen3.5-9B-GGUF" \
--port 8001 \
--chat-template-kwargs '{"enable_thinking":true}'
Qwen3.5-397B-A17B(旗舰级)
这是与 Gemini 3 Pro、Claude Opus 4.5 和 GPT-5.2 同级别的顶级模型。
部署选项:
- 3-bit:可在 192GB 内存系统上运行(如 192GB Mac)
- 4-bit (MXFP4):需要 256GB 内存,磁盘占用约 214GB,可直接在 256GB M3 Ultra 上运行
- 单 GPU + 系统内存:通过 MoE offloading,单张 24GB GPU + 256GB 系统内存可达 25+ tokens/s
LM Studio 图形界面
对于偏好图形界面的用户,可以使用 LM Studio:
- 下载并安装 LM Studio
- 在 Model Search 中搜索
unsloth/qwen3.5 - 下载所需的 GGUF 量化版本
启用思考开关:
lms get unsloth/qwen3.5-4b
这会下载一个 yaml 配置文件,启用 GGUF 的思考/非思考切换功能。
OpenAI 兼容 API 服务
使用 llama-server 部署 OpenAI 兼容的 API 服务:
./llama.cpp/llama-server \
--model unsloth/Qwen3.5-35B-A3B-GGUF/Qwen3.5-35B-A3B-UD-Q4_K_XL.gguf \
--mmproj unsloth/Qwen3.5-35B-A3B-GGUF/mmproj-F16.gguf \
--alias "unsloth/Qwen3.5-35B-A3B" \
--temp 0.6 \
--top-p 0.95 \
--ctx-size 16384 \
--top-k 20 \
--min-p 0.00 \
--port 8001
Python 调用示例:
from openai import OpenAI
openai_client = OpenAI(
base_url = "http://127.0.0.1:8001/v1",
api_key = "sk-no-key-required",
)
completion = openai_client.chat.completions.create(
model = "unsloth/Qwen3.5-35B-A3B",
messages = [{"role": "user", "content": "Create a Snake game."}],
)
print(completion.choices[0].message.content)
获取推理过程(Thinking):
print(completion.choices[0].message.reasoning_content)
性能基准测试
根据第三方测试者 Benjamin Marie 使用 Unsloth GGUF 对 Qwen3.5-397B-A17B 的 750 提示词混合测试(LiveCodeBench v6, MMLU Pro, GPQA, Math500):
| 量化版本 | 准确率 | 相对误差增加 |
|---|---|---|
| UD-Q4_K_XL | 80.5% | +4.3% |
| UD-Q3_K_XL | 80.7% | +3.5% |
两种量化方式的精度损失都控制在 1 个百分点以内,你可以根据需求选择:
- Q3:最小内存占用,最佳内存节省
- Q4:稍保守的选择,效果相当
注意事项
-
Ollama 兼容性:目前 Qwen3.5 GGUF 不支持 Ollama,因为需要单独的 mmproj vision 文件。请使用 llama.cpp 兼容的后端。
-
上下文长度:最大支持 262,144 tokens。如果输出乱码,检查上下文长度设置是否过低,或尝试
--cache-type-k bf16 --cache-type-v bf16。 -
输出长度:大多数查询建议使用 32,768 tokens。
总结
Qwen3.5 系列为本地部署大语言模型提供了丰富的选择:
- 入门级:Small 系列(0.8B-9B)适合轻量级应用和测试
- 中端:27B 和 35B-A3B 在性能和资源消耗间取得良好平衡,Mac 用户友好
- 高端:122B-A10B 需要专业级硬件
- 旗舰:397B-A17B 与顶级商业模型竞争,适合有高端硬件的研究者和开发者
Unsloth 的动态量化技术在保持精度的同时大幅降低了内存需求,让更多开发者能够在本地运行这些强大的模型。配合 llama.cpp 和 OpenAI 兼容的 API,你可以轻松将 Qwen3.5 集成到各种应用场景中。