Prhub

#21960 [diffusion][CI]: route multimodal component accuracy through run_suite

原始 PR 作者 Ratish1 合并时间 2026-04-10 23:06 文件变更 9 提交数 19 评论 21 代码增减 +448 / -121

执行摘要

统一多模态组件准确性测试至 run_suite.py 入口点,简化 CI 工作流。

根据 PR body,动机源于 Issue #18709,即多模态扩散组件准确性测试此前临时使用显式的 workflow-side pytest/torchrun 命令以通过 CI,但这使得测试脱离正常的多模态运行器路径。目标是恢复 python/sglang/multimodal_gen/test/run_suite.py 作为唯一入口点,同时保持组件准确性所需的执行行为(如文件级隔离和分布式启动)。

建议 CI 工程师和测试团队精读此 PR,重点关注 run_suite.py 中组件准确性套件的设计决策(如文件级分区与项目级分区的权衡)和 CI 工作流的更新模式,以借鉴如何集成特殊测试需求到统一运行框架中。

讨论亮点

主要讨论在 Issue 评论中,围绕测试稳定性和 CI 重跑。mickqian 评论:“could you also make sure this test is robust and not flaky”,Ratish1 回应已本地测试并修复问题,如显式设置 2-GPU 测试的 num_gpus=2 以防止 CI 挂起。结论是测试已稳定化,并通过多次重跑验证。

实现拆解

实现方案主要涉及三个层面:

1) 在 run_suite.py 中添加 component-accuracy-1-gpucomponent-accuracy-2-gpu 新套件,并引入窄分支逻辑,针对这些套件进行文件级分区和分布式执行(2-GPU 使用 torch.distributed.run);
2) 更新 CI 工作流文件 .github/workflows/pr-test-multimodal-gen.yml,将组件准确性作业路由到 run_suite.py 而非直接命令;
3) 修复相关准确性测试文件,如 accuracy_utils.pycomponent_accuracy.py,以支持新模型(如 LTX-2.3)和改善加载逻辑。

文件 模块 状态 重要度
.github/workflows/pr-test-multimodal-gen.yml CI modified 8.0
python/sglang/multimodal_gen/test/run_suite.py 测试运行器 modified 9.0
python/sglang/multimodal_gen/test/server/accuracy_utils.py 准确性测试 modified 7.0
python/sglang/multimodal_gen/test/server/component_accuracy.py 准确性测试 modified 6.0

关键符号

run_component_accuracy_files partition_test_files _build_transformer_hook_inputs

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

测试稳定性讨论 测试

mickqian 询问测试是否 robust 且不 flaky,Ratish1 回应已本地测试并修复 2-GPU 测试的 num_gpus 设置问题。

结论:测试已稳定化,通过多次 CI 重跑验证。 · 已解决

风险与影响

技术风险包括:

1) CI 配置变更(.github/workflows/pr-test-multimodal-gen.yml)可能引入错误,导致测试作业失败或不触发;
2) 执行逻辑变更(run_suite.py 中的新分支)可能影响现有测试套件(如 unit/1-gpu/2-gpu)的兼容性;
3) 准确性测试代码修改(如 accuracy_utils.py 中的音频输入支持)可能引入回归错误;
4) 多模型兼容性风险,新增的 LTX-2.3 跳过逻辑可能掩盖潜在准确性差异。

影响范围:对最终用户透明,但显著改善 CI 流程和测试团队的工作效率。影响程度:中等,统一了测试入口点,提升 CI 可维护性和稳定性;间接增强多模态扩散模型的测试覆盖和可靠性。

CI 配置变更 测试执行逻辑变更 多模型兼容性

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论