Qwen3-235B-A22B 部署硬件需求指南:从 2 张 80GB 到 8 卡集群怎么配
Qwen3-235B-A22B 部署硬件需求指南:从 2 张 80GB 到 8 卡集群怎么配
【免费下载链接】Qwen3-235B-A22BQwen3-235B-A22B 具有以下特点: 类型:因果语言模型 训练阶段:预训练与后训练 参数数量:总计 235B,激活 22B 参数数量(非嵌入):234B 层数:94 注意力头数(GQA):Q 为 64,KV 为 4 专家数:128 激活的专家数:8 上下文长度:本地为 32,768,使用 YaRN 可处理 131,072 个标记。项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-235B-A22B
你要在自有机房或云主机上跑 Qwen3-235B-A22B 的本地推理服务,但不确定要买几张卡、多少显存、什么精度。本文围绕这台 235B 总参数、22B 激活参数的 MoE(混合专家)模型,给出从参数推导显存与算力的方法、三档可落地配置、最小启动步骤和验收指标,以及排错路径。
先把场景说清楚:在自有机房跑 Qwen3-235B-A22B
一句话结论:显存由全部 235B 参数决定,算力由 22B 激活参数决定,所以采购时先看显存够不够,再看算力跑得快不快。
典型场景是团队内部要部署一个支持长上下文、能并发的对话/Agent 服务,模型权重就放在本仓库(即一份完整的 checkpoint 目录)。这里的关键是 MoE 的特性:128 个专家、每 token 只激活 8 个,路由省的是计算,不省存储——所有专家权重都必须常驻显存。
核心结论:235B 权重必须整体装入显存,22B 激活参数决定每个 token 的解码带宽。两者是两笔独立的账。
这意味着你不能用"激活参数小"来低估显存。下面把这两笔账拆开算。
显存和算力怎么算:从 235B/22B 参数推导资源占用
测算方法是先定精度、再算权重、最后加 KV 缓存;算力单独按激活参数估。config.json 里能看到num_hidden_layers=94、num_attention_heads=64、num_key_value_heads=4、hidden_size=4096、num_experts=128、num_experts_per_tok=8。
权重占用:235B 乘以每个参数的字节数
权重显存 ≈ 参数量 × 精度字节数。235B 在 BF16 下约 470 GB,INT8 约 235 GB,Q4(4~5 bit 的 GGUF 量化)约 120~140 GB。这是不压缩、必须常驻的下限,选配置时先保证它装得下。
KV 缓存随上下文线性增长
KV 缓存每 token 每层 = 2 × 4 个 KV 头 × 128 维 × 2 字节 ≈ 2 KB,乘 94 层约 0.18 MB/token。单条 32,768 token 的会话约 6.3 GB;用 YaRN 扩到 131,072 token 时约 25 GB/条。并发越多、上下文越长,这块涨得越快,是长上下文场景的主要增量。
解码带宽看 22B 激活参数
解码每生成一个 token,需要从显存读出约 22B 激活参数(BF16 约 44 GB)。所以解码速度 ≈ 聚合显存带宽 ÷ 每 token 读出的字节数,是带宽受限而非算力受限。这也是为什么卡间互联(NVLink)和 HBM 带宽比纯算力更影响体感速度。
三档可选配置:最低可行、均衡推荐、生产级
下面三档都以"权重装得下 + 留出 KV 与激活缓冲"为原则,按预算从低到高排。
| 档位 | 硬件 | 总显存 | 精度 | 上下文/并发 | 适用边界 |
|---|---|---|---|---|---|
| 最低可行 | 2× 80GB(A100/H100) | 160GB | Q4 GGUF | ≤8K,单流 | 个人/实验,验证功能 |
| 均衡推荐 | 4× 80GB | 320GB | INT8 | 16~32K,低并发 | 团队内部服务 |
| 生产级 | 8× 80GB + NVLink | 640GB | BF16 | 32K+,多并发 | 对外长期服务 |
- 最低可行:2×80GB 装 Q4(约 130GB 权重),上下文压到 8K 以内、单流对话,解码约个位数到十几 tok/s。适合先跑通、不追求吞吐。
- 均衡推荐:4×80GB 跑 INT8(约 235GB 权重 + KV),TP=4,单流解码约 10~20 tok/s,是性价比拐点。
- 生产级:8×80GB 带 NVLink 跑 BF16(约 470GB 权重),TP=8,留约 170GB 给长上下文与多并发,延迟和稳定性最好。
跑起来怎么算成功:最小启动步骤与验收指标
先拉权重、起服务,再逐条打验收指标。下面每条都给出"怎么算通过"。
先把权重下载到本地(本仓库就是完整 checkpoint):
git clone https://gitcode.com/hf_mirrors/Qwen/Qwen3-235B-A22B cd Qwen3-235B-A22B8 卡起一个 OpenAI 兼容服务(BF16、TP=8),这条命令解决"把模型真正跑起来"的问题:
vllm serve . --tensor-parallel-size 8 --dtype bfloat16验收按顺序做四件事:
nvidia-smi确认 8 卡显存被均匀占用且模型常驻,无卡闲置。- 单条短输入生成,记录首 token 延迟(prefill)与解码 tok/s(decode)两个数。
- 把单条输入拉到 32K token,确认不 OOM、解码速度下降在可接受范围。
- 压 4~8 路并发,看总吞吐与 P99 延迟是否满足业务。
判定标准:单流解码 tok/s 落在该档位预期区间、长上下文不 OOM、并发下 P99 稳定,即视为部署成功。
参考量级(随输入长度与并发变化):最低可行档个位数~十几 tok/s,均衡档 10~20 tok/s,生产档单流 20~40 tok/s。
跑不顺时按症状排查
排错按"症状 → 原因 → 对策"走,大多数卡在这五类里。
| 症状 | 可能原因 | 对策 |
|---|---|---|
| 加载即 OOM | 上下文或并发过大 / 精度太高 | 调小max-model-len、降并发,或换 Q4 |
KeyError: 'qwen3_moe' | transformers 版本过旧 | 升级到 ≥ 4.51.0 |
| 解码明显偏慢 | 单节点 PCIe 受限 / TP 过高 | 降低 TP、改走 NVLink 互联 |
| 输出重复、质量退化 | 用了贪心解码 | 按 best practice 用采样参数 |
| 长文本报错/告警 | 未启用 YaRN 或 factor 不对 | 按需加rope_scaling设 factor |
采样参数别用错:思考模式用Temperature=0.6, TopP=0.95, TopK=20,不要用贪心解码;非思考模式用Temperature=0.7, TopP=0.8, TopK=20。详见 README.md 的 Best Practices 一节。
一页决策表与下一步
按场景对号入座,避免过度采购。
| 你的场景 | 推荐档位 | 一句话理由 |
|---|---|---|
| 个人先验证能不能跑 | 2×80GB + Q4 | 先跑通功能,不为吞吐买单 |
| 团队内部低并发服务 | 4×80GB + INT8 | 精度/成本/速度平衡点 |
| 对外长期多并发 | 8×80GB + BF16 | 稳定 + 长上下文 + 吞吐 |
下一步可以做的事:
- 用"权重 + KV"两笔账,把目标上下文与并发代进去,算出你的最低显存。
- 先按最低可行档跑通,再按预算上探均衡档,不要一步到位买 8 卡。
- 上长上下文前,按需加 YaRN 并设好
factor,避免短文本性能受损。 - 部署后固定记录 tok/s、P99、显存水位三项,作为后续扩容基线。
【免费下载链接】Qwen3-235B-A22BQwen3-235B-A22B 具有以下特点: 类型:因果语言模型 训练阶段:预训练与后训练 参数数量:总计 235B,激活 22B 参数数量(非嵌入):234B 层数:94 注意力头数(GQA):Q 为 64,KV 为 4 专家数:128 激活的专家数:8 上下文长度:本地为 32,768,使用 YaRN 可处理 131,072 个标记。项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-235B-A22B
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考