执行摘要
本次PR将GitHub Actions中stage-c-test-4-gpu-b200测试套件的分区数量从4个增加到5个,以解决因测试时间增长导致的CI步骤超时问题。变更仅涉及CI配置文件,通过降低每个分区的平均执行时间(从29.2分钟降至23.4分钟),为设置开销提供约6分钟缓冲,从而提升Blackwell B200 GPU上4-GPU测试的稳定性。
功能与动机
为什么做:近期新增的3个LoRA测试(PR #21466、#21469、#21570)使stage-c-test-4-gpu-b200套件总预估时间达到7010秒(116.8分钟)。在原有4个分区下,平均每个分区耗时29.2分钟,接近30分钟步骤超时限制,无法覆盖约2分钟的设置开销(依赖安装、验证),导致分区2超时中断。
关键数据:
- 新增LoRA测试贡献620秒(10.3分钟)。
- 4分区时平均耗时29.2分钟/分区,缓冲不足1分钟。
- 5分区时平均耗时23.4分钟/分区,缓冲约6分钟。
实现拆解
仅修改一个文件:.github/workflows/pr-test.yml。
| 变更位置 |
原值 |
新值 |
作用 |
矩阵策略 part |
[0, 1, 2, 3] |
[0, 1, 2, 3, 4] |
增加一个分区索引 |
运行命令 --auto-partition-size |
4 |
5 |
匹配新分区数 |
变更后,测试套件将被均匀分配到5个并行作业中执行,每个作业时间压力显著降低。
评论区精华
Review过程简单直接:
- 审核者
hnyls2002 直接批准,未留下评论。
- 表明变更逻辑清晰,无技术争议,属于常规CI优化。
风险与影响
风险分析:
- 低风险:仅修改CI配置,不触及生产代码,回归风险可忽略。
- 资源消耗:增加一个并行作业可能略微提升CI资源使用,但通过避免超时重试,整体效率可能提升。
- 兼容性:分区逻辑基于现有
run_suite.py脚本,扩展分区数属于支持范围内操作。
影响评估:
- 对用户:无感知,不影响系统功能或性能。
- 对团队:减少CI超时失败,提高测试可靠性,尤其保障Blackwell B200 GPU上关键测试的连续执行。
- 对系统:无直接影响,仅优化测试执行策略。
关联脉络
相关PR:
- PR #21466、#21469、#21570:新增LoRA测试,导致测试时间增长,是本PR的直接诱因。
- PR #22346:通过设置内存限制解决测试超时,与本PR同属CI优化范畴,展示不同维度的调优手段。
- PR #22237:通过降低准确度阈值减少CI误报,与本PR共同体现团队对CI稳定性的持续改进。
演进趋势:
- 随着模型测试复杂度增加(如LoRA、多GPU、Blackwell支持),测试时间压力上升,CI配置需动态调整。
- 本PR是典型的“响应式”优化,通过增加分区应对时间增长,未来可能需更系统化的测试时间监控与自动分区策略。
参与讨论