Repository navigation
knowledge: daily intake batch 21 #175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -72,3 +72,10 @@ confidence: high | |
| determinism 或 eager 数值等价证明。 | ||
| - 验收:产物能追溯各 arm 的真实 source/config/environment,报告候选差值和控制漂移; | ||
| 稳态统计可从相同筛选重算,正确性另由对应 parity 测试支持。 ^[PR #7648] | ||
|
|
||
| ## BENCH-1g — duplex/eval 媒体解码必须用捆绑 PyAV,不得依赖 host ffmpeg | ||
|
|
||
| - 触发:修改 `omni-duplex-eval` 或同类 benchmark 的视频时长、帧抽取、音频 PCM 解码,或重新引入 `ffmpeg`/`ffprobe` subprocess。 | ||
| - 强制:媒体路径经 PyAV(`av`)打开/seek/decode/resample;结果不得依赖主机安装的 ffmpeg 版本。帧抽取语义对齐“首个 PTS ≥ 目标时刻”;非 WAV 音频经 `AudioResampler` 并在循环后 `resample(None)` flush 尾部样本。 | ||
| - 禁止:`subprocess` 调用 host `ffmpeg`/`ffprobe` 作为默认路径;把“本机 ffmpeg 能跑”当作可复现证据;在已知会挂起的旧 HEVC decoder 上无超时地阻塞 generate 阶段。 | ||
| - 验收:覆盖 duration/JPEG/PCM 合同与失败 raise;至少用曾触发 host ffmpeg 4.4.2 挂起的样本证明不再无限忙等。^[PR #7504] | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This rule introduces PR #7504 as its evidence, but the page's Useful? React with 👍 / 👎. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| --- | ||
| title: "运行时热路径合同" | ||
| created: 2026-09-04 | ||
| updated: 2026-09-08 | ||
| updated: 2026-09-21 | ||
| type: rule | ||
| tags: [vllm-omni, components, model-executor] | ||
| sources: ["PR #4765", "PR #5068", "PR #5174", "PR #5666", vllm_omni/worker/, "PR #5452", "vllm_omni/worker/sparse_audio.py", "vllm_omni/worker/sampling_utils.py", "PR #5048", "PR #6424", "PR #6454", vllm_omni/data_entry_keys.py, "vllm_omni/model_executor/models/cosyvoice3/cosyvoice3.py", "vllm_omni/model_executor/models/cosyvoice3/code2wav_core/hifigan.py", "vllm_omni/model_executor/stage_input_processors/cosyvoice3.py", "PR #6458", "PR #6317", "PR #7136"] | ||
|
|
@@ -101,3 +101,10 @@ confidence: high | |
| - 强制:上述字段为 Python `int`/`bool`,按真实 prompt 进度逐行生产。长度为 1 的 **prefill** 行(含 chunked prefill 的最后一 token)必须保留 preprocess embedding,且不得进入 runner-managed MTP;只有单 token **decode** 行才可走 MTP。out-of-tree 模型虽见下划线前缀,仍按公开 contract 消费。 | ||
| - 禁止:用当前 span 长度把 one-token prefill 当成 decode;只在模型 helper 手喂 metadata 却不测 runner producer;或把该合同当成已为所有模型开启 chunked prefill。 | ||
| - 验收:直接调用生产 `_preprocess`,在 mixed batch 中对照应/不应进入 MTP 的行,覆盖单 token prompt/tail、cached progress、normal/batched hooks;真实权重 E2E 至少锁一条 one-token prefill tail。^[PR #7136] | ||
|
|
||
| ## EXEC-11i — 请求 seed 必须驱动模型内 CFM/噪声流,且与 batch 位置无关 | ||
|
|
||
| - 触发:TTS/talker 在 `forward()` 内绘制 CFM、flow-matching 或同类噪声,且公开协议声称 `seed` 可复现;修改 `_omni_seed`、`SamplingParams.seed`、per-request `torch.Generator` 或 `deterministic_cfm_noise`。 | ||
| - 强制:`SamplingParams.seed` 到达 vLLM sampler 不等于到达模型内噪声点。有 seed 的请求必须在首次 prefill 从 runner 的 `_omni_seed` 构造请求私有 `Generator`,并在每个噪声 fill 站点(eager、cuda-graph、batched prefill/decode、unified replay)对 shape `(1, …)` 的行切片使用该 generator。同 text+seed 的噪声流必须与 batch 组成、request id 无关;无 seed 保持全局 RNG;`deterministic_cfm_noise` 的 request-id 哈希只服务 replay,且请求 seed 优先。 | ||
|
Comment on lines
+105
to
+108
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
PR #7866 is explicitly a VoxCPM2 CFM-noise fix, as recorded in this commit's source-event metadata, but this rule is placed in the shared model-executor page and generalized to every TTS/talker. Because AGENTS.md reference: AGENTS.md:L12-L17 Useful? React with 👍 / 👎. |
||
| - 禁止:仅依赖 `SamplingParams.seed` 或全局 `normal_()` 宣称 speech seed 合同;用 request-id 哈希冒充用户 seed;让 seeded 行的噪声依赖同 batch 其他请求。 | ||
| - 验收:跨 request 同 seed 字节一致、异 seed 敏感、batch 位次无关、seed 优先于 replay 哈希;覆盖所有噪声站点。^[PR #7866] | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All eight appended rules introduce new trigger families, but this commit changes none of their nearest
_index.mdfiles; for example,benchmark/_index.md:24does not mention media decoding, PyAV, or host ffmpeg. Since these indexes are the routing surface, a review matching BENCH-1g can stop without discovering this page; update every affected nearest index to include its newly added rule family.AGENTS.md reference: AGENTS.md:L23-L24
Useful? React with 👍 / 👎.