Prhub

#21841 [VLM] Add VLM TP=4 per-commit CI test and improve MMMU eval prompt/parser

原始 PR 作者 yhyang201 合并时间 2026-04-02 11:09 文件变更 2 提交数 1 评论 3 代码增减 +101 / -3

执行摘要

新增 VLM TP=4 CI 测试并优化 MMMU 评估 prompt 与解析器,提升测试覆盖与准确性。

动机是添加Qwen3.5-27B VLM TP=4 MMMU测试到stage-c-test-4-gpu-h100 per-commit CI,因为之前没有VLM测试在4-GPU套件中。同时,改进MMMU评估prompt和解析器以提高准确性和降低延迟,参考了Kimi-Vendor-Verifier的CoT指令格式(引用自PR body)。

建议工程师精读此PR,关注prompt和解析器的设计决策,学习如何优化LLM评估以提升准确性和性能;对于测试维护者,此PR展示了扩展CI测试套件和集成新模型配置的方法,值得借鉴。

讨论亮点

review中gemini-code-assist[bot]提出两项改进建议:

  1. 解析器正则表达式应改为不区分大小写以处理模型可能输出小写字母的情况(如'Answer: a'),增强鲁棒性。
  2. 移除测试中无关的Mamba架构标志(如'--mamba-*'),保持Qwen3.5 Transformer模型配置的简洁性。这些建议可能被采纳以提升代码质量,但讨论中未明确是否已实施。

实现拆解

实现方案包括两个关键改动:

  1. 修改python/sglang/test/simple_eval_mmmu_vlm.py,优化prompt构建以添加CoT指令(如'Think step by step before answering')和显式答案格式('Answer: $LETTER'),并增强解析器逻辑,优先使用正则表达式匹配'Answer: X'模式再回退到原有匹配。
  2. 新增test/registered/vlm/test_vlm_tp4.py,定义VLM TP=4 CI测试用例,设置服务器参数并执行MMMU评估以验证准确性阈值。
文件 模块 状态 重要度
python/sglang/test/simple_eval_mmmu_vlm.py testing/evaluation modified 7.0
test/registered/vlm/test_vlm_tp4.py testing added 6.0

关键符号

_parse_multi_choice_response

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

评论区精华

解析器正则表达式大小写敏感性改进 正确性

gemini-code-assist[bot] 建议将正则表达式改为不区分大小写并统一大写,以处理模型可能输出小写字母的情况,增强解析鲁棒性。

结论:建议被采纳以提升代码质量,可能已在合并前实施。 · 已解决

移除测试中无关的 Mamba 标志 设计

gemini-code-assist[bot] 建议移除 Qwen3.5 测试中与 Mamba 架构无关的标志(如 '--mamba-*'),保持配置清洁以避免混淆。

结论:建议被采纳以优化测试设置,可能已在合并前实施。 · 已解决

风险与影响

技术风险包括:

  1. 解析器变更(simple_eval_mmmu_vlm.py)可能影响所有使用VLM MMMU评估的测试,如果正则表达式不完善或模型输出格式意外变化,可能导致解析错误或准确性下降。
  2. 新增CI测试(test_vlm_tp4.py)可能增加测试套件运行时间和资源消耗,影响CI整体效率。
  3. 改进的prompt指令可能不适用于所有VLM模型,导致评估偏差。

影响范围:

  1. 对用户和系统:显著提升VLM模型的测试覆盖,确保TP=4多GPU配置下的功能正确性;MMMU评估的改进使所有相关测试的准确率提高和延迟降低,提升整体评估效率。
  2. 对团队:扩展了CI测试套件,为后续VLM开发提供基准;prompt和解析器的优化可作为LLM评估最佳实践参考。影响程度为中到高,涉及核心测试逻辑变更。
解析器变更影响面广 CI 测试资源消耗增加

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论