NEE's Blog

Qwen3.5 本地运行完全指南

March 08, 2026

本文翻译自 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:

  1. 下载并安装 LM Studio
  2. 在 Model Search 中搜索 unsloth/qwen3.5
  3. 下载所需的 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:稍保守的选择,效果相当

注意事项

  1. Ollama 兼容性:目前 Qwen3.5 GGUF 不支持 Ollama,因为需要单独的 mmproj vision 文件。请使用 llama.cpp 兼容的后端。

  2. 上下文长度:最大支持 262,144 tokens。如果输出乱码,检查上下文长度设置是否过低,或尝试 --cache-type-k bf16 --cache-type-v bf16

  3. 输出长度:大多数查询建议使用 32,768 tokens。

总结

Qwen3.5 系列为本地部署大语言模型提供了丰富的选择:

  • 入门级:Small 系列(0.8B-9B)适合轻量级应用和测试
  • 中端:27B 和 35B-A3B 在性能和资源消耗间取得良好平衡,Mac 用户友好
  • 高端:122B-A10B 需要专业级硬件
  • 旗舰:397B-A17B 与顶级商业模型竞争,适合有高端硬件的研究者和开发者

Unsloth 的动态量化技术在保持精度的同时大幅降低了内存需求,让更多开发者能够在本地运行这些强大的模型。配合 llama.cpp 和 OpenAI 兼容的 API,你可以轻松将 Qwen3.5 集成到各种应用场景中。

comments powered by Disqus