适配结论的工况绑定与可复现性判定
一次适配跑完,程序启动、模型出结果、没有报错,只说明这一次运行发生过,覆盖面仅限当次请求形态、上下文长度与软件栈版本。要让结论可复核、可复用,需把「它在什么条件下成立」写成字段。
「跑通」证明了什么
已证明:
- 这组软硬件组合、这批请求、这组采样参数下,程序给出过输出。
- 运行期间未触发报错分支。
未证明:
- 换请求形态仍成立:模板固定的 system prompt 加单轮短问题,与开放长文、多轮对话是不同负载。
- 长上下文仍成立:从 512 抬到 32K、128K 档,prefill 时长与 KV cache 占用都会变。
- 高并发仍成立:并发从 1 抬到
--max-num-seqs,显存预算与批处理构成都会变。 - 换软件栈版本仍成立:运行时版本、算子库、权重转换产物任一变化,结论都可能翻转。
- 全程功能正确:一次成功样例可能只绕开了尚未触发的分支。
工况维度与取值
「某模型在某平台上可用」丢掉了全部有用信息;同一模型、同一软件栈下,任一维度变化结论都可能翻转:
| 维度 | 取值区间或机制 |
|---|---|
| 请求形态 | 模板固定的 system prompt 加单轮短问题,与开放长文、多轮对话 |
| 上下文长度分布 | 512 / 2K / 32K / 128K 档及占比;512 与 128K 档的 prefill、KV cache 占用差一个量级以上 |
| 前缀复用程度 | 共享前缀 token 数占 prompt 的比例;模板固定时高,开放长文下趋近 0 |
| 输出长度分布 | decode 步数区间,如 1–64 步短答、512–2K 步长生成 |
| 并发与批次构成 | --max-num-seqs 并发上限、continuous batching 批构成;长短交错时同批填充开销不同 |
| 采样参数 | temperature / top_p / top_k / max_tokens;temperature 高时难命中 Speculative Decoding |
| 负载是否混合 | 纯短 / 纯长 / 长短交错;混合负载批内序列长度方差大,碎片形态不同 |
前缀复用的机制与命中条件
Prefix Caching 以块为单位复用:每个块由固定 block_size 个 token 的 id 序列算哈希,块级命中则整块 KV 复用。命中要求满块:参与复用的前缀长度须为 block_size 整数倍,末尾不满一块的部分不计入。block_size 决定粒度与元数据开销:取 16 命中更细、可复用尾段更长、元数据更多;取 32 元数据更省、颗粒更粗,尾部一段常被浪费。落入哈希的文本混进易变项会拉低命中率:时间戳、request id、随机化的 system prompt,或会话拼接顺序变化,都会让本应相同的块算出不同哈希。
一次运行被抬举成普遍结论的三个环节
- 单条样例代替负载:一个典型请求通过,就默认整套服务可用。
- 当时环境代替环境描述:没记运行时版本、算子库、权重转换产物,事后说不清结论来自哪个组合。
- 一次结果代替对照:没有开关两组、没有前后两组,只剩「开了之后更快」。
结论的字段化记录
结论落库时,把成立前提、适用工况、运行环境、证据、适用边界写成字段,运行环境写到整机规格粒度:
结论: <一句话裁决,含被优化的算子路径或开关>
成立前提:
前缀复用: 共享前缀 token 占 prompt 比例 >= <阈值>
请求模式: <模板固定 / 多轮对话 / 开放长文>
适用工况:
上下文长度: <512 / 2K / 32K / 128K 档及占比>
输出长度: <decode 步数区间>
并发: --max-num-seqs=<值>, continuous batching 批构成
采样: temperature=<值>, top_p=<值>, top_k=<值>, max_tokens=<值>
负载混合: <纯短 / 纯长 / 长短交错>
运行环境:
设备: **** 的 ****(8 卡,单卡 64GB HBM,卡间互联 392 GB/s)
软件栈: **** v<版本>
构建物: <权重转换产物 / 编译产物标识>
精度: <FP16 / BF16 / W8A8 / INT8 / FP8>
证据:
对照设置: <开关两组 / 前后两组>
观测项: <TTFT / TPOT / 吞吐 / 显存占用>
记录: <日志文件或指标路径>
适用边界:
外推: 离开上述工况不外推
已知失效条件: <列出>
外推的受控做法
工况边界写清后,外推有两种受控做法。在相近工况重复验证:把新工况关键维度(上下文档、并发、前缀复用比例)控制在与原结论相近范围内重测,得到同样裁决即可复用。声明新工况不在覆盖范围内:偏离较大时标注不在覆盖范围,单独记账。
小结
「跑通」是功能证据里最低的一层,可复现要求的是工况维度的明确覆盖。结论落库时把前提、工况、环境、证据、边界写成字段,他人才能判断自己的工况是否落在覆盖范围内。