执行摘要
本次PR清理了ROCm CI配置中过时的speculative decoding测试套件,移除了MI250、MI325、MI355平台上的7个慢速测试,并将MI325的acceptance测试扩展为运行所有测试(而非仅慢速测试)。变更旨在精简CI执行,减少冗余测试时间,但对speculative decoding功能的测试覆盖率可能有所降低。DarkLight1337已批准合并,表明团队认为清理合理。
功能与动机
根据PR描述,主要动机是“移除过时测试并将acceptance测试扩展到慢速和快速测试”。虽然没有关联issue,但从变更内容推断,这些speculative decoding测试可能已不再适用或与其他测试重复,导致CI执行效率低下。清理旨在优化测试资源配置,加速CI流程。
实现拆解
仅修改了CI配置文件.buildkite/test-amd.yaml,具体改动如下:
| 变更类型 |
硬件平台 |
具体调整 |
| 删除测试块 |
MI250、MI325、MI355 |
移除整个“V1 Speculative Decoding (slow)”测试步骤,包括7个子测试:test_eagle.py、test_extract_hidden_states.py、test_max_len.py、test_mtp.py、test_ngram.py、test_speculators_eagle3.py、test_tree_attention.py |
| 修改测试命令 |
MI325 |
将acceptance测试命令从 pytest -v -s v1/spec_decode/test_acceptance_length.py -m slow_test 改为 pytest -v -s v1/spec_decode/test_acceptance_length.py,移除了慢速测试标记 |
变更集中在一个文件,逻辑简单:删除冗余测试块,调整单个测试的执行范围。
评论区精华
review讨论较少,但gemini-code-assist[bot]的自动化评论指出了关键风险:
“这些变更导致speculative decoding功能的测试覆盖率显著减少,特别是在MI250和MI355平台上没有添加替代测试,而在MI325平台上更新后的测试并未覆盖与已移除套件相同的逻辑。”
然而,DarkLight1337直接批准了PR,表明团队评估后认为这些测试确实过时或冗余,清理利大于弊。
风险与影响
风险:
- 测试覆盖率降低:移除的speculative decoding测试可能包含独特验证逻辑,如果未在其他测试中覆盖,可能导致相关功能bug漏测。
- 回归风险:如果这些测试实际上仍有效且必要,移除后可能无法及时发现regression。
影响:
- 对CI流程:减少测试执行时间,可能加速PR合并。
- 对团队:需要确保speculative decoding功能仍有足够测试覆盖,可能需在其他地方补充测试。
- 对用户:无直接影响,仅内部基础设施调整。
关联脉络
从近期历史PR看,本次PR与以下PR同属基础设施调整范畴:
- PR 39555:修复ROCm CI中多模态内存泄漏测试配置,同样关注测试稳定性。
- PR 39656:调整XPU依赖版本,涉及依赖管理。
这些PR共同反映了团队对CI配置的持续优化,特别是在AMD平台(ROCm)和基础设施维护方面。本次清理speculative decoding测试可能是更大规模测试重组的一部分,旨在提高CI效率。
参与讨论