Prhub

#40349 [Bugfix][CI] Fix `tests/distributed/test_torchrun_example_moe.py`

原始 PR 作者 NickLucche 合并时间 2026-04-21 02:05 文件变更 1 提交数 1 评论 0 代码增减 +2 / -0

执行摘要

修复分布式 MoE 测试中缺失的 LLM 配置参数,避免测试失败。

根据PR body,此变更旨在修复一个外部issue(https://github.com/neuralmagic/vllm-ci-bugs/issues/12)。从变更内容推断,测试脚本在创建LLM实例时缺少必要的配置参数,导致测试失败。添加max_model_lenmax_num_seqs参数是为了确保测试能正确初始化并运行。

该PR变更简单直接,无需深入精读。对于分布式测试开发者,可关注max_model_lenmax_num_seqs参数在测试中的默认值选择,以及它们如何影响KV缓存配置的一致性验证。

讨论亮点

review中没有实质性技术讨论。claude[bot]和gemini-code-assist[bot]的评论均为自动化提示,未提供具体反馈。khluu直接批准了PR,表明变更被认可为简单修复。

实现拆解

  1. 定位问题文件:仅修改了tests/distributed/test_torchrun_example_moe.py文件,这是分布式MoE测试的入口脚本。
  2. 添加缺失参数:在LLM构造函数调用中增加了max_model_len=1024max_num_seqs=16两个参数。这些参数控制模型的最大序列长度和最大并发序列数,对内存分配和调度有直接影响。
  3. 测试逻辑不变:测试的核心逻辑(如数据并行提示分配、KV缓存一致性验证)保持不变,只是修复了LLM初始化配置。
  4. 无配套改动:没有涉及其他源码、配置或部署文件的修改,纯测试脚本修复。
文件 模块 状态 重要度
tests/distributed/test_torchrun_example_moe.py 分布式测试 modified 3.42

关键源码片段

tests/distributed/test_torchrun_example_moe.py test-coverage

这是唯一被修改的文件,修复了分布式 MoE 测试的配置缺失问题。

llm = LLM(
    model="microsoft/Phi-mini-MoE-instruct",
    tensor_parallel_size=int(os.getenv("TP_SIZE", "1")),
    pipeline_parallel_size=int(os.getenv("PP_SIZE", "1")),
    enable_expert_parallel=int(os.getenv("ENABLE_EP", "0")) == 1,
    distributed_executor_backend="external_launcher",
    gpu_memory_utilization=random.uniform(0.7, 0.9),
    seed=0,
    max_model_len=1024, # 新增:设置最大模型长度,影响 KV 缓存块计算
    max_num_seqs=16, # 新增:设置最大并发序列数,影响调度队列大小
)

评论区精华

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

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

风险与影响

低风险

  • 仅修改测试脚本,不涉及生产代码,无回归风险。
  • 添加的参数是LLM的标准配置项,不会引入兼容性问题。
  • 参数值(1024和16)是合理默认值,不会导致测试行为异常。
  • 由于测试本身用于验证分布式一致性,修复后应能更可靠地检测潜在问题。

影响范围有限

  • 对用户:无直接影响,纯测试修复。
  • 对系统:修复后测试能正确运行,有助于CI流水线的稳定性。
  • 对团队:减少了因测试配置缺失导致的CI失败,提升了开发效率。
  • 影响程度:低,仅影响特定分布式MoE测试的执行。
测试配置缺失

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论