Prhub

#28778 [diffusion] CI: remove flaky layerwise offload diffusion case

原始 PR 作者 mickqian 合并时间 2026-06-20 17:27 文件变更 4 提交数 3 评论 2 代码增减 +3 / -97

执行摘要

移除不稳定的 layerwise_offload 扩散测试用例

PR body:该 case 是某些 runner 上的 flaky perf gate;ZImage coverage 已通过 zimage_image_t2i 和相关用例覆盖;删除独立的 --dit-layerwise-offload 场景而不是放宽阈值。

该 PR 是清理 flaky 测试的常规维护,不值得精读。但如果团队维护 layerwise offload 功能,建议关注是否用更小、更快的模型重建测试以保持回归检测,或依赖其他扩散测试场景来覆盖。

讨论亮点

该 PR 没有 review 评论,仅有一条 gemini-code-assist 的自动配额警告和作者的重跑指令,无实质性技术讨论。

实现拆解

  1. 删除测试用例注册:在 gpu_cases.py 的测试列表中去掉 DiffusionTestCase("layerwise_offload", ...) 及相关的 TODO 注释。
  2. 移除性能基线:从 perf_baselines.json 中删除整个 layerwise_offload 键,它包含 stages_ms、denoise_step_ms、expected_e2e_ms 等约 70 行数据。
  3. 移除一致性阈值:从 consistency_threshold.json 中删除 layerwise_offload 条目(clip_threshold 等四个阈值)。
  4. 移除组件精度跳过:从 accuracy_config.pySKIP_COMPONENTS 中删除 layerwise_offload 映射(VAE、TRANSFORMER、TEXT_ENCODER 三个组件的跳过原因)。
  5. 伴随基线调整:在 perf_baselines.json 中微调了 fsdp-inference 的 step 3 denoise 时间(257.61 ms → 650.0 ms)和 expected_e2e_ms(2775.88 → 2850.0),以及另一条目的 expected_avg_denoise_ms(500.63 → 520.0),这些来自最后一笔 commit 的 flaky 2-gpu 基线放松。
文件 模块 状态 重要度
python/sglang/multimodal_gen/test/server/perf_baselines.json 性能基线 modified 5.33
python/sglang/multimodal_gen/test/server/gpu_cases.py 测试用例 modified 4.3
python/sglang/multimodal_gen/test/server/accuracy_config.py 精度配置 modified 4.3
python/sglang/multimodal_gen/test/server/consistency_threshold.json 一致性阈值 modified 4.11

关键源码片段

python/sglang/multimodal_gen/test/server/gpu_cases.py test-coverage

移除了 `layerwise_offload` 测试用例注册以及相关的 TODO 注释,是该 PR 的核心删除点。

# gpu_cases.py – 删除了 `layerwise_offload` 测试用例及其 TODO 注释
# head 版本中,在 `flux_2_klein_base_image_t2i` 之后直接是 `zimage_image_t2i`
# 此前(base)定义如下(已删除):
# DiffusionTestCase(
# "layerwise_offload",
# DiffusionServerArgs(
# model_path=DEFAULT_SMALL_MODEL_NAME_FOR_TEST,
# dit_layerwise_offload=True,
# dit_offload_prefetch_size=2,
# ),
# ),
# 同时删除的 TODO 注释:
# # TODO: replace with a faster model to test the --dit-layerwise-offload
# # TODO: currently, we don't support sending more than one request...

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

主要风险是移除了对 --dit-layerwise-offload 功能的 CI 回归检测。虽然该功能有间接覆盖(如 zimage_image_t2i 也使用了类似的 offload 机制),但专门的 layerwise offload 场景不再被 CI 验证,未来重构该功能时可能遗漏退化。不过该测试本身就是 flaky,移除后 CI 稳定性提高,权衡后风险可接受。

对用户无直接功能影响。对 CI 系统:减少一次 flaky 失败源,略微缩短跑 CI 总时间。对开发团队:需要意识到 layerwise offload 的 CI 覆盖已移除,未来若需加强验证可考虑用更小的模型或更稳健的基线重建测试。

移除专用测试覆盖 伴随基线微调

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论