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 图表数据集的小型子集。 |
如何开始
- 克隆存储库并
cd到research/evolving-vlm-inference-main。 - 执行仅 CPU 的验证(无需下载模型):
python3 -B -m evaluation.portable_reproduce bash reproduce.sh check # 执行记录的证据检查 bash reproduce.sh smoke # 导入导出的程序并验证其 API - 如果您有 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“调整”冻结视觉语言模型的推理脚本,执行一个小型进化式搜索,并获得在图表理解任务上稍微更快且不损失准确度的程序。
相关
- 项目
- 项目