300 TFLOP/s(BF16)版本化 capability 下界。
Inference Optimization Lab · V0.10
推理性能优化交互实验室
用单变量实验观察 per-rank 显存、计算、访存与通信压力怎样迁移;变化可继续追到知识文章,也可分享为纯前端场景。
主要瓶颈
访存压力领先
这是版本化 capability 下的理论压力排序,不是实测延迟或 P95。
DP=1;当前单副本 rank map 为 1 ranks,TP 节点内,EP 节点内。
02
压力与显存账本
2 TB/s HBM capability 下界。
TP=1 且无 EP,不需要跨 rank collective。
Prefill / Decode 分相
每一相独立判断,不把两条关键路径混在一起关键资源理论下界 6.82 s
仿真参考 不可用 缺失
校准耗时 不可用 缺失
关键资源理论下界 19.13 s
仿真参考 不可用 缺失
校准耗时 不可用 缺失
显存拆分
理论/估算分列,不补假 0BF16 payload + scale 元数据;Dense/共享参数按 TP、Expert 参数按 EP 切分。
按逐层区间与输入 head 配置合计完整 KV;prefix hit 不自动释放活动页。
按最多 2048 token chunk 与 8× hidden 工作集估算。
仅合计已建模项;不含 allocator 碎片、CUDA graph、workspace 与通信 buffer。
尚未导入仿真结果;实验室估算不会自动升级为仿真值。
未导入 benchmark/trace 样本,校准结果保持缺失。
已建模项占用低于 80 GiB capability;未计项仍可能导致 OOM。
03
逐层执行账本
把全模型 active parameters 与参数驱动 FLOPs 按层区间分摊;用于解释工作落在哪些层,不是逐算子 trace。
04
冻结 A,观察 B 为什么变化
先把当前参数设为 A,再继续调参;只比较同一套 Blog 公式下的账本变化,不调用外部系统。
设置后,页面会即时显示 B 相对 A 的理论/估算变化。
先看并发工作集怎样吃掉容量,再区分精度字节,最后观察长输入对 Prefill 的压力。
- 01 容量斜率 只改 Batch,确认 KV 与 Activation 对并发工作集的敏感性。
- 02 字节配方 接受上一步场景后只改精度,区分权重与 KV 的压缩边界。
- 03 Prefill 压力 再次冻结场景后只改 ISL,观察上下文驻留和 Prefill 工作。
尚未开始;每一步都会重新冻结基线并锁定非目标输入。
只调整 Batch,观察 KV、Activation 与吞吐友好型工作集如何同步增长。
尚未开始;也可以继续使用普通 A/B 对照。
| 账本 | A | B | Δ | 证据 |
|---|---|---|---|---|
| 设置 A 基线后显示对照。 | ||||
复制 A/B 变化、账本 Δ、建议、证据边界、场景 URL 与代码版本;不包含外部系统身份。
当前没有可导出的 A/B 变化。
05
外部证据只做离线参考
Blog 与产品仿真独立运行;页面不调用产品 API,也不导入产品代码。用户可主动粘贴通用结果作参考。
公式账本与参数敏感性
算子成本与执行图
同场景校准证据
P95 与调度效应,当前不建模
尚未导入仿真结果;实验室估算不会自动升级为仿真值。
尚未导入来源
06
导入校准证据
引擎导出先经版本化 adapter 转换;模型、rank map、backend 与工作负载完全匹配后,样本才进入校准列。
未导入 benchmark/trace 样本,校准结果保持缺失。
尚未导入来源
07
MoE 通信 payload 与分相延迟曲线
同时展示 payload 和所选拓扑/backend 的教学级延迟估算;不是实测 collective 时间。
Dense 模型不适用;切换 MoE 预设后显示估算曲线。
08
下一步改什么
每条建议同时保留预期影响与不能据此断言的内容。
先评估 FP8 或 W4 权重量化
预期影响权重驻留与每步权重读取的理论字节下降。
证据边界必须核对实际 kernel、scale、回退精度与质量;这是模型方向,不是实测收益;不能据此断言真实 P95、TPOT 或吞吐提升。
在容量允许的前提下增大 Batch
预期影响同一份权重读取服务更多 token,decode 算术强度通常上升。
证据边界会增加 KV 与激活显存,并可能恶化排队尾延迟;需要同 SLO 实测。
容量不足时再考虑增加 TP
预期影响降低单 rank 权重与 KV 容量压力。
证据边界TP 改变通信与 kernel shape,单卡账本不能证明端到端更快。
公式、假设与限制 为什么这样算,以及这些结果不能说明什么
最小数据契约
模型结构包含参数量、层数、hidden、head 与 MoE 信息;逐层架构合同用无重叠、无缺口的层区间覆盖整个模型。工作负载包含 Batch、ISL/OSL、精度、TP/DP/EP 与 KV hit。单个 DP 副本必须提供长度为 TP×EP(Dense 为 TP)的 rank-to-node 与 rank-to-rail 表;硬件、拓扑与映射 fingerprint 都进入校准身份。
显存公式
Weights/rank = dense_or_shared_params / TP + expert_params / EP MHA/GQA KV = matching_layers × elements_per_token × tokens × Batch × bytes / TP MLA cache ≈ MLA_layers × (latent_dim + rope_dim) × tokens × bytes / TP GDN state ≈ GDN_layers × hidden × (state_width + conv_width) × Batch × bytes / TP CSA/HCA cache ≈ Σlayer [window + ceil((tokens-window)/compress_ratio)] × entry_dim × Batch × bytes / TP Activation ≈ Batch × min(new_ISL, 2048) × hidden × 8 × activation_bytes / TP 各层区间分别计算后相加;MHA/GQA 是输入合同下的理论账本,MLA/GDN、CSA/HCA 和 Activation 使用显式结构参数,因此属于估算。DeepSeek-V4-Pro 的 CSA/HCA 只采用官方 config 中前 61 个主干层比例;末尾 MTP block 不计入主干层,Indexer cache 也尚未计入。总量不含 allocator 碎片、CUDA graph、kernel workspace 与通信 buffer。
压力公式
Prefill 非 Attention 工作近似按 1-h 缩放,causal attention 面积近似按 1-h² 缩放;decode 不应用 KV hit。两相的 FLOPs、权重/状态流量分别除以 capability;通信再按 placement 选择节点内或跨节点带宽,并应用所选 backend 的教学级移动倍率、效率和固定延迟。
MoE active FLOPs 暂以 max(TP, EP) 缩放。TP 与 EP group 从显式 rank map 中抽取;跨节点有效带宽按 group 实际使用的 rail 数乘以 profile 的单 rail 带宽。没有建模 rail 拥塞、NIC 亲和性或 overlap,backend 系数仍是可重复教学夹具。
A/B 对照合同
Δ = B − A Δ% = (B − A) / A A 与 B 都由同一个 Blog 计算函数重算,并主动移除外部仿真与校准值。A 为 0、任一侧缺失或输入非法时,相对变化保持不可比较;多参数同时变化时只陈述“这组输入差异对应这组账本变化”,不做单参数因果归因。
V0.10 教学路径把多个单变量实验串起来:每一步先审计变化清单,通过后才把 B 冻结成下一步 A。证据摘要与下载文件使用同一正文和非密码学内容指纹;分享 URL 只引用当前 Blog 场景和 capability/profile 版本,不编码 A/B、外部证据或产品身份。V0.7/V0.9 旧链接必须先预览并确认,页面不会静默套用。
逐层执行合同
segment_active_params = model_active_params × segment_layers / total_layers segment_FLOPs = 2 × segment_active_params × phase_tokens 该账本保持与全模型参数驱动 FLOPs 守恒,只回答工作按层数落在哪些区间。它没有 Attention、MLA、GDN 或 MoE 逐算子参数表,因此属于估算,不能当作 kernel trace。
实验室、仿真与实测的关系
实验室是独立的 L0 教学分析层:用透明公式快速比较参数方向。产品仿真是另一个独立的 L1 工程系统;两者不共享运行时代码,Blog 不调用其 API,也不要求两边数据互通。Benchmark/Trace 是 L2 校准层;线上 P95、队列、动态 batching、allocator 与 P/D 竞争属于 L3 观测层,当前页面不建模。
inference-lab-simulation-request/v0.5 是 Blog 自身的通用离线场景快照,不对应产品 API。inference-lab-simulation-result/v0.5 只接受用户主动粘贴的通用参考值;即使来源标记为 empirical、silicon 或 hybrid,也不能替代同场景实测校准。
校准合同
页面与 CLI adapter 接受 inference-lab-engine-export/v0.4,保留 engine name/version/run ID 后转换为 inference-lab-calibration/v0.4。模型、逐层架构、硬件、拓扑、world size、rank map、分相 backend、精度与工作负载必须完全一致。空模板不会被当作校准值。
明确不能断言
- 不能把理论压力份额当成 trace 时间占比、GPU 利用率或损失归因。
- 不能把理论字节下降宣传成真实 TTFT、TPOT、吞吐或 P95 收益。
- 不能把教学 backend 系数或跨节点估算称为特定框架、机器或网络的真实 collective 延迟。
- 不能把多 rail 带宽相加结果当作已验证的 NIC 利用率;真实 rail 冲突与 overlap 需要 trace 或 benchmark。
- 不能把按层数均分的 active parameters 当作真实逐层参数量或逐算子 FLOPs。
- 不能把“仿真请求可交接”当作仿真已经执行,也不能把单次仿真结果标成线上 P95。
- 不能把仿真系统内部 empirical/silicon 校准等同于当前部署、当前 workload 的 benchmark 校准。
- 不能由 checkpoint 精度标签推断实际 kernel、scale、回退精度或质量通过。
- 校准结果缺失时保持“缺失”,不显示为 0;Dense 的 EP 保持“不可比较”。