Prhub

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

原始 PR 作者 BBuf 合并时间 2026-04-15 21:30 文件变更 4 提交数 11 评论 3 代码增减 +158 / -46

执行摘要

更新 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

关键符号

_make_modelopt_ci_case diffusion_server

关键源码片段

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, # 跳过一致性检查
    )

评论区精华

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

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 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论