Prhub

#21137 [SKILL] fix(bench): Support model-specific DenoisingStage variants in…

原始 PR 作者 BBuf 合并时间 2026-03-23 12:08 文件变更 1 提交数 1 评论 3 代码增减 +6 / -2

执行摘要

扩展 denoise latency 解析逻辑以支持模型特定的 DenoisingStage 变体,提升 benchmark 兼容性。

根据PR body中的Motivation部分,需扩展denoise latency提取逻辑以接受模型特定的DenoisingStage变体(例如MOVADenoisingStageHeliosChunkedDenoisingStage),而不仅仅是规范名称。

该PR值得快速浏览以了解latency解析的灵活性改进。关注字符串匹配的设计决策,以及潜在的多匹配风险。

讨论亮点

review中,gemini-code-assist[bot]指出当前实现会在多个步骤包含'DenoisingStage'时覆盖denoise_latency_s,可能导致不正确latency报告。建议在找到匹配后break出循环以提高效率和正确性。但PR提交者未采纳此建议,变更中未添加break语句。

实现拆解

变更仅涉及一个文件:bench_diffusion_denoise.py中的run_benchmark_once函数。关键改动是将latency解析循环中的条件从step.get("name") == "DenoisingStage"修改为检查字符串是否包含'DenoisingStage'子串,并添加注释说明支持模型特定变体。

文件 模块 状态 重要度
python/sglang/multimodal_gen/.claude/skills/diffusion-kernel/scripts/bench_diffusion_denoise.py multimodal-gen/diffusion-kernel/benchmarking modified 5.0

关键符号

run_benchmark_once

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

评论区精华

latency 解析中多个匹配覆盖风险 正确性

gemini-code-assist[bot] 指出如果多个步骤包含 'DenoisingStage',denoise_latency_s 会被覆盖,导致不正确 latency 报告。

结论:建议在匹配后 break 出循环,但未在变更中实现。 · 待处理

风险与影响

主要风险是字符串匹配可能过于宽松,如果性能数据中有多个denoising相关阶段(如多个DenoisingStage变体),latency可能被错误覆盖,报告不准确。此外,缺少break可能轻微影响性能,但鉴于步骤列表通常小,影响有限。

对用户影响:使用不同diffusion模型的benchmark用户将能正确解析latency,提升测量兼容性。系统影响:仅限于benchmark脚本,无运行时影响。团队影响:需注意此变更以确保新模型变体能被正确解析。

多个匹配覆盖风险 字符串匹配宽松

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论