Repository navigation
feat(dit4dit): add TurboPhysAI optimization support - #28
wf18200291172 wants to merge 26 commits into
Conversation
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
CI 结果:质量门禁未通过
质量门禁检测到需处理的问题;敏感命中原文、字段值、路径和日志引用不在评论中展示,请由有权限的维护者查看原始报告并处理。
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
82faf58 to
cb50080
Compare
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
There was a problem hiding this comment.
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
left a comment
There was a problem hiding this comment.
主要问题有两个:三处 compile 不认 TURBO_PHYSAI_DISABLE_TORCH_COMPILE;README 的训练命令和上游官方脚本不一致,按现在的命令会连 text encoder 和 VAE 一起训练。第三方声明里的 commit 和 Diffusers 登记也需要补正。
PR 描述目前是空的,请补充以下内容:
- 做了哪些修改、分别解决什么问题。说明新增的每个 Optimization Group 各优化什么,以及
runner.py的 NUMA 映射修正、setup.py的打包改动分别解决什么问题。 - 已执行的测试命令和结果:单元测试(含 HCU 上的测试)、生成和文档检查,以及 README 训练命令在 HCU 上的实际运行情况(跑了多少步,
--log-report中各 Group 是否都已应用)。 - 是否做过精度验证。
其余是一些删冗余、拆分无关改动的建议,具体见行内评论。
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
|
|
||
| # Normalize to VAE dtype before encode | ||
| video_t = video.to(device=device, dtype=self.vae.dtype) | ||
| if video_t.shape[1] == 3: |
There was a problem hiding this comment.
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 约定一致)判定,无法消歧时明确报错。
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
|
@hygon-ai-reviewer re-review This finding does not apply to the current implementation. 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 |
d537e5c to
da8c8a4
Compare
There was a problem hiding this comment.
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 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
Summary
Add DiT4DiT support to TurboPhysAI for upstream commit
d8854a11713f846b8b3f768fc3bf2c6cba2bc17fwithout modifying the model source code.Optimizations
fallback_random=Trueto preserve Dropout RNG behavior.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.pyandsetup.pyare already included in the latestmain, so they are not duplicated in this PR.Validation
applied=10, skipped=0, blocked=0, failed=0.Other Changes