Skip to content

feat(dit4dit): add TurboPhysAI optimization support - #28

Open
wf18200291172 wants to merge 26 commits into
HYGON-AI:mainfrom
wf18200291172:codex/dit4dit-integration
Open

wf18200291172 wants to merge 26 commits into
HYGON-AI:mainfrom
wf18200291172:codex/dit4dit-integration

Conversation

@wf18200291172

@wf18200291172 wf18200291172 commented Oct 21, 2026 •

Copy link
Copy Markdown

Summary

Add DiT4DiT support to TurboPhysAI for upstream commit d8854a11713f846b8b3f768fc3bf2c6cba2bc17f without modifying the model source code.

Optimizations

  • DataLoader worker and prefetch tuning.
  • Cosmos attention copy elimination and safe static-tensor caching.
  • Batched VAE encoding, direct hidden-state capture, segmented compilation, and fused video packing.
  • Action DiT compilation with fallback_random=True to preserve Dropout RNG behavior.
  • Fused AdamW and removal of unnecessary metric synchronization during gradient accumulation.

These are registered as 10 dependency-aware Optimization Groups. All compile paths respect TURBO_PHYSAI_DISABLE_TORCH_COMPILE.

The NUMA mapping and package-data fixes previously made in runner.py and setup.py are already included in the latest main, so they are not duplicated in this PR.

Validation

python3 scripts/check_docs.py
python3 -m pytest -q test/optimizations/test_dit4dit_implementations.py
  • Documentation: 39 Markdown files checked.
  • Unit tests: 23 passed, 1 skipped.
  • HCU Dropout RNG test passed on BW1000.
  • MIOpen BF16 Conv3D forward/backward smoke test passed.
  • Dual-card training completed 310/310 optimizer steps.
  • Optimization report: applied=10, skipped=0, blocked=0, failed=0.

Other Changes

  • Add the DiT4DiT model guide and dependency list.
  • Add fixed-source compatibility checks.
  • Register DiT4DiT and derived Diffusers Cosmos code in third-party notices.
  • Add the DiT4DiT MIT license file.

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟡 建议修改

发现有明确证据的问题,建议核对并处理。

已确认 2 个问题,其中 1 个已添加到对应代码行。

变更概览

本次变更主要包含:

  • 本批为 DiT4DiT 优化接入补充第三方许可登记与模型支持清单,新增模型示例说明文档及源码树训练入口包装脚本,并在 setup.py 中添加许可文件随包分发的配置。
  • 本批为 dit4dit 优化新增测试:覆盖 inductor 编译包装器的选项白名单校验、RNG 回退原子性、DeepSpeed 梯度累积一致性设置、视频打包帧数校验,以及 HCU 上 dropout 的 eager/编译 RNG 一致性验证。
  • 扩展 runner 的 NUMA 发现测试,新增 ROCR_VISIBLE_DEVICES 逻辑设备映射用例并在既有用例中隔离该环境变量;另添加 DiT4DiT 的 MIT 第三方许可证文本及 dit4dit 包初始化文件。
  • 新增 dit4dit 优化目录 catalog.py,用 group/wrap/replace 定义数据加载、注意力、缓存、隐藏态捕获、分段编译、视频打包及 AdamW/指标同步训练等优化组,统一挂载兼容性检查。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +876/-0 P2 × 1
model_examples/DiT4DiT/README.md 新增 · +96/-0 P3 × 1
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +339/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +191/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +147/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +44/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
turbo_physai/runner.py 修改 · +25/-4 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
test/test_runner.py 修改 · +15/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +15/-0 —

其余 6 个文件未逐项展开。

无法定位到 diff 行的问题(1)

P2 · padding_mask 缓存键依赖 data_ptr,地址复用会导致陈旧缓存命中

  • 文件:turbo_physai/optimizations/models/dit4dit/cosmos_forward.py(无法安全定位到当前 diff 行)
  • 触发条件:concat_padding_mask 开启且传入 padding_mask 时,后续调用传入内容不同的新 padding_mask,其内存地址被 PyTorch 分配器复用且 _version 相同(如均未被原地修改、版本为 0)。
  • 证据与影响:缓存键由 padding_mask.data_ptr()、_version、shape、device、dtype 组成;缓存值是独立的展开张量,原 mask 未被强引用,可被释放后同地址分配新张量,内容不同的 mask 会生成相同键。 命中陈旧缓存导致使用上一次的展开 padding mask,padding 区域处理错误,输出静默偏差,难以排查。
  • 修改建议:缓存条目保留原 mask 的强引用并在命中后校验内容一致,或改用内容摘要作为键,避免仅以地址加版本作键。
审查信息
  • 变更统计:26 个文件,+2511/-4。
  • 覆盖情况:共 26 个文件,已完整审查 26 个。
  • 候选问题:9 项;证据复核过滤:7 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
提交修复并推送新 commit 后,将自动审查 PR 的最新版本。
CI 结果:质量门禁未通过

质量门禁检测到需处理的问题;敏感命中原文、字段值、路径和日志引用不在评论中展示,请由有权限的维护者查看原始报告并处理。

Comment thread model_examples/DiT4DiT/README.md Resolved
@hygon-ai-reviewer

hygon-ai-reviewer Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

AI Review

审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。

部分结果不可用:1/14 批未完整完成,已保留可用问题。

审查未完整完成:以 GitHub 返回的 PR diff 为主体,关联上下文仅用于核验,未运行代码。

覆盖情况:共 26 个文件,已审查 20 个,部分审查 2 个,待审查 4 个。

进度已保存。正在继续处理。

@wf18200291172
wf18200291172 force-pushed the codex/dit4dit-integration branch from 82faf58 to cb50080 Compare October 22, 2026 08:07

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟡 建议修改

发现有明确证据的问题,建议核对并处理。

已确认 1 个问题,其中 1 个已添加到对应代码行。

变更概览

本次变更主要包含:

  • 本批为 DiT4DiT 优化接入补充第三方声明和支持清单文档,新增模型示例 README 与源码内训练入口包装脚本,并在 setup.py 中配置许可证文件随包分发。
  • 新增 dit4dit 优化实现的单元测试,覆盖 action_compile 编译选项校验与 inductor 能力检查、padding mask 缓存的版本失效、DeepSpeed 梯度累积一致性设置、video_pack 输入校验及 recipe 依赖约束。
  • test_runner 新增用例验证通过 ROCR_VISIBLE_DEVICES 将逻辑 HIP 设备映射回物理设备后查询 NUMA 节点,并在既有 hy-smi 测试中清理该环境变量以保证隔离。
  • 新增 DiT4DiT 模型优化包的基础结构:MIT 许可文件、包初始化、基于文件哈希的基线兼容性检查,以及以 group/wrap/replace 注册的注意力、缓存、编译与训练优化目录。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +147/-0 P2 × 1
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +906/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +339/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +228/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
model_examples/DiT4DiT/README.md 新增 · +96/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +44/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
turbo_physai/runner.py 修改 · +25/-4 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
test/test_runner.py 修改 · +15/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +15/-0 —

其余 6 个文件未逐项展开。

审查信息
  • 变更统计:26 个文件,+2578/-4。
  • 覆盖情况:共 26 个文件,已完整审查 26 个。
  • 候选问题:3 项;证据复核过滤:2 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
提交修复并推送新 commit 后,将自动审查 PR 的最新版本。

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

⚪ 审查未完成

部分内容未完成审查,当前结论不代表全部改动。

已确认 1 个问题,其中 0 个已添加到对应代码行。

变更概览

本次变更主要包含:

  • 为 DiT4DiT(基于 Cosmos 2.5 + Action DiT 的机器人控制模型)新增接入材料:模型支持清单登记、第三方来源声明(Diffusers 与 DiT4DiT)、示例训练文档及入口包装脚本,并在 setup.py 中通过 license_files/data_files 将许可证与声明文件随包交付。
  • 新增 dit4dit 优化实现的单元测试,覆盖 action_compile 编译包装的安全选项校验与 fallback_random 支持检测、cosmos 分段编译禁用 alignment_asserts、padding mask 缓存按张量版本失效、DeepSpeed 梯度累积一致性设置,以及 HCU 上 dropout fallback_random 的输出与 RNG 状态一致性验证。
  • 该批次调整了 runner 的 NUMA 发现测试:在既有测试中清理 ROCR_VISIBLE_DEVICES 以避免环境污染,并新增用例验证逻辑 HIP 设备号经 ROCR_VISIBLE_DEVICES 映射为物理设备后正确解析对应 NUMA 节点。
  • 新增 DiT4DiT 模型优化套件:通过 group/replace/wrap 注册数据加载、attention、特征缓存、分段图编译、动作图编译(含原生 RNG fallback)、融合 AdamW 与指标同步等优化组,并提供基于文件 SHA256 的基线兼容性检查与第三方 MIT 许可证文本。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +339/-0 P2 × 1
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +906/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +245/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +157/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
model_examples/DiT4DiT/README.md 新增 · +96/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +44/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
turbo_physai/runner.py 修改 · +25/-4 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
test/test_runner.py 修改 · +15/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +15/-0 —

其余 6 个文件未逐项展开。

无法定位到 diff 行的问题(1)

P2 · 静态前向缓存键未包含掩码内容,同形状不同掩码会命中错误缓存

  • 文件:turbo_physai/optimizations/models/dit4dit/cosmos_cache.py(无法安全定位到当前 diff 行)
  • 触发条件:同一实例上再次调用该缓存方法,condition_frames、cond_mask/cond_indicator 形状、设备、transformer_dtype、timestep、height/width 均相同,但 cond_mask 或 cond_indicator 的数值内容不同。
  • 证据与影响:key 仅由 condition_frames、tuple(cond_mask.shape)、tuple(cond_indicator.shape)、str(device)、transformer_dtype、float(conditional_frame_timestep)、height、width 组成,不含输入内容;而缓存值 cond_mask_t、inv_cond_mask_t、inv_cond_indicator 完全由输入内容计算得出。 内容不同但形状相同的条件掩码会返回旧的缓存张量,前向计算使用错误掩码,静默产出错误生成结果。
  • 修改建议:将内容相关的 cond_mask_t、inv_cond_mask_t、inv_cond_indicator 移出缓存(每次按输入计算,仅缓存其余常量),或在 key 中加入掩码内容的哈希以区分不同数据。
审查信息
  • 变更统计:26 个文件,+2605/-4。
  • 覆盖情况:共 26 个文件,已完整审查 25 个,部分审查 1 个。
  • 候选问题:4 项;证据复核过滤:3 项;发布前敏感信息保护:0 项。
  • 未完成原因:候选复核:模型请求超时(1 批)
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
提交修复并推送新 commit 后,将自动审查 PR 的最新版本。

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟢 未发现有明确证据的问题

在已提供并完成审查的 diff 范围内未形成可确认问题。

变更概览

本次变更主要包含:

  • 新增 DiT4DiT 模型示例:提供 model_examples/DiT4DiT/README.md 使用文档、源码便捷入口 train_entry.py,并在文档支持清单中加入 DiT4DiT 条目。
  • 在 THIRD_PARTY_NOTICES.md 中新增 Diffusers Cosmos attention 与 DiT4DiT 的第三方来源和许可披露,并在 setup.py 中通过 license_files 与 data_files 将许可文件打包安装到共享文档目录。
  • 新增 dit4dit 优化实现的单元测试,覆盖 action_compile 编译选项约束与 fallback_random 原子配置、cosmos 分段编译禁用 alignment_asserts、padding mask 与前向静态张量缓存的恒等安全及版本失效、DeepSpeed 梯度累积一致设置和 video_pack 输入校验。
  • 新增 dit4dit 优化包:注册覆盖 dataloader、cosmos 注意力/缓存/VAE 批量编码、分段编译、Action 模型编译(固定 fallback_random)及训练优化器/指标分组,并附带 HCU 上 RNG fallback 一致性与 ROCR 逻辑设备 NUMA 映射的测试。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +906/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +362/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +306/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +157/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
model_examples/DiT4DiT/README.md 新增 · +96/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +44/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
turbo_physai/runner.py 修改 · +25/-4 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
test/test_runner.py 修改 · +15/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +15/-0 —

其余 6 个文件未逐项展开。

审查信息
  • 变更统计:26 个文件,+2689/-4。
  • 覆盖情况:共 26 个文件,已完整审查 26 个。
  • 候选问题:0 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。

@yh-vino yh-vino left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

主要问题有两个:三处 compile 不认 TURBO_PHYSAI_DISABLE_TORCH_COMPILE;README 的训练命令和上游官方脚本不一致,按现在的命令会连 text encoder 和 VAE 一起训练。第三方声明里的 commit 和 Diffusers 登记也需要补正。

PR 描述目前是空的,请补充以下内容:

  1. 做了哪些修改、分别解决什么问题。说明新增的每个 Optimization Group 各优化什么,以及 runner.py 的 NUMA 映射修正、setup.py 的打包改动分别解决什么问题。
  2. 已执行的测试命令和结果:单元测试(含 HCU 上的测试)、生成和文档检查,以及 README 训练命令在 HCU 上的实际运行情况(跑了多少步,--log-report 中各 Group 是否都已应用)。
  3. 是否做过精度验证。

其余是一些删冗余、拆分无关改动的建议,具体见行内评论。

Comment thread model_examples/DiT4DiT/README.md Resolved
Comment thread model_examples/DiT4DiT/README.md Resolved
Comment thread model_examples/DiT4DiT/train_entry.py Resolved
Comment thread model_examples/DiT4DiT/README.md Resolved
Comment thread model_examples/DiT4DiT/README.md Resolved
Comment thread turbo_physai/runner.py Resolved

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟡 建议修改

发现有明确证据的问题,建议核对并处理。

已确认 1 个问题,其中 0 个已添加到对应代码行。

变更概览

本次变更主要包含:

  • 在第三方声明与模型支持清单中登记 DiT4DiT 优化接入及其上游来源与许可证信息,并新增 DiT4DiT 模型应用说明文档,提供双卡 HCU 训练启动命令与依赖版本说明。
  • 新增 dit4dit 优化实现的单元测试,覆盖 torch.compile 全局禁用开关、inductor 不安全编译选项校验、padding mask 与 forward 静态张量缓存的恒等/版本化行为、DeepSpeed 梯度累积一致性设置及 video_pack 输入校验。
  • 新增 dit4dit 优化包的 catalog 注册与 action 编译包装器:catalog.py 定义数据加载、注意力、缓存、分段编译、video_pack、action RNG fallback、AdamW、指标同步等优化组及依赖与兼容性检查;action_compile.py 强制 inductor 后端并启用 fallback_random、关闭 alignment_asserts。
  • 新增 DiT4DiT 兼容性校验模块,按固定 SHA256 哈希比对基线源文件,确保优化只应用于匹配指定提交的模型代码
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +910/-0 P3 × 1
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +362/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +322/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +160/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
model_examples/DiT4DiT/README.md 新增 · +146/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +48/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +15/-0 —
turbo_physai/optimizations/models/dit4dit/init.py 新增 · +4/-0 —
turbo_physai/optimizations/models/dit4dit/configs/init.py 新增 · +4/-0 —

其余 1 个文件未逐项展开。

无法定位到 diff 行的问题(1)

P3 · high_sigma_min 为 None 时高噪声采样分支会抛异常

  • 文件:turbo_physai/optimizations/models/dit4dit/cosmos_forward.py(无法安全定位到当前 diff 行)
  • 触发条件:flow_matching 配置中 high_sigma_ratio 大于 0 且 high_sigma_min 显式为 None 时进入高噪声分支。代码用 high_sigma_min = None if _hsm is None else float(_hsm) 明确支持 None 取值。
  • 证据与影响:分支守卫仅检查 high_sigma_ratio is not None and high_sigma_ratio > 0,随后执行 high_t = torch.rand(...) * (1.0 - high_sigma_min) + high_sigma_min;若 high_sigma_min 为 None,1.0 - None 抛 TypeError。 该 batch 的训练 forward 直接抛异常中断,且仅在特定配置组合下触发,难以预先发现。
  • 修改建议:守卫条件额外加入 high_sigma_min is not None,或在为 None 时回退到默认值 0.98 后再计算 high_t。
审查信息
  • 变更统计:21 个文件,+2702/-0。
  • 覆盖情况:共 21 个文件,已完整审查 21 个。
  • 候选问题:2 项;证据复核过滤:1 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
提交修复并推送新 commit 后,将自动审查 PR 的最新版本。

@hygon-ai-reviewer

hygon-ai-reviewer Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

AI Review

审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。

审查未完整完成:以 GitHub 返回的 PR diff 为主体,关联上下文仅用于核验,未运行代码。

覆盖情况:共 21 个文件,已审查 7 个,部分审查 1 个,待审查 13 个。

进度已保存。正在继续处理。

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

⚪ 审查未完成

部分内容未完成审查,当前结论不代表全部改动。

变更概览

本次变更主要包含:

  • 新增 DiT4DiT 模型的应用说明文档,并在第三方声明与支持清单中登记其对 DiT4DiT 与 Diffusers Cosmos transformer 派生代码的来源、commit 及 MIT/Apache-2.0 许可信息。
  • 新增 dit4dit 优化实现的单元测试,覆盖 compile 包装器的全局禁用与不安全选项拒绝、高 sigma 时间步采样、padding mask 及 forward 静态张量缓存的身份与版本失效语义、DeepSpeed 梯度累积一致性设置,以及 recipe 依赖约束断言。
  • 新增 dit4dit 优化模块:catalog.py 注册 dataloader、attention、cache、segment/video/action 编译及训练优化分组,并提供 build_framework 编译包装器(强制 fallback_random 与对齐断言配置)及相关单元测试。
  • 新增 turbo_physai/optimizations/models/dit4dit 包的配置基础设施:compatibility.py 对 DiT4DiT 三个基线源文件计算 SHA-256 并与预定哈希比对以校验目标 commit;configs/optimization.yaml 定义 10 个优化组的目标符号信任哈希、组选项与依赖版本约束,并附带生成记录元数据。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +934/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +362/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +349/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +160/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
model_examples/DiT4DiT/README.md 新增 · +146/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +48/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +15/-0 —
turbo_physai/optimizations/models/dit4dit/init.py 新增 · +4/-0 —
turbo_physai/optimizations/models/dit4dit/configs/init.py 新增 · +4/-0 —

其余 1 个文件未逐项展开。

审查信息
  • 变更统计:21 个文件,+2753/-0。
  • 覆盖情况:共 21 个文件,已完整审查 19 个,部分审查 2 个。
  • 候选问题:3 项;证据复核过滤:3 项;发布前敏感信息保护:0 项。
  • 未完成原因:模型调用失败(6 批)
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。

@wf18200291172 wf18200291172 changed the title dit4dit feat(dit4dit): add TurboPhysAI optimization support Oct 27, 2026
@wf18200291172
wf18200291172 requested a review from yh-vino October 27, 2026 06:30

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟢 未发现有明确证据的问题

在已提供并完成审查的 diff 范围内未形成可确认问题。

变更概览

本次变更主要包含:

  • 在第三方声明文档中新增 Diffusers Cosmos transformer(Apache-2.0)与 DiT4DiT(MIT)的上游仓库、固定提交及本地文件映射清单。
  • 在模型支持列表文档中新增 DiT4DiT 条目,标注其基线为 Cosmos 2.5 + Action DiT。
  • 新增 DiT4DiT 模型示例文档,说明在 HCU 基础镜像中安装 TurboPhysAI 及模型依赖、准备权重与数据集、并通过 turbo-physai run 启动单机双卡训练的完整流程。
  • 新增 requirements.txt 固定 DiT4DiT 在 HCU 环境验证过的依赖版本,并按 --no-deps 方式安装以保护基础镜像中的 HCU 适配组件。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +934/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +424/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +362/-0 —
model_examples/DiT4DiT/README.md 新增 · +228/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +160/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
model_examples/DiT4DiT/requirements.txt 新增 · +59/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +48/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +16/-0 —
turbo_physai/optimizations/models/dit4dit/init.py 新增 · +4/-0 —

其余 2 个文件未逐项展开。

审查信息
  • 变更统计:22 个文件,+2970/-0。
  • 覆盖情况:共 22 个文件,已完整审查 22 个。
  • 候选问题:1 项;证据复核过滤:1 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟡 建议修改

发现有明确证据的问题,建议核对并处理。

已确认 1 个问题,其中 1 个已添加到对应代码行。

变更概览

本次变更主要包含:

  • 在第三方声明中登记 DiT4DiT 与 Diffusers Cosmos transformer 派生文件的来源、许可与修改标注,并在支持列表文档中新增 DiT4DiT(Cosmos 2.5 + Action DiT)条目。
  • 新增 DiT4DiT 模型接入文档,涵盖基础镜像启动、TurboPhysAI 与模型依赖安装、权重与数据准备及双卡训练的完整流程。
  • 新增 DiT4DiT 固定版本依赖清单,配合 --no-deps 安装方式保护基础镜像中的平台组件。
  • 新增 DiT4DiT 优化实现的单元测试文件,覆盖全局编译禁用开关、Action DiT 编译参数校验与 fallback_random 支持检查、padding mask 与静态张量缓存的身份/版本语义、DeepSpeed 梯度累积设置,以及 recipe 与依赖兼容性断言
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +934/-0 P3 × 1
test/optimizations/test_dit4dit_implementations.py 新增 · +424/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +362/-0 —
model_examples/DiT4DiT/README.md 新增 · +228/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +160/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
model_examples/DiT4DiT/requirements.txt 新增 · +59/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +48/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +16/-0 —
turbo_physai/optimizations/models/dit4dit/init.py 新增 · +4/-0 —

其余 2 个文件未逐项展开。

审查信息
  • 变更统计:22 个文件,+2970/-0。
  • 覆盖情况:共 22 个文件,已完整审查 22 个。
  • 候选问题:2 项;证据复核过滤:1 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
提交修复并推送新 commit 后,将自动审查 PR 的最新版本。


# Normalize to VAE dtype before encode
video_t = video.to(device=device, dtype=self.vae.dtype)
if video_t.shape[1] == 3:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P3 · 视频布局按通道数猜测,3帧BTCHW输入会被误判

触发条件: 调用方按错误提示传入 (B,T,3,H,W) 布局的视频且帧数 T 恰为 3(如 3 帧条件片段)时。

证据与影响: 第96行仅凭 video.shape[1]==3 判定为 BCTHW;T=3 时该条件也为真,被判成 BCTHW 后跳过 preprocess_video,直接把时间维当作通道维送入 VAE 编码。 时间维与通道维互换且跳过尺寸调整/归一化,条件 latents 错误且不报错,生成结果静默偏差。

修改建议: 增加显式布局参数区分两种格式;或在歧义时优先按 shape[2]==3(与 preprocess_video 的 BTCHW 约定一致)判定,无法消歧时明确报错。

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟡 建议修改

发现有明确证据的问题,建议核对并处理。

已确认 1 个问题,其中 0 个已添加到对应代码行。

变更概览

本次变更主要包含:

  • 本批在第三方声明文档中登记 Diffusers Cosmos transformer 与 DiT4DiT 派生文件、固定基线提交及 MIT 许可证来源,并在模型支持列表中新增 DiT4DiT 条目及文档链接。
  • 新增 model_examples/DiT4DiT/README.md,提供在 HCU 基础镜像中安装依赖、准备 Cosmos 权重与数据集、生成 MIOpen 缓存并通过 turbo-physai run 启动单机双卡训练的操作流程。
  • 新增 model_examples/DiT4DiT/requirements.txt,固定 DiT4DiT 验证过的依赖版本,并说明 torch 等平台组件由基础镜像提供、需配合 --no-deps 安装。
  • 新增 DiT4DiT 优化实现的单元测试文件,覆盖编译包装器对禁用环境变量的响应、Action 编译 fallback_random 选项校验、Cosmos 分段编译安全选项、padding mask 与前向静态张量缓存的版本化安全,以及 DeepSpeed 梯度累积的一致设置。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +362/-0 P2 × 1
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +944/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +446/-0 —
model_examples/DiT4DiT/README.md 新增 · +228/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +160/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
model_examples/DiT4DiT/requirements.txt 新增 · +59/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +48/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +16/-0 —
turbo_physai/optimizations/models/dit4dit/init.py 新增 · +4/-0 —

其余 2 个文件未逐项展开。

无法定位到 diff 行的问题(1)

P2 · 静态缓存条目数无上限,可能持续保留批次张量导致内存增长

  • 文件:turbo_physai/optimizations/models/dit4dit/cosmos_cache.py(无法安全定位到当前 diff 行)
  • 触发条件:cond_mask/cond_indicator 每批次/微步为新张量对象(非固定复用缓冲区)时,随训练步数不断新增条目。
  • 证据与影响:唯一的逐出逻辑是本方法内对同一对象旧条目的删除循环,且条目强引用源张量(注释明确说明保留以防止 id 复用),缓存字典无条目数或字节上限。 每个新张量对象都会产生一条永不逐出的缓存项,保留输入及派生设备张量,长时间训练中驻留内存随步数增长,可能持续占用显存/主机内存甚至触发 OOM。
  • 修改建议:为缓存设置容量上限,仅保留最近一个(或每 shape/dtype 一条)条目;或改用弱引用记录身份并在命中时校验对象仍存活,避免误用被复用的 id 对应条目。
审查信息
  • 变更统计:22 个文件,+3002/-0。
  • 覆盖情况:共 22 个文件,已完整审查 22 个。
  • 候选问题:2 项;证据复核过滤:1 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
提交修复并推送新 commit 后,将自动审查 PR 的最新版本。

@wf18200291172

Copy link
Copy Markdown
Author

@hygon-ai-reviewer re-review

This finding does not apply to the current implementation. _get_forward_static_tensors() already bounds _forward_static_cache before every insertion:

if len(self._forward_static_cache) >= 4:
    self._forward_static_cache.clear()
self._forward_static_cache[key] = (cond_mask, cond_indicator, cached)

The cache therefore retains at most four source-tensor pairs and their derived tensors. It also removes stale entries for the same source objects before applying the capacity limit. The strong references are intentional to prevent Python object-id reuse, but their count is bounded and cannot grow with the number of training steps.

Please re-review the latest head d537e5c9ccb3ffc54aeaf961a3ded539d3ba5bc7.

@wf18200291172
wf18200291172 force-pushed the codex/dit4dit-integration branch from d537e5c to da8c8a4 Compare October 30, 2026 08:49

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Review

🟢 未发现有明确证据的问题

在已提供并完成审查的 diff 范围内未形成可确认问题。

变更概览

本次变更主要包含:

  • 为 Diffusers Cosmos transformer 与 DiT4DiT 补充第三方声明,登记 dit4dit 优化目录下派生文件、上游仓库、固定基线提交及许可证类型
  • 在中文模型支持列表中新增 DiT4DiT 条目,标注 Cosmos 2.5 + Action DiT 架构、基线提交与模型指南链接
  • 新增 model_examples/DiT4DiT 示例:README 提供 HCU 基础镜像启动、依赖安装、权重与数据准备及双卡训练启动文档,requirements.txt 提供版本固化的 DiT4DiT 依赖清单。
  • 为 DiT4DiT 优化实现新增单元测试,覆盖 torch.compile 全局禁用开关、Action DiT 编译选项校验与 fallback_random 支持检测、Cosmos 段编译 alignment_asserts 关闭、padding mask/静态张量缓存的同一性与版本失效语义、高 sigma 采样及 DeepSpeed 梯度累积一致设置。
文件审查摘要
文件 变更 审查结果
turbo_physai/optimizations/models/dit4dit/cosmos_forward.py 新增 · +944/-0 —
test/optimizations/test_dit4dit_implementations.py 新增 · +446/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_cache.py 新增 · +362/-0 —
model_examples/DiT4DiT/README.md 新增 · +228/-0 —
turbo_physai/optimizations/models/dit4dit/video_pack.py 新增 · +160/-0 —
turbo_physai/optimizations/models/dit4dit/configs/optimization.yaml 新增 · +151/-0 —
turbo_physai/optimizations/models/dit4dit/cosmos_attention.py 新增 · +134/-0 —
turbo_physai/optimizations/models/dit4dit/training.py 新增 · +129/-0 —
turbo_physai/optimizations/models/dit4dit/catalog.py 新增 · +74/-0 —
turbo_physai/optimizations/models/dit4dit/configs/recipe.yaml 新增 · +61/-0 —
model_examples/DiT4DiT/requirements.txt 新增 · +59/-0 —
turbo_physai/optimizations/models/dit4dit/action_compile.py 新增 · +48/-0 —
turbo_physai/optimizations/models/dit4dit/entry.py 新增 · +40/-0 —
turbo_physai/optimizations/models/dit4dit/dataloader.py 新增 · +39/-0 —
turbo_physai/optimizations/models/dit4dit/compatibility.py 新增 · +31/-0 —
THIRD_PARTY_NOTICES.md 修改 · +27/-0 —
turbo_physai/optimizations/models/dit4dit/configs/.optimization.yaml.generation.json 新增 · +23/-0 —
third_party/licenses/DiT4DiT-MIT.txt 新增 · +21/-0 —
turbo_physai/optimizations/models/dit4dit/configs/runtime.yaml 新增 · +16/-0 —
turbo_physai/optimizations/models/dit4dit/init.py 新增 · +4/-0 —

其余 2 个文件未逐项展开。

审查信息
  • 变更统计:22 个文件,+3002/-0。
  • 覆盖情况:共 22 个文件,已完整审查 22 个。
  • 候选问题:1 项;证据复核过滤:1 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants