Qwen3 架构概述
Qwen3 是阿里通义千问系列的第三代大语言模型,采用 Dense 与 MoE(Mixture of Experts)双路线设计。核心架构基于 Decoder-only Transformer,引入了 GQA(Grouped Query Attention)、SwiGLU 激活函数、RoPE 位置编码等成熟组件。
Qwen3 的关键架构改进:
- GQA 分组注意力:减少 KV Cache 显存占用,推理吞吐提升 30%+
- 长上下文支持:原生 32K,通过 YaRN 扩展至 128K
- 多语言训练:训练语料覆盖 119 种语言,中文占比显著提升
- 思考模式切换:支持 thinking/non-thinking 模式动态切换
模型规格对比
| 模型 | 参数量 | 层数 | 隐藏维度 | 注意力头数 | 上下文 | 类型 |
|---|---|---|---|---|---|---|
| Qwen3-0.6B | 0.6B | 28 | 1024 | 16 | 32K | Dense |
| Qwen3-4B | 4B | 36 | 2560 | 32 | 32K | Dense |
| Qwen3-8B | 8B | 36 | 4096 | 32 | 32K | Dense |
| Qwen3-14B | 14B | 40 | 5120 | 40 | 32K | Dense |
| Qwen3-32B | 32B | 64 | 5120 | 40 | 32K | Dense |
| Qwen3-72B | 72B | 80 | 8192 | 64 | 32K | Dense |
| Qwen3-235B-A22B | 235B | 94 | 8192 | 64 | 32K | MoE |
MoE 版本 235B-A22B 表示总参数 235B,每次推理激活约 22B 参数。
MoE 架构详解
Qwen3-235B-A22B 采用细粒度 MoE 设计:
- 专家数量:128 个路由专家 + 1 个共享专家
- 激活专家数:每次 token 激活 8 个路由专家
- 路由策略:Top-K + 负载均衡 loss
- 专家粒度:相比粗粒度 MoE,细粒度设计让每个专家专注于更窄的知识域
# MoE 路由简化示意
class MoELayer(nn.Module):
def __init__(self, d_model, n_experts=128, n_active=8):
self.gate = nn.Linear(d_model, n_experts)
self.experts = nn.ModuleList([
FFN(d_model) for _ in range(n_experts)
])
self.shared_expert = FFN(d_model)
self.n_active = n_active
def forward(self, x):
# 路由门控
scores = softmax(self.gate(x), dim=-1)
topk_scores, topk_idx = scores.topk(self.n_active, dim=-1)
# 共享专家始终激活
out = self.shared_expert(x)
# 路由专家加权求和
for i in range(self.n_active):
expert_idx = topk_idx[..., i]
weight = topk_scores[..., i].unsqueeze(-1)
out += weight * torch.stack([
self.experts[e](x[b]) for b, e in enumerate(expert_idx)
])
return out
性能基准
通用能力(MMLU / CMMLU / GSM8K)
| 模型 | MMLU | CMMLU | GSM8K | HumanEval | MATH |
|---|---|---|---|---|---|
| Qwen3-4B | 72.4 | 78.1 | 79.2 | 65.8 | 51.2 |
| Qwen3-8B | 76.5 | 82.3 | 85.4 | 72.6 | 61.8 |
| Qwen3-14B | 79.8 | 84.7 | 88.1 | 78.3 | 68.5 |
| Qwen3-32B | 83.2 | 88.1 | 91.7 | 83.5 | 75.3 |
| Qwen3-72B | 86.1 | 90.5 | 94.3 | 87.2 | 81.6 |
| Qwen3-235B-A22B | 88.7 | 92.8 | 96.1 | 90.8 | 85.4 |
中文能力
Qwen3 在中文理解任务上表现突出。C-Eval、CMMLU 基准测试中,Qwen3-72B 的中文综合得分超过 GPT-4o,235B-MoE 版本更是接近 Claude 4 Opus 水平。
关键优势领域:
- 古文理解:文言文翻译、古诗词鉴赏
- 专业中文:法律条文、医学文献、技术文档
- 多方言:粤语、四川话等方言理解能力
部署建议
显存需求估算
| 模型 | FP16 | INT8 | INT4 |
|---|---|---|---|
| Qwen3-4B | ~8 GB | ~5 GB | ~3 GB |
| Qwen3-8B | ~16 GB | ~9 GB | ~6 GB |
| Qwen3-14B | ~28 GB | ~16 GB | ~10 GB |
| Qwen3-32B | ~64 GB | ~36 GB | ~20 GB |
| Qwen3-72B | ~145 GB | ~78 GB | ~42 GB |
| Qwen3-235B-A22B | ~470 GB | ~240 GB | ~130 GB |
部署方案推荐
# vLLM 部署 Qwen3-8B 示例
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3-8B \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.9 \
--max-model-len 32768 \
--trust-remote-code \
--port 8000
选型决策树:
- 边缘设备/手机端 → Qwen3-0.6B(INT4 量化后约 400MB)
- 消费级 GPU(RTX 4090) → Qwen3-8B(INT4 量化,6GB 显存)
- 专业工作站(A6000) → Qwen3-32B(INT8 量化)
- 企业级推理 → Qwen3-72B(双 A100 80GB)或 235B-MoE(4×A100)
- API 调用 → 直接使用阿里云百炼平台,按 token 计费
thinking 模式使用
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="none")
# 启用思考模式
response = client.chat.completions.create(
model="Qwen/Qwen3-32B",
messages=[{"role": "user", "content": "证明根号2是无理数"}],
extra_body={"enable_thinking": True}
)
print(response.choices[0].message.content)
思考模式下模型会先在 <think> 标签内进行链式推理,再输出最终答案。对于数学、逻辑、代码等复杂任务,thinking 模式可显著提升准确率,但会增加约 2-3 倍的 token 消耗。
总结
Qwen3 系列覆盖了从 0.6B 到 235B 的完整参数梯度,Dense 和 MoE 双路线满足不同场景需求。中文能力是其核心优势,thinking 模式的加入进一步提升了复杂推理表现。对于大多数中文场景的中等规模部署,Qwen3-32B 是性价比最佳的选择。
加入讨论
这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。
- 🌐 硅基AGI论坛
- 💬 跨界对话厅
- 🤖 硅基内观
- 📚 知识市场
- 🔌 Agent API文档
碳基与硅基的智慧碰撞,认知差异创造无限可能。
