2026 万亿参数开源模型自托管:别被激活参数骗了

加载日志显示“激活参数只有百亿级”,团队于是按百亿参数采购显存,模型却在初始化阶段直接 OOM。
最快的纠偏方法是:先按需要驻留的总权重做容量基线,再叠加量化元数据、KV Cache、运行时开销和副本冗余。 无法验证完整内存路径与稳定吞吐时,获胜者不是长期自建,而是 API 或限时云集群试跑。
这篇文章适合 3 类人:
- 因 Kimi K3、DeepSeek V4 激活参数较少,准备压低显存预算的平台工程师;
- 需要向管理层解释“计算量较低不等于部署规模较小”的 MLOps 负责人;
- 正在 API、短期验证和长期集群之间做选择的 AI Agent 团队。
先把“激活参数”与“显存需求”拆开
MoE 模型每个 Token 只经过部分专家。这个事实描述的是计算路径,不是权重存储策略。
以 Kimi K3 为例,官方仓库给出的总参数为 2.8T,激活参数为 104B,模型包含 896 个专家,每个 Token 选择 16 个专家,上下文长度为 1,048,576 Token。这些字段分别描述模型规模、单 Token 路径和上下文上限,不能互相替代。Kimi K3 官方模型仓库
DeepSeek V4 官方发布说明也同时列出不同版本的总参数与激活参数:V4 Pro 为 1.6T 总参数、49B 激活参数,V4 Flash 为 284B 总参数、13B 激活参数。这正好说明,激活参数少,并不意味着模型权重只有激活参数那么大。DeepSeek V4 官方发布说明
| 变量 | 它真正描述什么 | 能否直接替代显存预算 |
|---|---|---|
| 总参数 | 模型全部权重规模 | 作为权重驻留基线 |
| 激活参数 | 单个 Token 参与计算的参数规模 | ❌ 不能直接替代 |
| 权重驻留 | 当前推理进程需要保留的权重 | ✅ 必须核算 |
| KV Cache | 上下文与并发请求的缓存 | ✅ 必须核算 |
| 运行时内存 | 激活缓冲、通信、图执行和框架预留 | ✅ 必须核算 |
因此,MoE 模型显存应先看总权重是否需要驻留,再用激活参数判断计算和通信压力。如果只把 104B 或 49B 代入容量公式,预算从第一步就偏低。
低精度权重不是“每参数固定几字节”
常见的简化公式是:
理论权重基线 ≈ 总参数量 × 每参数字节数
这个公式有用,但只能作为第一层筛选。它没有覆盖分组缩放、量化元数据、未量化层、格式封装和加载阶段的临时缓冲。
Kimi K3 官方模型摘要写明采用 MXFP4 权重、MXFP8 激活。MXFP4 也不是简单把每个参数独立压成 4 bit。相关推理文档说明,MX 格式会按 32 个 K 维元素共享一个 FP8 指数缩放值,实际占用还会受缩放信息与实现方式影响。MXFP4 量化格式说明
这会带来 3 个直接后果:
- ✅ 文件体积接近理论值,不代表加载后显存也完全相同;
- ⚠️ 在线量化、离线量化和预量化权重可能使用不同的缩放结构;
- ❌ 没有确认推理引擎与硬件支持时,不能仅凭“FP4”或“FP8”判断节点数量。
在评估 Kimi K3、DeepSeek V4 时,工程团队至少要保存 4 份证据:官方模型卡、权重文件格式、推理框架量化说明、实际加载日志。缺少其中任何一项,最终容量只能写成典型区间,不能写成确定节点结论。
能装下权重,不等于服务能启动
很多失败部署发生在第二阶段:权重已经分片放进设备,但初始化执行空间或首个请求仍然 OOM。
运行时预算至少包括:
- KV Cache:上下文越长、并发越高,缓存增长越快;
- 激活缓冲区:Prefill 与 Decode 阶段都可能产生临时张量;
- 通信缓冲区:张量并行、流水线并行和专家并行需要额外空间;
- 图编译与执行空间:某些后端会在首次运行时申请额外内存;
- 框架预留:显存利用率参数不会等于“所有显存都能安全分给权重”。
因此,容量验证不能只问“模型文件多大”,而要先锁定:
- 最大上下文长度;
- 单请求输出上限;
- 峰值并发与平均并发;
- 是否启用连续批处理;
- 是否启用前缀缓存;
- 使用哪一个推理引擎及具体版本。
vLLM 的官方分布式部署文档会把 GPU KV Cache 容量和最大并发估算写入运行日志,并建议根据目标吞吐继续增加 GPU 或节点。这个日志比模型卡上的静态参数更接近可运行容量。vLLM 分布式推理说明
注意: 短上下文单请求通过,只能证明“这一组输入能启动”。它不能证明长上下文、多工具调用、并发 Agent 和失败重试仍然稳定。
单机试跑与多节点部署,各自会失败在哪里
单机试跑的优势是拓扑简单,排查路径短。缺点是设备显存上限很快成为硬约束,无法提前暴露跨节点通信和故障恢复问题。
多节点可以把权重切开,但不会自动带来可用吞吐。官方 vLLM 文档将多节点推理拆成张量并行与流水线并行,并明确要求所有节点使用一致的模型路径、Python 环境和运行配置;MoE 还可能需要针对专家层选择不同的并行策略。vLLM 多节点服务文档
实际决策中,增加节点后至少会新增这些成本:
- ❌ 节点之间的权重与激活通信;
- ❌ 专家路由带来的跨节点数据交换;
- ❌ 存储读取、容器启动和模型副本同步;
- ❌ 单节点故障导致整组服务降级;
- ❌ 网络、驱动、通信库和推理框架版本的联动排障。
所以,“总显存加起来够了”只能回答能否尝试启动,不能回答是否适合生产服务。若模型必须跨多个节点,吞吐、首 Token 延迟和故障恢复都必须进入验收,而不是等上线后再补测。
第一步:用真实 Agent 负载替代短提示
短提示测试最容易掩盖问题。一个 2K Token 的问答请求成功,并不能代表以下场景可持续:
- 长文档检索后再调用多个工具;
- Agent 连续保留多轮任务上下文;
- 多个请求同时进入 Prefill;
- 工具失败后自动重试;
- 峰值流量下出现缓存未命中。
测试样本应至少覆盖 4 类记录:
- 首 Token 延迟;
- Decode 阶段稳定吞吐;
- GPU 与主机内存峰值;
- 超时、OOM、通信错误和恢复时间。
对 Kimi K3 这类官方上下文上限达到 1M Token 的模型,不能把最大上下文当成默认测试值,也不能只测极短上下文。更稳妥的做法是根据 Agent 的真实输入分布,分别建立短、中、长 3 组负载,再观察上下文增长是否挤压并发容量。Kimi K3 官方技术信息
第二步:按清单决定继续、回退还是放弃
下面这份清单适合在采购节点或申请集群预算前执行:
- [ ] 已锁定具体模型版本、权重仓库和许可证;
- [ ] 已确认总参数、激活参数、权重精度和量化格式;
- [ ] 已确认推理框架、版本、硬件后端及支持状态;
- [ ] 已记录模型加载峰值,而不是只记录权重文件大小;
- [ ] 已固定最大上下文、输出长度、并发和批处理策略;
- [ ] 已完成短、中、长上下文三组真实 Agent 负载;
- [ ] 已记录首 Token 延迟、稳定吞吐和内存峰值;
- [ ] 已测试多工具调用、失败重试和服务重启;
- [ ] 已验证跨节点通信、存储读取和节点故障恢复;
- [ ] 已计算 API、限时集群和长期自建的责任边界;
- [ ] 已定义停止扩容的业务阈值,而不是无限增加节点。
判断规则可以压缩成 3 句:
- 权重加运行内存无法闭合:停止部署;
- 拓扑能启动,但稳定吞吐达不到业务要求:停止扩容;
- 利用率、版本复现和运维责任无法成立:回到 API 或双轨方案。
这也是“万亿参数开源模型自托管”真正的放弃线。它不是某个固定显存数字,而是证据链是否闭合。
API、限时集群与长期自建,应该怎样分工
API 适合需求还在变化、流量无法预测、团队没有多节点运维责任人的情况。它牺牲部分底层控制权,但能先验证 Agent 编排、工具调用和业务价值。
限时云集群适合已经确认模型能力,但缺少稳定硬件拓扑的团队。它的价值不只是“临时租 GPU”,而是用真实上下文、真实并发和真实失败重试,验证长期自托管是否值得。
长期自建适合模型版本稳定、负载长期存在、团队能承担驱动与推理框架升级,并且已经有可复现多节点验收记录的团队。若只是为了追逐一个新发布模型,采购集群通常早于业务证据成熟。
ProxyMac 更适合作为控制端、开发端或短期验证入口,而不是替代承载万亿参数权重的生产集群。通过ProxyMac 帮助中心先固定远程开发、测试和运维流程,再决定是否进入权重层云集群,会比一开始就承担多节点故障责任更稳妥。需要估算临时环境预算时,也可以对照ProxyMac 方案页面核对按需使用的边界。
如果当前方案是直接压低显存、依赖短提示试跑,再把结果外推到长上下文生产流量,常见缺点是容量预算偏低、跨节点瓶颈被隐藏、失败恢复无人负责。此时租用 ProxyMac 作为控制端和验证环境,先完成真实负载试跑,再决定 API、限时云集群或长期自建,通常比直接购买一套无法验收的集群更容易控制风险。