Prhub

#5856 [ci, trtllm] test: speed up trtllm CI by using smaller models and reducing test parameters

原始 PR 作者 shikicloud 合并时间 2026-04-08 09:00 文件变更 3 提交数 2 评论 1 代码增减 +28 / -9

执行摘要

通过减小模型规模和缩减测试参数,将 TRT-LLM CI 流水线执行时间从 52 分钟缩短至 30 分钟。

根据PR描述,当前e2e_ppo_trainer_megatron_trtllm CI工作流执行时间约52分钟,目标是通过减少模型大小和测试参数将其缩短至约30分钟。作者强调CI测试仅验证代码管道是否正常工作(无崩溃、输出结构正确),不评估模型质量或训练效果,因此缩减规模是安全的。

该PR是典型的CI优化变更,逻辑直白,无需精读。值得关注的点在于其“缩减规模但不牺牲代码路径覆盖”的策略,可作为类似CI加速任务的参考模板。对于核心开发者,可留意后续是否出现因测试参数过小而漏测的边界情况。

讨论亮点

Review讨论非常简短,仅包含三条评论:gemini-code-assist[bot]总结了变更内容(“切换到更小的Qwen模型并降低最大模型长度和响应长度参数以优化测试执行”),并表示无反馈;hchings和wuxibin89均直接批准(LGTM)。没有出现争议或深度技术讨论,表明团队对CI优化策略达成共识。

实现拆解

变更集中在三个文件:

1) .github/workflows/e2e_ppo_grpo_trainer_trtllm.yml:为多个CI作业添加--durations=20性能分析参数,并大幅缩减训练批次大小、提示/响应长度、rollout数量、TRT-LLM缓冲区大小等配置;
2) tests/workers/rollout/rollout_trtllm/test_async_server.py:将测试中的response_length从50减至16;
3) tests/workers/rollout/rollout_trtllm/test_trtllm_rollout_utils.py:将单模态测试模型从Qwen2.5-Math-7B替换为Qwen2.5-0.5B-Instruct,多模态模型从Qwen2.5-VL-7B-Instruct替换为Qwen2.5-VL-3B-Instruct,同时将MAX_MODEL_LEN从4096减至2048,RESPONSE_LENGTH从256减至32。

文件 模块 状态 重要度
.github/workflows/e2e_ppo_grpo_trainer_trtllm.yml ci modified 8.0
tests/workers/rollout/rollout_trtllm/test_trtllm_rollout_utils.py rollout modified 6.0
tests/workers/rollout/rollout_trtllm/test_async_server.py rollout modified 3.0

关键符号

_build_rollout_config

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

CI 测试参数缩减的安全性 正确性

PR 作者在描述中主动说明变更安全,因为 CI 仅验证代码管道正确性,不评估模型质量。Reviewers 未提出质疑。

结论:团队认可缩减策略,认为在保持代码路径覆盖的前提下加速 CI 是合理的。 · 已解决

风险与影响

主要风险在于CI测试覆盖度可能因参数缩减而不足:

1) 使用更小模型(0.5B/3B)可能无法充分测试7B/更大模型特有的内存管理、计算图或算子路径;
2) 大幅减少max_prompt_length(2048→128)、max_response_length(1024→64)和max_model_len(4096→256)可能掩盖长序列处理相关的边界条件错误;
3) 将rollout.n从5/4减至1可能影响多轮交互逻辑的测试。但PR作者已说明CI仅验证“代码管道工作正确”,且变更未移除任何代码路径,因此风险可控。

对用户无直接影响,仅影响CI基础设施。对团队:显著缩短CI反馈周期(从52分钟到30分钟),提升开发迭代效率,减少资源消耗。对系统:CI测试的覆盖范围在代码路径层面保持不变,但针对大规模模型和长序列的边界条件测试强度可能减弱。

测试覆盖度减弱 边界条件测试不足

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论