Prhub

#22099 Align diffusion nightly presets and broaden skill discovery

原始 PR 作者 BBuf 合并时间 2026-04-04 21:43 文件变更 19 提交数 8 评论 1 代码增减 +380 / -3937

执行摘要

对齐扩散模型 nightly 基准测试预设与技能文档,以 LTX-2 案例为中心并扩展机会发现指导。

PR body 指出需要对齐扩散 nightly 配置、基准测试预设和文档,围绕 LTX-2 nightly 案例,并添加扩散机会发现指导(如 fused QK norm + RoPE),以确保优化工作优先利用现有快速路径,避免重复造轮子。

建议开发者和性能工程师精读更新的技能文档,特别是 existing-fast-paths.md,以了解新增的融合 QK norm + RoPE 等机会指导。同时,关注 bench_diffusion_denoise.py 中的 denoise 延迟计算逻辑,确保其正确性。此 PR 展示了文档与配置对齐对优化生态的重要性,值得一读以理解扩散模型的最佳实践。

讨论亮点

review 中仅有一个评论,由 gemini-code-assist[bot] 提出,针对 bench_diffusion_denoise.py 的 denoise 延迟计算逻辑:当前逻辑仅在 denoise_stage_total_ms 大于 0.0 时才设置 denoise_latency_s,但如果匹配阶段存在但持续时间为 0.0,则会错误回退到步级指标。建议改进为跟踪是否找到任何匹配阶段,而非仅依赖持续时间。此问题尚未解决,属于正确性讨论。

实现拆解

实现拆解为以下部分:

1) 测试组织:重命名 Z-Image 测试文件到 jit_kernel/tests/diffusion/
2) 技能文档更新:修改多个 SKILL.md 文件(如 sglang-diffusion-benchmark-profile、sglang-diffusion-ako4all-kernel),集成 LTX-2 案例、简化技能流并移除未使用的 Triton/CUDA 内核技能;
3) 基准测试脚本:在 bench_diffusion_denoise.py 中添加 LTX-2 预设,调整 denoise 延迟计算逻辑以聚合多个阶段;
4) CI 集成:扩展 run_comparison.py 的 payload 处理,支持 FPS 和 negative_prompt 等新参数;
5) 性能分析:修改 profiler.py,添加 _resolve_profiler_log_dir 函数统一日志目录解析;
6) 清理:删除未使用的脚本和文档文件(如 nsight-profiler.md、bench_diffusion_rmsnorm.py)。

文件 模块 状态 重要度
python/sglang/multimodal_gen/.claude/skills/sglang-diffusion-benchmark-profile/scripts/bench_diffusion_denoise.py benchmarking modified 7.0
python/sglang/multimodal_gen/.claude/skills/sglang-diffusion-benchmark-profile/existing-fast-paths.md documentation modified 6.0
scripts/ci/utils/diffusion/run_comparison.py ci modified 5.0
python/sglang/jit_kernel/tests/diffusion/test_norm_tanh_mul_add_norm_scale.py testing renamed 4.0
python/sglang/multimodal_gen/runtime/utils/profiler.py profiling modified 4.0

关键符号

_resolve_profiler_log_dir run_benchmark_once build_sglang_cmd send_request_sglang

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

评论区精华

Denoise 延迟计算逻辑在基准测试脚本中的正确性 正确性

gemini-code-assist[bot] 指出当前逻辑仅在 denoise 阶段总持续时间大于 0.0 时才设置延迟指标,若阶段存在但持续时间为 0.0 则会错误回退到步级指标,建议跟踪是否找到匹配阶段而非仅依赖持续时间。

结论:问题未解决,需改进逻辑以确保鲁棒性。 · 待处理

风险与影响

技术风险包括:

1) 基准测试逻辑变更可能导致 denoise 延迟计算不准确,特别是在阶段持续时间为 0 的边缘情况下;
2) 删除技能文件(如 sglang-diffusion-cuda-kernel/)可能影响依赖这些技能的开发工作流;
3) CI 脚本修改需确保向后兼容性,避免破坏现有 nightly 比较流程;
4) 文档更新若与代码实现不一致,可能误导优化决策。

影响范围:主要影响扩散模型开发者和性能优化工程师,通过标准化基准测试配置和技能文档,提升优化效率和协作。系统影响:确保 nightly 比较的准确性,促进性能回归检测;技能流简化可能减少维护开销。团队影响:强化文档指导,帮助团队识别现有快速路径,减少重复工作。

基准测试逻辑变更 文档与代码不一致 文件删除影响工作流

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论