zzzz7788990213-ops/EvoVLM

Evolving Multimodal Inference Programs: LLM-guided evolutionary search for accurate and efficient vision-language inference.

EvoVLM – 进化多模态推理程序

这是什么

EvoVLM 是一个研究级代码库,探讨如何改善冻结视觉语言模型(Qwen‑3‑VL‑2B 系列)的推理行为。它不是微调模型权重,而是让大型语言模型(LLM)对 Python 推理程序提出小型、类型化的变异——改变提示、图像预处理步骤、生成预算或答案提取逻辑。进化循环(变异 → 评估 → Pareto 选择)保留准确度和延迟之间的最佳权衡,用于科学图表理解基准。

为什么重要

  • 无权重优化 – 模型保持冻结,因此此方法可应用于任何专有或大规模 VLM,无需昂贵的重新训练。
  • 多目标搜索 – 它明确平衡正确性与速度,这是实时或边缘部署的实际考量。
  • 可重现研究 – 存储库提供确切的搜索轨迹、评估证据,以及一个小型“重播”模式,无需模型文件即可验证结果。

核心组件(来自存储库)

组件 角色
evolution/ 类型化变异定义、本地 LLM 引导的变异引擎,以及进化式搜索逻辑。
evaluation/ 在小型验证集上执行候选程序、记录准确度、延迟、错误和来源的脚本。
best_*.py 最终选定的推理程序,达到最佳准确度‑延迟 Pareto 点。
reproduce.sh & evaluation/portable_reproduce.py 仅 CPU 的“重播”命令,重新执行记录的证据,以检查公布的数字是否可重现,无需下载模型权重。
report.pdf & generated/report_number_trace.json 技术报告和论文中使用的所有指标的机器可读轨迹。
data/ & charxiv/ 用于搜索和验证的 CharXiv 图表数据集的小型子集。

如何开始

  1. 克隆存储库并 cd 到 research/evolving-vlm-inference-main。
  2. 执行仅 CPU 的验证(无需下载模型):
    python3 -B -m evaluation.portable_reproduce
    bash reproduce.sh check   # 执行记录的证据检查
    bash reproduce.sh smoke   # 导入导出的程序并验证其 API
    
  3. 如果您有 GPU 和 Qwen‑3‑VL‑2B 权重,请按照同一文件夹中的 README.md 安装固定的 requirements.lock.txt、下载模型快照,并在您自己的数据上执行推理程序。

论文报告的内容

程序 正确 / 128 准确度 中位数延迟(秒)
基线 Instruct 51 39.84% 14.54
手动 Instruct(人工制作) 78 60.94% 15.44
进化 Instruct(来自 EvoVLM) 78 60.94% 14.07
手动 Thinking 23 17.97% 20.04
进化 Thinking 44 34.38% 17.91

进化程序保持(或改善)其手动种子的准确度,同时将中位数延迟缩短 8–10%。

限制与范围

  • 进化式搜索非常小——只有两代,每代最多 6 个子代。
  • 结果基于 CharXiv 图表基准的 Dev128 验证分割;这不是完整的排行榜分数。
  • 延迟数字取决于原始执行中使用的特定硬件/软件环境。
  • 模型权重是外部的;存储库仅包含代码和记录的证据。

TL;DR:EvoVLM 展示了一个概念验证,您可以让 LLM“调整”冻结视觉语言模型的推理脚本,执行一个小型进化式搜索,并获得在图表理解任务上稍微更快且不损失准确度的程序。

相关

  • 项目
  • 项目