# PR #23099 完整报告

- 仓库：`sgl-project/sglang`
- 标题：Lower TestPiecewiseCudaGraphQwen25VL gsm8k threshold to 0.80
- 合并时间：2026-04-18 04:31
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/23099

---

# 执行摘要

- 一句话：降低 Qwen2.5-VL 模型分段 CUDA 图测试的 GSM8K 精度阈值，缓解 CI 偶发失败。
- 推荐动作：该 PR 变更简单直接，主要价值在于其背后的数据分析方法。建议工程师快速浏览以了解测试阈值调整的决策过程，但无需深入代码细节。对于负责 CI 稳定性和测试策略的团队成员，可关注其如何利用历史数据量化方差并设定安全边际。

# 功能与动机

PR body 明确指出，原阈值 0.82 处于测试自然方差的边缘，导致计划 CI 中出现不稳定的偶发失败。作者提供了 2026-04-03 至 2026-04-17 期间 27 次有效运行的数据统计：失败率 14.8%（4/27），失败分数区间 [0.807, 0.819] 与通过分数区间 [0.820, 0.828] 重叠，表明阈值设定在方差内部。调整至 0.80 旨在为最差观测值（0.807）提供约 0.7 个百分点的安全边际，同时保持对真实回归的检测能力。

# 实现拆解

1. **定位测试文件**：修改位于 `test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py` 的 `TestPiecewiseCudaGraphQwen25VL` 测试类。
2. **调整断言阈值**：在 `test_gsm8k_accuracy` 方法中，将 `self.assertGreaterEqual(metrics["score"], 0.82)` 改为 `self.assertGreaterEqual(metrics["score"], 0.80)`，直接降低精度阈值。
3. **无其他配套改动**：本次变更仅涉及单个测试断言，未修改任何源码主路径、配置、文档或部署脚本。

关键文件：
- `test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py`（模块 测试套件；类别 test；类型 test-coverage；符号 TestPiecewiseCudaGraphQwen25VL.test_gsm8k_accuracy）: 这是唯一被修改的文件，包含了分段 CUDA 图支持测试，直接调整了 Qwen2.5-VL 模型的 GSM8K 精度断言阈值。

关键符号：TestPiecewiseCudaGraphQwen25VL.test_gsm8k_accuracy


## 关键源码片段

### `test/registered/piecewise_cuda_graph/test_piecewise_cuda_graph_support_1_gpu.py`

这是唯一被修改的文件，包含了分段 CUDA 图支持测试，直接调整了 Qwen2.5-VL 模型的 GSM8K 精度断言阈值。

```python
def test_gsm8k_accuracy(self):
    args = SimpleNamespace(
        base_url=self.base_url,
        model=self.model,
        eval_name="gsm8k",
        num_examples=None,
        num_threads=1024,
    )

    metrics = run_eval(args)
    print(f"GSM8K Accuracy: {metrics['score']:.3f}")

    # 原阈值 0.82 处于测试自然方差边缘，导致 CI 偶发失败。
    # 基于 27 次运行数据分析，最差观测值为 0.807，新阈值 0.80 提供约 0.7 个百分点的安全边际。
    self.assertGreaterEqual(metrics["score"], 0.80)
```

# 评论区精华

该 PR 没有收到任何 review 评论，表明变更直接且无争议。作者在 PR body 中提供了详实的数据分析作为决策依据，这可能是 review 快速通过的原因。

- 暂无高价值评论线程

# 风险与影响

- 风险：**技术风险较低**：
- **回归风险**：阈值从 0.82 降至 0.80，放宽了通过标准，可能掩盖某些细微的性能退化或精度损失。但作者基于历史数据论证了 0.80 仍能捕获真实回归，且最差观测值 0.807 高于新阈值，风险可控。
- **测试有效性**：阈值调整后，测试对精度下降的敏感度略有降低，但仍在合理范围内。
- **兼容性与安全**：纯测试变更，不影响生产代码、API 或系统安全。
- 影响：**影响范围有限**：
- **用户影响**：无直接影响，这是内部测试调整。
- **系统影响**：仅影响 `TestPiecewiseCudaGraphQwen25VL` 测试类的通过率，预计将显著减少该测试在 CI 中的偶发失败，提升 CI 稳定性。
- **团队影响**：减少因偶发测试失败导致的 CI 重跑或调查开销，提升开发效率。
- 风险标记：测试有效性降低

# 关联脉络

- PR #23029 [test] Add GSM8K accuracy test for PP with mixed chunk prefill: 同属 GSM8K 精度测试相关，涉及测试覆盖和调度逻辑，可对比测试策略。
- PR #22128 Allow piecewise CUDA graph with speculative decoding: 同属分段 CUDA 图（piecewise CUDA graph）功能测试，涉及相同测试模块。