Prhub

#44471 [Misc] Add unit tests for pooler head classes

原始 PR 作者 taneem-ibrahim 合并时间 2026-06-05 01:59 文件变更 1 提交数 4 评论 0 代码增减 +481 / -0

执行摘要

为池化器头部类添加单元测试

当前 Pooler Head 类缺少单元测试,可能引入回归。本 PR 通过新增 36 个测试用例覆盖四个头部类的关键路径和参数字段,提升代码质量和可维护性。PR Body 明确列出了测试覆盖的目标类。

建议合并。新增的测试覆盖了池化器头的核心路径和边界条件,适合作为同类测试的模板。可关注后续是否将测试扩展到其他池化器(如图像池化)。

讨论亮点

无实质性讨论。noooop 审阅后直接批准("thanks"),未提出修改意见或问题。

实现拆解

  1. 新建测试文件:在 tests/model_executor/layers/ 下创建 test_pooler_heads.py
  2. 辅助函数:定义 _make_params_make_metadata_linear 以简化 PoolingParams、PoolingMetadata 和线性层的构造。
  3. 测试 EmbeddingPoolerHeadTestEmbeddingPoolerHead 类,包含 9 个方法测试:supported_tasks、passthrough、head_dtype、projector、matryoshka 均匀/混合/带 None、activation 开关/混合。
  4. 测试 ClassifierPoolerHeadTestClassifierPoolerHead 类,测试 classifier 输出、Platt scaling(temperature/bias)、activation 开关、head_dtype。
  5. 测试 TokenEmbeddingPoolerHeadTestTokenEmbeddingPoolerHead 类,测试 passthrough、projector、matryoshka 均匀/混合/带 None。
  6. 测试 TokenClassifierPoolerHeadTestTokenClassifierPoolerHead 类,测试 classifier、Platt scaling、activation 开关、chunked prefill 模式。
    所有测试均基于 vllm.v1.pool.metadata.PoolingMetadata 等 V1 池化接口,确保与当前生产代码兼容。
文件 模块 状态 重要度
tests/model_executor/layers/test_pooler_heads.py 池化层 added 7.74

关键符号

_make_params _make_metadata _linear test_supported_tasks test_passthrough test_head_dtype test_projector test_matryoshka_uniform test_matryoshka_mixed test_matryoshka_mixed_with_none test_activation_uniform_true test_activation_uniform_false test_activation_mixed_flags test_classifier test_classifier_platt_scaling test_classifier_activation test_classifier_head_dtype test_token_embedding_passthrough test_token_embedding_projector test_token_embedding_matryoshka test_token_embedding_matryoshka_mixed test_token_embedding_matryoshka_mixed_with_none test_token_classifier test_token_classifier_platt_scaling test_token_classifier_activation test_token_classifier_chunked_prefill

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

评论区精华

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

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

风险与影响

极低风险。变更仅新增测试文件,未修改任何生产代码。如果测试用例本身存在断言错误,仍有可能误报或漏报,但整体不影响任何已有功能。测试依赖的 V1 池化接口已稳定。

对用户无影响,仅影响开发者和 CI pipeline。CI 中会运行新增测试,增加总执行时间约数秒。团队在后续重构池化器时可依赖此测试套件捕获回归。

仅测试变更 低风险

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论