追求极致:当 4 张 3090 遇上 Qwen3 MoE

在本地部署大模型的道路上,显存容量决定了“深度”,而架构设计决定了“速度”。最近我将本地环境升级到了 4x RTX 3090 (96GB VRAM),并部署了 Qwen3-Coder-30B-A3B-Instruct-Q8。以下是针对 32k 到 128k 上下文的真实性能压测报告。

1. 模型架构:A3B 的魔力

Qwen3-Coder-30B 采用了 Mixture of Experts (MoE) 架构。虽然它有 30B 的总参数量确保了逻辑深度,但推理时仅激活 3B 参数。这使得它在处理大规模代码理解时,响应速度甚至超越了许多 14B 的稠密模型。

2. 内存与性能矩阵

通过(4 并发)实测,数据如下:

上下文长度 显存占用 峰值 Total TPS 首字延迟 (Hot) 生产力评价
32k 46 GB 141.91 tokens/s 0.38s 极速补全,几乎瞬发
64k 59 GB 133.27 tokens/s 0.41s 平衡点,适合中型项目
128k 87 GB 132.59 tokens/s 0.46s 究极体:Repo-level 级理解

3. 关键洞察:128k 为什么不掉速?

传统的 Dense(稠密)模型在上下文增加时,计算压力会显著增大。但在本次 128k 压测中,TPS 仅从 141 跌落至 132,损耗极小。

  1. 显存完全覆盖:87GB 的占用完美落在 96GB 的物理上限内,避免了任何系统交换(Swap)导致的卡顿。
  2. KV Cache 效率:Q8 量化下的 KV Cache 虽然巨大(约 56GB),但由于 4 卡并行带宽极高,注意力机制的计算开销被有效摊平。
  3. 冷启动 vs 热启动:实测显示冷启动(加载模型)需要约 45 秒,但一旦热身完成,TTFT 稳定在 0.4s 级别。

4. 最终配置建议 (4x 3090 用户)

如果你的显存超过 80GB,不要犹豫,直接锁死 128k

1
2
3
4
5
6
7
8
# 环境变量
export OLLAMA_NUM_PARALLEL=4
export OLLAMA_FLASH_ATTENTION=1

# Modelfile 核心参数
PARAMETER num_ctx 131072
PARAMETER temperature 0.1

128k 带来的“长效记忆”是编程 AI 的终极杀手锏。在本地算力的支撑下,我们终于告别了云端模型的 Token 焦虑。