Prhub

#55728 [Tests] Update SarvamMLA transformers v5 compatibility reason to hf

原始 PR 作者 Aj2280 合并时间 2026-09-07 22:27 文件变更 1 提交数 1 评论 5 代码增减 +3 / -3

执行摘要

更新测试注册表中 SarvamMLA 模型的兼容性原因,解锁被误跳过的 vLLM 测试。

为了解决关联 Issue #38734(SarvamMLAForCausalLM 与 Transformers v5 兼容性)中遗留的测试配置问题。在 PR #38804 为 vLLM 添加了 validate_rope() 的补丁后,tests/models/registry.py 中的 transformers_version_reason 字段仍为 "vllm",这导致 tests/models/test_registry.py 中的 test_registry_imports 测试因误判 vLLM 自身不兼容而跳过,削弱了测试覆盖。

这是一个简单但必要的维护性变更。对于关注 Transformers v5 迁移或测试覆盖率的工程师,值得快速浏览。其主要价值在于正确性修复,而非技术洞察。可以精读以了解测试注册表的工作机制。

讨论亮点

AI 审查员 coderabbitai[bot] 指出一个关键设计问题:当前的 check_transformers_version 逻辑位于共享的测试流中,如果触发跳过,会同时跳过 HF 和 vLLM 两个测试运行器。该建议认为,应该将版本检查逻辑移入仅针对 HF 测试的路径中,以确保即使在 HF 测试被跳过时,vLLM 的测试覆盖仍然得以保留。这个讨论点触及了测试基础设施的健壮性。

实现拆解

  1. 定位入口:在测试注册表文件 tests/models/registry.py 中找到 SarvamMLAForCausalLM 的注册条目。
  2. 核心逻辑修改:将 _HfExamplesInfo 中 transformers_version_reason 字典的键从 "vllm" 修改为 "hf",并更新了对应的说明文本,明确指出是 Transformers v5.4 移除了参数,而 vLLM 已通过补丁解决。
  3. 影响分析:此变更仅影响测试套件的跳过逻辑,不影响任何生产代码、模型权重或推理内核。它解除了对 vLLM 测试的误拦,同时保持了对原生 HF 测试的保护。
文件 模块 状态 重要度
tests/models/registry.py 测试注册表 modified 4.32

关键源码片段

tests/models/registry.py test-coverage

这是本次变更的唯一文件,包含模型测试注册表。修改 `transformers_version_reason` 是本次 PR 的核心动作,直接影响测试跳过逻辑。

# tests/models/registry.py 中 `SarvamMLAForCausalLM` 注册条目的变更
# 变更前,原因键为 "vllm",导致 vLLM 测试被误跳过
# 变更后,原因键更新为 "hf",反映实际兼容性问题根源
"SarvamMLAForCausalLM": _HfExamplesInfo(
    "sarvamai/sarvam-105b",
    trust_remote_code=True,
    max_model_len=4096,
    is_available_online=True,
    max_transformers_version="5.3",
    transformers_version_reason={
        "hf": ( # 键从 "vllm" 更正为 "hf"
            "Transformers v5.4 removed the ignore_keys param from "
            "validate_rope(); vLLM patches validate_rope() and is unaffected"
        )
    },
),

评论区精华

版本检查逻辑应按测试运行器拆分 设计

Coderabbit 指出,当前共享的 `test_models` 流程会在 Transformers 版本不兼容时跳过整个测试,包括 vLLM 运行器。这不符合本次 PR 的意图(仅跳过 HF 测试)。

结论:这是一个未解决的疑虑。本次 PR 合并时,合并者可能认为当前行为可接受(或未来会处理),但该设计问题依然存在。 · 待处理

风险与影响

风险极低。变更仅涉及测试元数据,不改变任何生产逻辑。唯一的潜在风险是如果对 transformers_version_reason 的解析逻辑存在未预期的行为,但鉴于代码结构简单且已有先例(如 Step3VLForConditionalGeneration),此风险可忽略。

影响范围限于测试基础设施。正面影响:解锁了 SarvamMLAForCausalLM 模型在 vLLM 测试套件中的覆盖,提升了 CI 的检测能力。对用户无直接影响。对团队而言,修正了测试元数据,使兼容性追踪更准确。

测试跳过逻辑不精确

关联 Issue

#38379 Upgrade to Transformers v5
#38734 [Transformers v5] SarvamMLAForCausalLM

完整报告

参与讨论