Prhub

#27577 [NPU] Fix CI

原始 PR 作者 e-martirosian 合并时间 2026-06-09 01:44 文件变更 1 提交数 1 评论 2 代码增减 +1 / -0

执行摘要

修复 NPU W4A4 测试中缺失的并行配置

NPU CI 测试因缺少 gsm8k_parallel 配置而失败,该配置默认值可能不适合大规模模型(如 Qwen3-32B),导致测试性能不达标或超时。PR 提交者通过补充该配置项来修复 CI。

该 PR 属于常规的 CI 修复,可快速合并。建议关注后续 NPU 测试套件的稳定性,确保类似配置缺失问题不再出现。

讨论亮点

PR 无 review 评论,仅由 ping1jing2 直接批准。CI 触发命令 /tag-and-rerun-ciping1jing2 发出,表明关注 CI 结果。

实现拆解

  1. 定位问题:在 test/registered/ascend/basic_function/quant/test_npu_w4a4_quantization.py 文件中,TestAscendW4A4 类缺少 gsm8k_parallel 属性,而基类或测试框架期望该值来控制并行请求数。
  2. 添加配置:在第 50 行(原 output_throughput 之后)插入 gsm8k_parallel = 64,指定 GSM8K 测试的并行度为 64。
  3. 影响:此配置使测试在 CI 环境中能以更高的并发执行推理请求,提高资源利用率和测试通过率。
文件 模块 状态 重要度
test/registered/ascend/basic_function/quant/test_npu_w4a4_quantization.py 量化测试 modified 3.46

关键源码片段

test/registered/ascend/basic_function/quant/test_npu_w4a4_quantization.py test-coverage

修复 CI 的核心文件,添加了缺失的 `gsm8k_parallel` 配置。

# test/registered/ascend/basic_function/quant/test_npu_w4a4_quantization.py
# 省略 import 和辅助函数
class TestAscendW4A4(GSM8KAscendMixin, CustomTestCase):
    model = ECO_TECH_QWEN3_32B_W4A4_LAOS_WEIGHTS_PATH
    other_args = [
        "--trust-remote-code",
        "--device", "npu",
        "--attention-backend", "ascend",
        "--tp-size", "4",
        "--mem-fraction-static", "0.8",
        "--cuda-graph-bs", "64",
        "--disable-radix-cache",
    ]
    env = {**os.environ}
    # GSM8K 测试配置
    accuracy = 0.80 # 正确率 >= 0.80
    num_questions = 1319
    gsm8k_num_shots = 5
    output_throughput = 1000 # 输出吞吐量 >= 1000 tokens/s
    gsm8k_parallel = 64 # 新增:并行度设置,修复 CI 缺失配置

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低。变更仅为添加一行测试配置常量,不影响任何生产逻辑。唯一风险是 gsm8k_parallel = 64 可能不适用于资源受限环境,但该测试仅在 NPU CI 中运行且已设置 est_time=400,预计影响可控。

  • 用户:无直接影响。
  • 系统:仅影响 NPU CI 测试流程,修复后 W4A4 量化测试应正常通过。
  • 团队:减少 CI 噪音,避免因测试配置缺失导致误报。
低风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论