Prhub

#22772 [codex] Update modelopt quantization docs and CI coverage

sgl-project/sglang · 作者 BBuf · 合并时间 2026-04-15 21:30

分析状态 已生成
文件变更 4提交数 11 · 评论 3
代码增减 +158 / -46
documentation quant run-ci diffusion

执行摘要

更新 ModelOpt 量化文档并扩展 B200 GPU 上的 CI 测试覆盖。

从 review 评论和代码变更推断,动机是澄清 ModelOpt 量化模型在扩散模块中的文档,以避免用户配置错误,并扩展 CI 测试覆盖以验证这些量化模型在 B200 GPU 上的行为,确保系统质量。

建议快速浏览文档更新部分以了解量化模型的最新支持;重点关注 _make_modelopt_ci_case 函数的设计,它展示了如何标准化创建量化测试用例;检查测试文件中的死引用问题是否已解决。

讨论亮点

review 中仅有一个评论来自 gemini-code-assist[bot],指出在删除 flux_2_nvfp4_t2i 测试用例后,ACCURACY_ONE_GPU_CASES_B_IDS 中仍引用该 ID,导致死引用。评论建议移除旧 ID 以维护测试完整性。PR 已合并,但未明确显示此问题是否已解决,可能需后续关注。

实现拆解

  1. 文档更新:修改 docs/diffusion/quantization.md,更新量化家族表格,澄清 --transformer-path--transformer-weights-path 参数的使用,并调整平台笔记。
  2. 测试配置增强:在 python/sglang/multimodal_gen/test/server/testcase_configs.py 中,为 DiffusionServerArgs 类新增 env_vars 字段以支持环境变量传递,新增 MODELOPT_T2I_CI_sampling_paramsMODELOPT_T2V_CI_sampling_params 采样参数常量。
  3. 测试用例工厂函数:在同一文件中新增 _make_modelopt_ci_case 函数,用于标准化创建 ModelOpt 量化测试用例,设置 run_perf_check=Falserun_consistency_check=False 以专注 CI 验证。
  4. CI 测试调整:更新 ONE_GPU_CASES_C 列表,使用新函数创建多个 ModelOpt 量化模型测试用例;在 python/sglang/multimodal_gen/test/server/test_server_common.py 中,修改 diffusion_server 函数,添加 --model-type diffusion 参数并支持 env_vars 传递。
  5. 测试文件描述更新:修改 python/sglang/multimodal_gen/test/server/test_server_c.py 中的类文档字符串,从“smoke tests”改为“CI tests”,以反映测试目的。
文件 模块 状态 重要度
python/sglang/multimodal_gen/test/server/testcase_configs.py 测试配置 modified 6.24
docs/diffusion/quantization.md 文档 modified 4.08
python/sglang/multimodal_gen/test/server/test_server_common.py 服务器测试 modified 3.82
python/sglang/multimodal_gen/test/server/testcase_configs.py test-coverage

最重要的变更文件,新增了 ModelOpt 量化测试用例的配置和工厂函数,直接影响 CI 覆盖。

def _make_modelopt_ci_case(
    case_id: str,
    *,
    model_path: str,
    modality: str,
    sampling_params: DiffusionSamplingParams,
    extras: list[str],
    env_vars: dict[str, str] | None = None,
) -> DiffusionTestCase:
    """
    工厂函数,用于创建标准化的 ModelOpt 量化 CI 测试用例。
    参数:
        case_id: 测试用例标识符
        model_path: 模型路径
        modality: 模态(如图像、视频)
        sampling_params: 采样参数对象
        extras: 额外的服务器参数列表
        env_vars: 可选的環境变量字典
    返回:
        DiffusionTestCase 对象,配置为跳过性能和一致性检查,专注于 CI 验证。
    """
    return DiffusionTestCase(
        case_id,
        DiffusionServerArgs(
            model_path=model_path,
            modality=modality,
            enable_warmup=False, # 在 CI 测试中禁用预热以提高效率
            extras=extras,
            env_vars=env_vars or {}, # 支持环境变量传递,默认为空字典
        ),
        sampling_params,
        run_perf_check=False, # 跳过性能检查,专注功能验证
        run_consistency_check=False, # 跳过一致性检查
    )

关键符号

_make_modelopt_ci_case diffusion_server

评论区精华

死引用在测试配置中 正确性

gemini-code-assist[bot] 指出删除 flux_2_nvfp4_t2i 测试用例后,ACCURACY_ONE_GPU_CASES_B_IDS 中仍有引用,导致死引用,可能影响测试完整性。

结论:未明确解决,但 PR 已合并,可能需后续处理。 · 待处理

风险与影响

风险包括:文档更新可能仍有不准确之处,导致用户配置错误;测试中的死引用可能导致 CI 失败或混淆;新增的环境变量处理可能引入测试环境依赖问题。具体到文件,testcase_configs.py 中的死引用需检查。

对用户影响:文档更清晰,帮助正确使用 ModelOpt 量化模型,提升用户体验。对系统影响:扩展了 CI 测试覆盖,确保量化模型在 B200 GPU 上的测试,提高系统质量。对团队影响:测试配置标准化,便于维护和扩展。

文档不准确 测试死引用

关联 Issue

未识别关联 Issue

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

完整报告

执行摘要

  • 一句话:更新 ModelOpt 量化文档并扩展 B200 GPU 上的 CI 测试覆盖。
  • 推荐动作:建议快速浏览文档更新部分以了解量化模型的最新支持;重点关注 _make_modelopt_ci_case 函数的设计,它展示了如何标准化创建量化测试用例;检查测试文件中的死引用问题是否已解决。

功能与动机

从 review 评论和代码变更推断,动机是澄清 ModelOpt 量化模型在扩散模块中的文档,以避免用户配置错误,并扩展 CI 测试覆盖以验证这些量化模型在 B200 GPU 上的行为,确保系统质量。

实现拆解

  1. 文档更新:修改 docs/diffusion/quantization.md,更新量化家族表格,澄清 --transformer-path--transformer-weights-path 参数的使用,并调整平台笔记。
  2. 测试配置增强:在 python/sglang/multimodal_gen/test/server/testcase_configs.py 中,为 DiffusionServerArgs 类新增 env_vars 字段以支持环境变量传递,新增 MODELOPT_T2I_CI_sampling_paramsMODELOPT_T2V_CI_sampling_params 采样参数常量。
  3. 测试用例工厂函数:在同一文件中新增 _make_modelopt_ci_case 函数,用于标准化创建 ModelOpt 量化测试用例,设置 run_perf_check=Falserun_consistency_check=False 以专注 CI 验证。
  4. CI 测试调整:更新 ONE_GPU_CASES_C 列表,使用新函数创建多个 ModelOpt 量化模型测试用例;在 python/sglang/multimodal_gen/test/server/test_server_common.py 中,修改 diffusion_server 函数,添加 --model-type diffusion 参数并支持 env_vars 传递。
  5. 测试文件描述更新:修改 python/sglang/multimodal_gen/test/server/test_server_c.py 中的类文档字符串,从“smoke tests”改为“CI tests”,以反映测试目的。

关键文件:

  • python/sglang/multimodal_gen/test/server/testcase_configs.py(模块 测试配置;类别 test;类型 test-coverage;符号 _make_modelopt_ci_case, DiffusionServerArgs): 最重要的变更文件,新增了 ModelOpt 量化测试用例的配置和工厂函数,直接影响 CI 覆盖。
  • docs/diffusion/quantization.md(模块 文档;类别 docs;类型 documentation): 核心文档更新,澄清 ModelOpt 量化模型的 CLI 参数和平台支持,对用户配置至关重要。
  • python/sglang/multimodal_gen/test/server/test_server_common.py(模块 服务器测试;类别 test;类型 test-coverage;符号 diffusion_server): 测试辅助函数更新,添加模型类型参数和环境变量支持,影响所有扩散测试。

关键符号:_make_modelopt_ci_case, diffusion_server

关键源码片段

python/sglang/multimodal_gen/test/server/testcase_configs.py

最重要的变更文件,新增了 ModelOpt 量化测试用例的配置和工厂函数,直接影响 CI 覆盖。

def _make_modelopt_ci_case(
    case_id: str,
    *,
    model_path: str,
    modality: str,
    sampling_params: DiffusionSamplingParams,
    extras: list[str],
    env_vars: dict[str, str] | None = None,
) -> DiffusionTestCase:
    """
    工厂函数,用于创建标准化的 ModelOpt 量化 CI 测试用例。
    参数:
        case_id: 测试用例标识符
        model_path: 模型路径
        modality: 模态(如图像、视频)
        sampling_params: 采样参数对象
        extras: 额外的服务器参数列表
        env_vars: 可选的環境变量字典
    返回:
        DiffusionTestCase 对象,配置为跳过性能和一致性检查,专注于 CI 验证。
    """
    return DiffusionTestCase(
        case_id,
        DiffusionServerArgs(
            model_path=model_path,
            modality=modality,
            enable_warmup=False, # 在 CI 测试中禁用预热以提高效率
            extras=extras,
            env_vars=env_vars or {}, # 支持环境变量传递,默认为空字典
        ),
        sampling_params,
        run_perf_check=False, # 跳过性能检查,专注功能验证
        run_consistency_check=False, # 跳过一致性检查
    )

评论区精华

review 中仅有一个评论来自 gemini-code-assist[bot],指出在删除 flux_2_nvfp4_t2i 测试用例后,ACCURACY_ONE_GPU_CASES_B_IDS 中仍引用该 ID,导致死引用。评论建议移除旧 ID 以维护测试完整性。PR 已合并,但未明确显示此问题是否已解决,可能需后续关注。

  • 死引用在测试配置中 (correctness): 未明确解决,但 PR 已合并,可能需后续处理。

风险与影响

  • 风险:风险包括:文档更新可能仍有不准确之处,导致用户配置错误;测试中的死引用可能导致 CI 失败或混淆;新增的环境变量处理可能引入测试环境依赖问题。具体到文件,testcase_configs.py 中的死引用需检查。
  • 影响:对用户影响:文档更清晰,帮助正确使用 ModelOpt 量化模型,提升用户体验。对系统影响:扩展了 CI 测试覆盖,确保量化模型在 B200 GPU 上的测试,提高系统质量。对团队影响:测试配置标准化,便于维护和扩展。
  • 风险标记:文档不准确, 测试死引用

关联脉络

  • PR #22854 [diffusion] CI: reset thresholds: 同样涉及扩散模型 CI 调整,与本 PR 的 CI 覆盖更新相关。
  • PR #22810 [diffusion] CI: refactor diffusion ci and reduce redundancy: 扩散 CI 重构,与本 PR 的测试配置更新有协同。
  • PR #22604 [Diffusion] Standalone Rollout API + Denoising Environment Backpass + SP-Aligned Log-Prob for T2I Post-Training: 扩散模型功能新增,量化文档可能与之关联。

参与讨论