Prhub

#45913 [Bugfix][test] Use Salesforce/wikitext for ppl tests

原始 PR 作者 wentian-byte 合并时间 2026-06-17 18:37 文件变更 1 提交数 2 评论 2 代码增减 +1 / -1

执行摘要

修复 PPL 测试数据集 ID 兼容性问题

datasets >= 5.0huggingface_hub >= 1.19 不再接受遗留单段 ID 'wikitext'(HfUriError: 'Repository id must be namespace/name')。该 ID 已迁移至 'Salesforce/wikitext'。若不修复,所有 tests/models/language/generation_ppl_test/ 下的 PPL 测试都会在 load_dataset() 阶段失败,无法计算任何 PPL。

建议合并。这是针对上游库 API 变动的必要兼容性修复,改动极小且已验证正确性。值得关注的是这类依赖升级引发的测试失败模式,团队应建立定期检查测试依赖兼容性的机制。

讨论亮点

无。所有审核评论均为流程性内容(DCO 签署),无技术讨论。

实现拆解

tests/models/language/generation_ppl_test/ppl_utils.py 文件进行单行修改:将 load_dataset("wikitext", "wikitext-2-raw-v1", split="test") 修改为 load_dataset("Salesforce/wikitext", "wikitext-2-raw-v1", split="test")。这是唯一需要修改的地方,因为该文件中所有 PPL 测试共享这个 load_dataset 调用。提交者使用 Qwen 系列模型验证了 PPL 差异均小于 1%(最大 +0.764%),确认变更不影响测试的正确性。

文件 模块 状态 重要度
tests/models/language/generation_ppl_test/ppl_utils.py 测试工具 modified 4.03

关键符号

wikitext_ppl_test

关键源码片段

tests/models/language/generation_ppl_test/ppl_utils.py test-coverage

唯一变更文件,修改了 `load_dataset` 的数据集 ID 以兼容新版本 `datasets` 和 `huggingface_hub`。

# 文件 : tests/models/language/generation_ppl_test/ppl_utils.py
# 关键变更 : 更新数据集 ID 以兼容 datasets >= 5.0 的新要求...
@torch.inference_mode
def wikitext_ppl_test(
    hf_runner,
    vllm_runner,
    model_info: GenerateModelInfo,
    max_length=MAX_LENGTH,
    vllm_extra_kwargs=None,
    atol=PPL_TOL,
):
    vllm_extra_kwargs = get_vllm_extra_kwargs(model_info, vllm_extra_kwargs)
​
    # 修复 : 使用完整的命名空间 ID 'Salesforce/wikitext'
    # 旧方式 'wikitext' 在 datasets >= 5.0 和 huggingface_hub >= 1.19 下会抛出 HfUriError
    dataset = load_dataset("Salesforce/wikitext", "wikitext-2-raw-v1", split="test")
​
    with vllm_runner(
        model_info.name,
        gpu_memory_utilization=0.7,
        max_model_len=max_length,
        max_num_seqs=1,
        **vllm_extra_kwargs,
    ) as vllm_model:
        ...

评论区精华

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

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

风险与影响

低风险。变更仅为更新数据集路径字符串,不涉及逻辑改动。PPL 验证结果表明数值差异极小(属于随机噪声范围),没有回归风险。潜在风险是 'Salesforce/wikitext' 在未来的库版本中再次变更,但这是外部依赖的正常演进,无法在本 PR 中预防。

影响范围仅限于 tests/models/language/generation_ppl_test/ 下的 PPL 测试,确保持续集成中该测试套件不被上游库升级阻断。对用户和生产系统无影响。影响程度低。

外部依赖变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论