Prhub

#6385 [ci] fix: use TRTLLM_TEST_MODEL_PATH_ROOT in test_trtllm_rollout_utils

原始 PR 作者 Superjomn 合并时间 2026-05-18 18:18 文件变更 2 提交数 2 评论 0 代码增减 +8 / -7

执行摘要

修复 TRT-LLM 测试用例的模型路径硬编码问题

CI job 中 test_trtllm_rollout_utils.py 使用了硬编码的 HF 模型标识符(如 "Qwen/Qwen2.5-0.5B-Instruct"),导致每次运行都从 hf-mirror.com 重新下载模型,而服务端已通过 TRTLLM_TEST_MODEL_PATH_ROOT 环境变量提供了预置模型缓存。PR body 指出 'Mirror the pattern used by peer tests so model paths resolve against the pre-staged cache.'

可直接合并。无需额外精读,但可作为 CI 测试配置和测试环境变量使用的参考。

讨论亮点

无实质性讨论。仅 gemini-code-assist[bot] 自动评论总结变更,maintainer wuxibin89 直接审批通过,无其他评论。

实现拆解

  1. 修改模型路径解析方式tests/workers/rollout/rollout_trtllm/test_trtllm_rollout_utils.py):添加 import os,定义 _MODEL_ROOT = os.path.expanduser(os.getenv("TRTLLM_TEST_MODEL_PATH_ROOT", "~/models")),并将两个模块路径常量改为 os.path.join(_MODEL_ROOT, ...) 形式。
  2. 更换 E2E 测试数据集.github/workflows/e2e_ppo_grpo_trainer_trtllm.yml):将数据预处理步骤从 DAPO-Math-17k 和 AIME-2024 替换为 gsm8k,并调整 E2E 训练命令中的数据集变量,以适配 runner 上缓存的可用数据。
文件 模块 状态 重要度
tests/workers/rollout/rollout_trtllm/test_trtllm_rollout_utils.py TRT-LLM 测试 modified 4.68
.github/workflows/e2e_ppo_grpo_trainer_trtllm.yml CI 配置 modified 3.6

关键源码片段

tests/workers/rollout/rollout_trtllm/test_trtllm_rollout_utils.py test-coverage

核心变更文件:将硬编码的模型路径改为由环境变量 TRTLLM_TEST_MODEL_PATH_ROOT 驱动,与其他 TRT-LLM 测试文件保持一致。

import os# 从环境变量获取预置模型缓存根目录,若未设置则默认 ~/models
# 让测试路径与其他 TRT-LLM 测试文件(如 test_async_server.py)的行为一致
_MODEL_ROOT = os.path.expanduser(os.getenv("TRTLLM_TEST_MODEL_PATH_ROOT", "~/models"))
UNIMODAL_MODEL_PATH = os.path.join(_MODEL_ROOT, "Qwen/Qwen2.5-0.5B-Instruct")
MULTIMODAL_MODEL_PATH = os.path.join(_MODEL_ROOT, "Qwen/Qwen2.5-VL-3B-Instruct")

评论区精华

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

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

风险与影响

风险极低。变更仅限于测试文件和 CI 配置文件:测试文件中的路径改为环境变量驱动,若环境变量未设置则默认回退到 ~/models,行为向后兼容;CI 配置中的数据集切换为预缓存的 gsm8k,避免了网络不可达导致的失败。

仅影响 TRT-LLM 相关的 CI job(trtllm_unit_tests 和 e2e_ppo_grpo_trainer_trtllm),减少不必要的网络下载和数据集准备失败。对其他模块和环境无影响。

网络依赖消除 测试环境一致性

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论