Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions knowledge/repos/vllm-omni/models/cosmos3/rules.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: "Cosmos3 规则"
created: 2026-07-20
updated: 2026-10-11
updated: 2026-10-23
type: rule
tags: [vllm-omni, models, diffusion]
sources: ["PR #4657", "PR #5001", "PR #5634", "PR #6049", docs/features/session_state_manager.md, recipes/cosmos3/Cosmos3-Nano.md, vllm_omni/diffusion/models/cosmos3/, vllm_omni/model_extras/cosmos3.py, vllm_omni/model_extras/registry.py, vllm_omni/experimental/world_models/adapters/state_cosmos3_adapter.py, vllm_omni/platforms/rocm/platform.py, tests/diffusion/models/cosmos3/test_session_memory_equivalence.py, tests/diffusion/models/cosmos3/test_cosmos3_pipeline.py, "PR #6107", "PR #5614", "PR #6325", "PR #6913", "PR #6920", "PR #7427", "PR #7971", "PR #7592", "PR #5712"]
sources: ["PR #4657", "PR #5001", "PR #5634", "PR #6049", docs/features/session_state_manager.md, recipes/cosmos3/Cosmos3-Nano.md, vllm_omni/diffusion/models/cosmos3/, vllm_omni/model_extras/cosmos3.py, vllm_omni/model_extras/registry.py, vllm_omni/experimental/world_models/adapters/state_cosmos3_adapter.py, vllm_omni/platforms/rocm/platform.py, tests/diffusion/models/cosmos3/test_session_memory_equivalence.py, tests/diffusion/models/cosmos3/test_cosmos3_pipeline.py, "PR #6107", "PR #5614", "PR #6325", "PR #6913", "PR #6920", "PR #7427", "PR #7971", "PR #7592", "PR #5712", "PR #9304"]
confidence: high
---

Expand Down Expand Up @@ -191,3 +191,12 @@ confidence: high
- 验收:参数化覆盖 fp16/bf16/fp32 × CPU/CUDA display-byte parity(含 bf16 舍入边界与饱和值)、chunk 边界(1 字节与 64 MiB)、guardrail 输入与修改输出的全字节、`output_type` 全集、aux payload IPC round-trip、offload gate、插值与初期/后期 OOM 回退。对完全合规的输入(output rank、纯五维视频、无辅助输出、无 offload、无 guardrails、`output_type` 为 None/`"np"`)断言无论开关状态 `media` 均存在且初始 `prepared_for_transport` 为假,开关只决定 transport 准备后编码是否为 `UINT8_FRAMES`;对 guardrail、非 np output_type、offload、含辅助输出或非 output rank 的路径断言 `media` 为 None 并走 legacy 后处理。`check_video_safety` 无 guardrail 时返回原对象、有 guardrail 时保持输入/输出的 dtype/device 合同。^[PR #5712]

<!-- kb:rule status=active since=v0.30.0 -->

## VLLM-OMNI-PR9304-EDGE-PP-OWNERSHIP — Edge 权重校验必须从活模块读取 PP 归属

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use an auditable COSMOS rule ID

Rename this rule to an unused COSMOS-<number><letter> ID. This page explicitly declares that only IDs in that format are auditable, so VLLM-OMNI-PR9304-EDGE-PP-OWNERSHIP cannot be referenced or counted as a structured Cosmos3 rule and must otherwise be treated as legacy-unstructured knowledge.

Useful? React with 👍 / 👎.


- 触发:修改 `vllm_omni/diffusion/models/cosmos3/transformer_cosmos3_edge.py` 的 `validate_loaded_weights` 或 `_weight_marker_is_pp_missing`,或在仓库模型代码中引入上游 `is_pp_missing_parameter` 的权重归属判定。
Comment on lines +195 to +197

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add the PP-weight trigger to the Cosmos3 index

This adds a new Edge PP weight-validation rule without updating the nearest _index.md, leaving the owner overview and its “when to check here” section stale for this trigger. Update that index in the same change so readers entering through the documented owner-navigation path can discover the new rule.

AGENTS.md reference: knowledge/AGENTS.md:L12-L12

Useful? React with 👍 / 👎.

- 强制:marker 是否被跳过必须由本 rank 的活模块决定:`language_model.*` 直接 `isinstance(self.language_model, PPMissingLayer)`;`gen_layers.{i}.*` 检查对应 GEN slot 模块本身(UND backbone 是单一模块、只在第一个 PP stage;每个 GEN slot 是独立模块);其余 marker 不跳过,本 rank 拥有的 marker 缺失仍必须报错。机制事实:上游 `is_pp_missing_parameter` 把缺失层名缓存在按 `id(model)` 键控且从不清理的 `_model_to_pp_missing_layer_names`,对象 id 复用会让陈旧空缓存把活 `PPMissingLayer` 报为已加载(AMD CI build 14498 即因此漏报 `gen_layers.1`)。上游 vLLM 保持不动,也不得 vendoring 该 helper。
- 禁止:以该 id 键控缓存的返回值决定 marker 归属;在测试中真实写入该进程级全局缓存来构造失败(同一失败会泄漏进后续测试);借修复放宽本 rank 拥有 layer 的必需 marker。
- 验收:测试以 `monkeypatch.setattr(model_utils, "get_pp_missing_layer_names", lambda _model: [])` 模拟陈旧缓存查找,断言 PP-missing marker 被跳过、`relu2` 等必需 marker 缺失时 `validate_loaded_weights` 仍 fail,且未污染全局缓存;PR 的通过证据是本地 CPU 运行(需预载 cosmos3 包命名空间绕过 API server import),AMD CI 未复跑,不得据此声称真实多 stage PP parity。^[PR #9304]

<!-- kb:rule status=active since=v0.30.0 -->
Loading