跳转到主要内容

Inference Optimization Lab · V1.0

推理性能优化交互实验室

先运行一个完整教学场景,再只改一个变量;页面把结论、证据、动作与不能断言的内容放在一起。

回到推理学习路线

01

先选一个完整场景

场景同时设置模型、工作负载、精度、并行和拓扑;它是教学起点,不是官方部署配置。

观察信号 提高 ISL 会推高上下文与 Prefill 工作;提高 KV hit 只削减可复用的 Prefill 工作。

这是参数代理 FLOPs 与 capability 下界,不是 TTFT。

当前判断

主要瓶颈

访存压力领先

这是版本化 capability 下的理论压力排序,不是实测延迟或 P95。

理论账本 含启发式估算 校准缺失

DP=1;当前单副本 rank map 为 4 ranks,TP 节点内,EP 节点内。

优先动作
先评估 FP8 或 W4 权重量化

权重驻留与每步权重读取的理论字节下降。

必须核对实际 kernel、scale、回退精度与质量;这是模型方向,不是实测收益;不能据此断言真实 P95、TPOT 或吞吐提升。
开始单变量实验

02

压力与显存账本

per-rank · 单副本
计算
41%

300 TFLOP/s(BF16)版本化 capability 下界。

访存
57%

2 TB/s HBM capability 下界。

通信
2%

TP 节点内 450 GB/s;EP 节点内 450 GB/s,EP 使用 DeepEP Normal(教学) 教学系数。 TP 节点内 450 GB/s;EP 节点内 450 GB/s,EP 使用 DeepEP LL(教学) 教学系数。

Prefill / Decode 分相

每一相独立判断,不把两条关键路径混在一起
PREFILL 计算压力领先
理论
计算 93%
访存 2%
通信 5%

关键资源理论下界 1.70 s

仿真参考 不可用 缺失

校准耗时 不可用 缺失

DECODE 访存压力领先
理论
计算 2%
访存 98%
通信 0%

关键资源理论下界 2.38 s

仿真参考 不可用 缺失

校准耗时 不可用 缺失

显存拆分

理论/估算分列,不补假 0
Weights 15.3 GiB 理论

BF16 payload + scale 元数据;Dense/共享参数按 TP、Expert 参数按 EP 切分。

GQA 64 层 2.06 GiB 理论

按逐层区间与输入 head 配置合计完整 KV;prefix hit 不自动释放活动页。

Activation 0.16 GiB 估算

按最多 2048 token chunk 与 8× hidden 工作集估算。

已建模合计 17.5 GiB 估算

仅合计已建模项;不含 allocator 碎片、CUDA graph、workspace 与通信 buffer。

仿真峰值 不可用 缺失

尚未导入仿真结果;实验室估算不会自动升级为仿真值。

校准峰值 不可用 缺失

未导入 benchmark/trace 样本,校准结果保持缺失。

Capability 余量 62.5 GiB 估算

已建模项占用低于 80 GiB capability;未计项仍可能导致 OOM。

03

这次结论覆盖到哪里

“部分覆盖”和“缺失”是结果的一部分;页面不会把未建模项补成 0。

已覆盖 权重驻留

按公开参数量、精度配方与 TP 计算;不包含加载器和对齐开销。

已覆盖 KV / 状态驻留

覆盖 MHA/GQA/MLA/GDN 的当前合同;不包含分页元数据与 allocator 开销。

部分覆盖 Activation 工作集

按 chunk 与 hidden 的教学倍数估算;不包含 kernel workspace、重叠 buffer 和 allocator 碎片。

部分覆盖 计算工作

按 active parameters 与 attention 面积生成 FLOPs 代理;不是逐算子 trace。

部分覆盖 TP / EP 通信

按 payload、placement、带宽与 backend 教学系数估算;不含拥塞和计算通信重叠。

缺失 生产延迟 / P95

队列、动态 batching、调度竞争和线上尾延迟未建模;必须由同场景实测提供。

A1

逐层执行账本

把全模型 active parameters 与参数驱动 FLOPs 按层区间分摊;用于解释工作落在哪些层,不是逐算子 trace。

1–64 · GQA 31.20B active P 2044.7 TFLOPs D 63.9 TFLOPs 估算

04

运行一个单变量实验

先冻结 A,再只改变当前步骤指定的一个变量;B 会即时显示同一套 Blog 公式下的账本变化。

尚未设置 A 基线

设置后,页面会即时显示 B 相对 A 的理论/估算变化。

引导实验 一次只改一个变量,接受结果后把 B 接成下一步的 A

先看并发工作集怎样吃掉容量,再区分精度字节,最后观察长输入对 Prefill 的压力。

  1. 01 容量斜率 只改 Batch,确认 KV 与 Activation 对并发工作集的敏感性。
  2. 02 字节配方 接受上一步场景后只改精度,区分权重与 KV 的压缩边界。
  3. 03 Prefill 压力 再次冻结场景后只改 ISL,观察上下文驻留和 Prefill 工作。

尚未开始;每一步都会重新冻结基线并锁定非目标输入。

单变量引导 锁住其他输入,只观察一个参数

只调整 Batch,观察 KV、Activation 与吞吐友好型工作集如何同步增长。

尚未开始;也可以继续使用普通 A/B 对照。

推荐实验档位
开始单变量实验后,这里会给出 2–3 个有意义的目标值。
等待冻结基线
账本 A B Δ 证据
设置 A 基线后显示对照。
继续理解变化
导出证据摘要

复制 A/B 变化、账本 Δ、建议、证据边界、场景 URL 与代码版本;不包含外部系统身份。

当前没有可导出的 A/B 变化。

A2

外部证据只做离线参考

Blog 与产品仿真独立运行;页面不调用产品 API,也不导入产品代码。用户可主动粘贴通用结果作参考。

L0 交互实验室

公式账本与参数敏感性

L1 仿真系统

算子成本与执行图

L2 Benchmark / Trace

同场景校准证据

L3 线上观测

P95 与调度效应,当前不建模

仿真状态 缺失 缺失

尚未导入仿真结果;实验室估算不会自动升级为仿真值。

尚未导入来源

A3

导入校准证据

引擎导出先经版本化 adapter 转换;模型、rank map、backend 与工作负载完全匹配后,样本才进入校准列。

校准状态 缺失 缺失

未导入 benchmark/trace 样本,校准结果保持缺失。

尚未导入来源

A4

MoE 通信 payload 与分相延迟曲线

同时展示 payload 和所选拓扑/backend 的教学级延迟估算;不是实测 collective 时间。

Dense 模型不适用;切换 MoE 预设后显示估算曲线。

05

下一步改什么

每条建议同时保留预期影响与不能据此断言的内容。

01

先评估 FP8 或 W4 权重量化

预期影响权重驻留与每步权重读取的理论字节下降。

证据边界必须核对实际 kernel、scale、回退精度与质量;这是模型方向,不是实测收益;不能据此断言真实 P95、TPOT 或吞吐提升。

02

在容量允许的前提下增大 Batch

预期影响同一份权重读取服务更多 token,decode 算术强度通常上升。

证据边界会增加 KV 与激活显存,并可能恶化排队尾延迟;需要同 SLO 实测。

03

复核当前 TP 是否过度切分

预期影响在显存允许时,减少 TP 可降低 collective。

证据边界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、任一侧缺失或输入非法时,相对变化保持不可比较;多参数同时变化时只陈述“这组输入差异对应这组账本变化”,不做单参数因果归因。

V1.0 用四个版本化教学场景作为起点,并把多个单变量实验串成一条主路径:每一步先审计变化清单,通过后才把 B 冻结成下一步 A。证据摘要与下载文件使用同一正文和非密码学内容指纹;分享 URL 只引用当前 Blog 场景和 capability/profile 版本,不编码 A/B、外部证据或产品身份。V0.7/V0.9/V0.10 旧链接必须先预览并确认,页面不会静默套用。

逐层执行合同

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 保持“不可比较”。

知识来源