人工智能多模态Embedding微调计算机视觉深度学习机器学习模型评测【免费下载链接】VLM2VecThis repo contains the code for VLM2Vec / MMEB [ICLR 2025], VLM2Vec-V2 / MMEB-V2 [TMLR 2026], and MMEB-V3 [COLM 2026]项目地址https://gitcode.com/gh_mirrors/vl/VLM2Vec点击查看免费下载VLM2Vec 是一个开源的多模态检索工具包ICLR 2025 论文项目它把现成的视觉-语言模型VLM改造成统一的多模态嵌入模型让你可以用同一个模型完成图像搜索、文本搜索、图文匹配、视觉问答等任务。本文带你从零跑通第一次图像/文本相似度搜索并了解模型训练与评估的完整流程。一、VLM2Vec 是什么为什么适合做多模态检索传统的 CLIP 类模型往往只能做图搜图或文搜文而实际业务中检索的输入输出可能是任意模态组合用一段文字描述找图片用一张图片找相似的描述用图片 问题找正确的答案VLM2Vec 的核心思路是取 VLM 序列最后一个 token 的隐状态作为整段多模态输入的统一向量表示。这样一来无论输入是纯文本、纯图片还是图文混合都能编码到同一个向量空间里通过计算余弦相似度即可完成检索。上图展示了 VLM2Vec 支持的四大任务族分类、VQA、视觉定位、检索每个任务只需给出一句不同的指令Instruction同一模型即可输出对应任务的嵌入向量并在 MMEB 基准上统一评估。二、原理速览如何把 VLM 变成嵌入模型VLM2Vec 采用双编码器 对比学习的经典结构查询侧Query把图片、指令等输入送入 VLM取 LAST token 得到查询向量目标侧Target把正样本如正确描述、正确图片用同样方式编码为目标向量对比损失Contrastive Loss拉近正样本对、推开负样本对使向量空间中语义相近 距离相近。该框架对骨干模型没有特殊要求仓库已内置 Phi-3.5V、LLaVA-Next、Qwen 等主流开源 VLM 的适配代码见 src/vlm_backbone/因此你可以选择任意熟悉的 VLM 作为检索底座。三、快速上手跑通第一次图文相似度搜索 仓库提供了开箱即用的演示脚本 scripts/llava_next/demo.py它加载 LLaVA-Next 版本的 VLM2Vec完成图片 文本查询 → 与候选文本算相似度的完整流程# 图片 文本作为查询 qry_output model(qryinputs)[qry_reps] # 纯文本作为检索目标 tgt_output model(tgtinputs)[tgt_reps] model.compute_similarity(qry_output, tgt_output)演示中使用了一张小狗和小猫互动的示例图片 figures/example.jpg运行结果示例检索文本相似度A cat and a dog一只猫和一只狗0.44A cat and a tiger一只猫和一只老虎0.36可以看到与图片内容更匹配的文本得分更高——这就是构建图像/文本搜索引擎的最小闭环。相似度计算逻辑位于 src/model.py 的compute_similarity方法。 提示构建真实检索应用时只需把目标库中所有候选图片/文本预先编码并向量化存储如存入向量数据库查询时编码一次并取 Top-K 即可。四、训练你自己的多模态嵌入模型如果你想在自己的数据上训练或微调train.py 提供了完整的训练入口几个关键参数参数作用建议--model_nameVLM 骨干模型如microsoft/Phi-3.5-vision-instruct--lora --lora_r 16启用 LoRA 低秩微调显存有限时首选可省大量显存--grad_cache True启用 GradCache 优化对比学习显存过大的救星--gc_q_chunk_size/--gc_p_chunk_sizeGradCache 分块大小显存越小设越小--temperature 0.02对比损失温度默认值即可--pooling last取最后一个 token 作为向量与官方模型保持一致多卡训练示例完整参数见 README.md 的 Training 章节torchrun --nproc_per_node2 train.py \ --model_name microsoft/Phi-3.5-vision-instruct \ --model_backbone phi3_v \ --dataset_name TIGER-Lab/MMEB-train \ --grad_cache True --lora --lora_r 16其中 GradCache梯度缓存的完整实现放在 grad_cache/ 目录下其命令行用法说明见 grad_cache/minigc_cmd.md。训练数据采用官方 MMEB-train 数据集20 个子任务涵盖分类、VQA、检索、定位等多种指令风格指令多样性显著提升模型对未见任务的泛化能力。五、评估用 MMEB 基准检验检索效果VLM2Vec 配套提出了MMEBMassive Multimodal Embedding Benchmark基准包含 20 个域内IND 16 个域外OOD任务覆盖分类、VQA、检索、视觉定位四大元任务。评估入口是 eval.py流程分三步编码查询集query得到qry_reps向量编码目标集target得到tgt_reps向量计算相似度并输出各任务的检索/分类得分打分逻辑在 evaluation/eval_utils.py。python eval.py --model_name TIGER-Lab/VLM2Vec-Full \ --model_backbone phi3_v \ --dataset_name TIGER-Lab/MMEB-eval \ --subset_name N24News HatefulMemes CIRR \ --normalize True --image_dir eval_images/从官方结果看基于 LLaVA-Next 的 LoRA 微调版本整体得分62.9比最强无微调基线高18.2比最强微调基线高15.7——在多模态检索任务上优势明显。六、实践建议清单 ✅显存紧张优先--lora--grad_cache True并调小--gc_q_chunk_size图像输入通过--num_crops控制图像裁剪数量越多越精细但越耗时演示脚本用 4 个 crop;向量归一化检索场景建议开启--normalize True配合余弦相似度使用指令工程给查询配上与目标任务匹配的 Instruction 文本检索效果会更稳定选择底座追求最高性能选 LLaVA-Next 版本追求轻量可试 Phi-3.5V 版本。现在你已经掌握了用 VLM2Vec 从嵌入向量构建图像/文本搜索应用的全链路跑通 demo → 按需训练微调 → 用 MMEB 评估效果。动手试试吧赞分享人工智能多模态Embedding微调计算机视觉深度学习机器学习模型评测【免费下载链接】VLM2VecThis repo contains the code for VLM2Vec / MMEB [ICLR 2025], VLM2Vec-V2 / MMEB-V2 [TMLR 2026], and MMEB-V3 [COLM 2026]项目地址https://gitcode.com/gh_mirrors/vl/VLM2Vec点击查看免费下载相关推荐LanceDB Rust SDK 实战指南用 Rust 构建嵌入式向量检索与多模态 AI 应用LanceDB Rust SDK 实战指南用 Rust 构建嵌入式向量检索与多模态 AI 应用 LanceDB Rust SDKcrate 名为 lance向量数据库数据库全文检索数据湖多模态嵌入式数据库列式数据库Sentence Transformers 图像搜索实战用 CLIP 模型将图像与文本嵌入同一向量空间Sentence Transformers 图像搜索实战用 CLIP 模型将图像与文本嵌入同一向量空间 本文是 Sentence Transformers 图人工智能NLP深度学习微调RAGFlow.Launcher Everything 文件搜索完整上手指南Flow.Launcher Everything 文件搜索完整上手指南 Flow.Launcher 是一款 Windows 快捷启动器它内置的 Explore桌面应用插件系统上一篇Better Enums扩展功能揭秘位集操作、特殊值处理等高级特性下一篇开放科学实践指南Genos-10B-v2开源协议与全球基因组学社区协作终极教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考