Prhub

#24273 [SKILLS] Tiny upgrade diffusion skills

原始 PR 作者 BBuf 合并时间 2026-05-02 22:04 文件变更 7 提交数 3 评论 5 代码增减 +248 / -61

执行摘要

更新 diffusion benchmark 预设并新增 LTX-2.3 支持

保持 bench_diffusion_denoise.py benchmark 脚本与 nightly 对比配置 comparison_configs.json 一致,新增 LTX-2.3 模型 preset,并为开发者提供正在进行的相关 PR 可见性,避免重复工作。

对于使用 diffusion benchmark 的团队建议尽快同步本 PR,确保基准测试的标准化。同时建议后续技能更新保持这种同步模式,并考虑自动化 weekly watchlist 更新。

讨论亮点

review 中 gemini-code-assist[bot] 提出了 4 条关于表格分隔符长度的建议(建议统一使用 105 字符),认为不一致会降低可读性。这些建议未在提交历史中明确体现是否采纳(第三个 commit 提到'格式问题',但具体未涵盖所有建议)。BBuf 未回复评论。

实现拆解

  1. 更新 benchmark 脚本:在 bench_diffusion_denoise.py 中新增 ltx23-ti2v-two-stage preset,修改原 ltx2 preset 参数(分辨率从 1536x1024 改为 768x512,启用 CFG parallel,改为 2 GPU 等),添加表格宽度常量并调整打印格式。
  2. 同步文档:在 benchmark-and-profile.md 中更新 preset table,对齐 nightly 配置;在 existing-fast-paths.md 中添加 GroupNorm+SiLU 融合、QK norm rope 等记录以及开放 PR 监察清单。
  3. 添加 Open PR Watchlist:在 ModelOpt-quant SKILL.mdako4all-kernel SKILL.md 中记录相关开放 PR 编号,指导开发者优先参考已有工作。
  4. 更新 Cache-DiT 说明:在 diffusion-performance SKILL.md 中重写 Cache-DiT 使用方法,区分原生 diffusers 后端。
  5. 调整表格格式:根据 review 反馈统一表格分隔符长度,使 catalog 和 results 表格对齐。
文件 模块 状态 重要度
python/sglang/multimodal_gen/.claude/skills/sglang-diffusion-benchmark-profile/scripts/bench_diffusion_denoise.py 扩散基准 modified 6.62
python/sglang/multimodal_gen/.claude/skills/sglang-diffusion-performance/SKILL.md 性能文档 modified 3.99
python/sglang/multimodal_gen/.claude/skills/sglang-diffusion-benchmark-profile/existing-fast-paths.md 文档 modified 3.64

关键符号

print_model_catalog print_results_table

关键源码片段

python/sglang/multimodal_gen/.claude/skills/sglang-diffusion-benchmark-profile/scripts/bench_diffusion_denoise.py core-logic

核心 benchmark 脚本,修改了 model presets 和打印格式,新增 LTX-2.3 preset,调整表格宽度,使预设与 nightly 对齐。

# Table width constants for printed output alignment
CATALOG_TABLE_WIDTH = 105
RESULTS_TABLE_WIDTH = 105# Model presets dict: keys are preset names used as --model argument
# Nightly-aligned presets come first, then skill-only extras.
# Each entry produces a sglang generate command.
MODELS = {
    # Example: flux1_dev_t2i_1024
    "flux": {
        "nightly_case_id": "flux1_dev_t2i_1024",
        "path": "black-forest-labs/FLUX.1-dev",
        "prompt": "A futuristic cyberpunk city at night, neon lights reflecting on wet streets",
        "extra_args": [
            "--width=1024", "--height=1024",
            "--num-inference-steps=50", "--guidance-scale=4.0",
            "--dit-layerwise-offload", "false",
        ],
    },
    # ... ( 其他预设节略 )
    # LTX-2: 更新为 2 GPU + CFG parallel 配置
    "ltx2": {
        "nightly_case_id": "ltx2_twostage_t2v",
        "path": "Lightricks/LTX-2",
        "prompt": "A cat and a dog baking a cake together in a kitchen.",
        "extra_args": [
            "--pipeline-class-name=LTX2TwoStagePipeline",
            "--width=768", "--height=512",
            "--num-frames=121",
            "--num-inference-steps=50", "--guidance-scale=4.0",
            "--num-gpus=2", "--enable-cfg-parallel",
        ],
    },
    # 新增 LTX-2.3 TI2V 两阶段 preset,与 nightly 配置 comparison_configs.json 对齐
    "ltx23-ti2v-two-stage": {
        "nightly_case_id": "ltx2.3_twostage_ti2v_2gpus",
        "path": "Lightricks/LTX-2.3",
        "prompt": "The cat starts walking slowly towards the camera.",
        "image_path": str(ASSET_DIR / "cat.png"),
        "extra_args": [
            "--pipeline-class-name=LTX2TwoStagePipeline",
            "--width=768", "--height=512",
            "--num-frames=121",
            "--num-inference-steps=50", "--guidance-scale=4.0",
            "--num-gpus=2",
        ],
    },
    # ... 更多 presets
}

评论区精华

表格分隔符长度对齐 style

gemini-code-assist[bot] 指出分隔符长度与表头不一致(104 vs 105, 110 vs 105),建议统一为 105。

结论:未在后续提交中完全修复,BBuf 未确认。 · not addressed

风险与影响

低风险。主要变更集中在文档和脚本格式,未触及核心推理逻辑。但需要注意:LTX-2 预设参数变更(分辨率、GPU 数、seed 移除)将导致历史 benchmark 数据不可直接比较;文档中 Open PR Watchlist 需要持续维护,否则可能误导开发者。

影响范围限于使用这些 skill 的开发者和 CI 流程。对系统无影响。团队需要维护 Open PR Watchlist 准确性。

性能基准偏差 文档需持续维护

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论