# PR #22772 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[codex] Update modelopt quantization docs and CI coverage
- 合并时间：2026-04-15 21:30
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/22772

---

# 执行摘要

- 一句话：更新 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_params` 和 `MODELOPT_T2V_CI_sampling_params` 采样参数常量。
3. **测试用例工厂函数**：在同一文件中新增 `_make_modelopt_ci_case` 函数，用于标准化创建 ModelOpt 量化测试用例，设置 `run_perf_check=False` 和 `run_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 覆盖。

```python
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: 扩散模型功能新增，量化文档可能与之关联。