Tools

Qwen3.6-35B-A3B 评测:3B 激活参数如何打赢 22B Dense 模型

5 min read ·

35B 参数只激活 3B,编码能力却打赢 22B dense 模型——Qwen3.6-35B-A3B 用事实证明了 MoE 架构在 agentic coding 场景下的巨大潜力。

模型规格速览

属性数值
总参数35B
激活参数3B
专家数量256
每 token 激活专家9
上下文长度128K
开源许可Apache 2.0
支持框架Transformers, vLLM
量化版本FP8 (GPTQ)
AMD GPU 支持MI300X, MI325X, MI350X, MI355X

256 选 9 的专家路由策略意味着每个 token 只激活约 3.5% 的专家参数,推理计算量与 3B dense 模型相当。但 35B 的总参数容量让模型能够存储远超 3B 的知识和能力——这正是 MoE 的核心优势。

MoE 架构解析:为什么 3B 能打赢 22B

传统 dense 模型的参数量直接等于计算量。一个 22B dense 模型处理每个 token 都需要 22B 参数参与前向计算。MoE 模型则不同——35B 参数分散在 256 个专家中,路由器根据输入 token 的语义特征动态选择最相关的 9 个专家。

这种设计带来了两个关键优势:

容量与计算解耦。 35B 的总参数意味着模型有足够的”存储空间”来学习不同编程语言、框架和编码模式。但每次推理只调用 3B 参数,推理速度和显存占用远低于同参数量的 dense 模型。

专家专业化。 训练过程中,不同的专家会自然分化,专注于不同的编码领域。比如部分专家擅长 Python 数据处理,部分专家擅长 TypeScript 类型系统,部分专家擅长 SQL 优化。路由器学会了为不同类型的 token 选择最合适的专家组合。

实际效果是:在 SWE-bench 这类需要理解整个代码仓库、进行多文件编辑的 benchmark 上,Qwen3.6-35B-A3B 的表现超越了 Qwen3.5-22B(dense),推理速度却快了约 5 倍。

编码能力评测

Qwen3.6-35B-A3B 的定位非常明确——agentic coding。以下是核心 benchmark 的表现:

BenchmarkQwen3.6-35B-A3BQwen3.5-22B提升
SWE-bench Verified42.8%36.2%+6.6
HumanEval91.4%87.6%+3.8
HumanEval+85.2%80.1%+5.1
MBPP88.7%84.3%+4.4
MultiPL-E (8语言均值)79.6%73.8%+5.8
Aider Polyglot68.3%59.7%+8.6

几个值得注意的点:

SWE-bench Verified 是最接近真实开发场景的 benchmark,要求模型理解 issue 描述、定位相关文件、生成正确的 patch。42.8% 的通过率在开源模型中属于第一梯队。

Aider Polyglot 测试多语言编码能力,8.6 个百分点的提升说明 256 专家的路由策略让不同编程语言有了更专业的专家分工。

工具调用稳定性也有明显改善。在 1000 次连续 tool calling 测试中,格式错误率从 Qwen3.5 的 3.2% 降到了 0.8%,这对 agentic coding 场景至关重要。

多模型对比

模型激活参数SWE-benchHumanEvalAider Polyglot推理速度 (tok/s)
Qwen3.6-35B-A3B3B42.8%91.4%68.3%~85
DeepSeek-V4-Lite3.5B41.2%90.1%65.7%~78
Gemma 4-12B12B38.5%89.3%62.1%~45
Qwen3.5-22B22B36.2%87.6%59.7%~18
DeepSeek-V428B48.6%93.2%72.4%~22
Claude Sonnet 4-52.1%94.8%76.2%API

对比分析:

vs DeepSeek-V4-Lite: 激活参数接近(3B vs 3.5B),编码 benchmark 互有胜负。DeepSeek-V4-Lite 在算法竞赛类题目上略强,Qwen3.6-35B-A3B 在工程编码和工具调用上更稳定。推理速度 Qwen3.6 略快,得益于更稀疏的专家激活策略。

vs Gemma 4-12B: Gemma 4 是 dense 模型,激活参数是 Qwen3.6 的 4 倍。但在所有编码 benchmark 上 Qwen3.6 都领先,证明了 MoE 架构在编码场景下的效率优势。Gemma 4 在单文件简单编码任务上表现不错,但多文件复杂场景差距明显。

vs Qwen3.5-22B: 同门对比最直观。激活参数从 22B 降到 3B,编码能力反而全面提升。这说明 256 专家的专业化分工比”一个大模型做所有事”更高效。

本地部署指南

vLLM 部署(推荐)

vLLM 是 Qwen3.6-35B-A3B 的首选推理框架,支持连续批处理和 PagedAttention,吞吐量最高。

# 安装 vLLM(需 0.8.0+)
pip install vllm>=0.8.0

# FP16 部署(需要约 18GB 显存)
vllm serve Qwen/Qwen3.6-35B-A3B \
  --tensor-parallel-size 1 \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.9

# FP8 量化部署(需要约 10GB 显存)
vllm serve Qwen/Qwen3.6-35B-A3B-FP8 \
  --tensor-parallel-size 1 \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.9 \
  --quantization fp8

启动后可通过 OpenAI 兼容 API 调用:

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="none")

response = client.chat.completions.create(
    model="Qwen/Qwen3.6-35B-A3B",
    messages=[
        {"role": "system", "content": "You are a coding assistant."},
        {"role": "user", "content": "Write a Python function to find the longest palindromic substring."}
    ],
    temperature=0.6,
    max_tokens=2048
)
print(response.choices[0].message.content)

Transformers 部署

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_name = "Qwen/Qwen3.6-35B-A3B"

tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True
)

messages = [
    {"role": "system", "content": "You are a helpful coding assistant."},
    {"role": "user", "content": "Implement a LRU cache in Python with O(1) get and put operations."}
]

text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer([text], return_tensors="pt").to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=2048,
    temperature=0.6,
    top_p=0.95
)

result = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(result)

AMD GPU 部署

AMD Instinct GPU 用户享有 Day 0 支持,ROCm + vLLM 可直接运行:

# ROCm 环境下安装 vLLM
pip install vllm>=0.8.0

# MI300X/MI325X/MI350X/MI355X 均支持
HIP_VISIBLE_DEVICES=0 vllm serve Qwen/Qwen3.6-35B-A3B \
  --tensor-parallel-size 1 \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.9

API 接入方式

不想本地部署?以下是主要的 API 接入方式:

通义千问 API(DashScope):

from openai import OpenAI

client = OpenAI(
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    api_key="your-dashscope-api-key"
)

response = client.chat.completions.create(
    model="qwen3.6-35b-a3b",
    messages=[
        {"role": "user", "content": "用 Python 实现一个简单的 LRU Cache"}
    ]
)

第三方平台: SiliconFire、Together AI、Fireworks AI 均在上线首日提供了 Qwen3.6-35B-A3B 的 API 服务,价格约为同性能 dense 模型的 1/3——这也体现了 MoE 的推理成本优势。

适用场景建议

最佳场景:

可以胜任但不是最优:

不太推荐:

Qwen3.6-35B-A3B 的出现标志着 MoE 架构在编码领域进入了实用阶段。3B 激活参数带来的推理效率优势,配合 35B 总参数的模型容量,让开发者在消费级硬件上就能获得接近大模型的编码体验。如果你的主力场景是 agentic coding,这可能是目前性价比最高的开源选择。

💡 Qwen3.6-35B-A3B 的 MoE 架构在 agentic coding 场景下实现了效率与能力的最佳平衡。 256 专家的专业化分工让 3B 激活参数在编码任务上超越了 22B dense 模型,推理速度提升约 5 倍。

Frequently asked questions

Qwen3.6-35B-A3B 的 MoE 架构具体是怎样的?
采用 256 个专家的稀疏 MoE 架构,每个 token 通过路由器选择 9 个专家激活。总参数 35B,但每个 token 只使用约 3B 参数参与计算。这意味着推理 FLOPS 与 3B dense 模型相当,但模型容量接近 35B。
和 Qwen3.5 相比有什么改进?
主要改进在三个方面:1) 编码能力显著提升,特别是多文件编辑和 agentic coding 场景;2) 工具调用(tool calling)更稳定,减少了格式错误;3) 长上下文处理效率提高,支持 128K context。架构从 Qwen3.5 的 MoE 升级到更稀疏的 256 专家配置。
本地部署需要什么硬件?
FP16 全精度需要约 18GB 显存(推荐 RTX 4090 或 A100)。FP8 量化版本只需约 10GB 显存,RTX 3090/4080 即可运行。使用 vLLM 推理框架可获得最佳吞吐量。AMD Instinct MI300X/MI325X 用户有 Day 0 优化支持。
Qwen3.6-35B-A3B 适合什么场景?
最适合 agentic coding——让 AI 操作 IDE、编辑多文件、运行测试。也适合代码审查、重构、自动化脚本生成。不太适合纯对话或创意写作——这些场景下 dense 模型如 Qwen3.6-Plus 表现更好。MoE 的优势在于编码等需要精确推理的任务。
和 DeepSeek-V4、Gemma 4 相比如何?
在编码 benchmark 上,Qwen3.6-35B-A3B 与 DeepSeek-V4-Lite(激活参数相近)互有胜负。DeepSeek-V4 在算法竞赛题上更强,Qwen3.6 在工程编码和工具调用上更稳定。Gemma 4 的 12B 版本在单文件编码上有优势,但多文件场景不如 Qwen3.6。