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 的表现:
| Benchmark | Qwen3.6-35B-A3B | Qwen3.5-22B | 提升 |
|---|---|---|---|
| SWE-bench Verified | 42.8% | 36.2% | +6.6 |
| HumanEval | 91.4% | 87.6% | +3.8 |
| HumanEval+ | 85.2% | 80.1% | +5.1 |
| MBPP | 88.7% | 84.3% | +4.4 |
| MultiPL-E (8语言均值) | 79.6% | 73.8% | +5.8 |
| Aider Polyglot | 68.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-bench | HumanEval | Aider Polyglot | 推理速度 (tok/s) |
|---|---|---|---|---|---|
| Qwen3.6-35B-A3B | 3B | 42.8% | 91.4% | 68.3% | ~85 |
| DeepSeek-V4-Lite | 3.5B | 41.2% | 90.1% | 65.7% | ~78 |
| Gemma 4-12B | 12B | 38.5% | 89.3% | 62.1% | ~45 |
| Qwen3.5-22B | 22B | 36.2% | 87.6% | 59.7% | ~18 |
| DeepSeek-V4 | 28B | 48.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 的推理成本优势。
适用场景建议
最佳场景:
- Agentic coding:让 AI 操作 IDE、编辑多文件、运行测试、修复 bug
- 代码审查:理解大型 PR 的上下文,给出精准的 review 意见
- 重构:跨文件重命名、类型迁移、API 升级
- 自动化脚本生成:根据需求生成可直接运行的脚本
可以胜任但不是最优:
- 单文件编码任务(Gemma 4-12B 性价比更高)
- 算法竞赛题(DeepSeek-V4 系列更强)
不太推荐:
- 纯对话/聊天(dense 模型表现更好)
- 创意写作(MoE 的专家路由策略对创意任务帮助有限)
- 数学推理(需要激活更多参数的 dense 模型)
Qwen3.6-35B-A3B 的出现标志着 MoE 架构在编码领域进入了实用阶段。3B 激活参数带来的推理效率优势,配合 35B 总参数的模型容量,让开发者在消费级硬件上就能获得接近大模型的编码体验。如果你的主力场景是 agentic coding,这可能是目前性价比最高的开源选择。
💡 Qwen3.6-35B-A3B 的 MoE 架构在 agentic coding 场景下实现了效率与能力的最佳平衡。 256 专家的专业化分工让 3B 激活参数在编码任务上超越了 22B dense 模型,推理速度提升约 5 倍。