WeMM-Embedding输入类型完全指南:文本、图像、视频、文档与交错多模态的5种用法

原创2026-10-10 14:55:591,245 阅读
文章标签:人工智能大模型Embedding多模态模型评测模型推理服务

WeMM-Embedding输入类型完全指南:文本、图像、视频、文档与交错多模态的5种用法

WeMM-Embedding 是微信视觉团队(WeChat Vision)开源的通用多模态 Embedding 模型家族,能把文本、图像、视频、视觉文档、交错多模态这 5 种输入统一编码成同一个向量空间里的嵌入向量(Embedding),一个模型就能完成跨模态的语义检索。本文带你从零看懂这 5 种输入类型分别怎么用,以及它们各自的典型场景。

WeMM-Embedding多模态Embedding模型在不同规模下的性能总览图

一、5种输入类型总览:一张表看懂

无论输入是什么模态,WeMM-Embedding 的输出都是同一个维度的向量——不同模态的向量可以直接做相似度计算(余弦相似度),这就是"统一表示"的意义。

输入类型 典型场景 示例
📝 文本 文搜图、文搜视频、语义搜索 用一段描述从图库中找照片
🖼️ 图像 以图搜图、图文跨模态检索 找同款商品、以图搜描述
🎬 视频 文搜视频、视频推荐 "湖心船上看山景"定位视频片段
📄 视觉文档 图表/票据/页面截图检索 问题定位到相关图表
🔀 交错多模态 图文混排内容理解与检索 商品页(图+标题+价格+卖点)整体编码

💡 全系列 3 个模型(2B / 4B / 9B)都支持以上全部 5 种输入,音频输入暂不支持。

模型规模与维度一览:

模型 支持的 Matryoshka 维度
WeMM-Embedding-2B 64 / 128 / 256 / 512 / 1024 / 2048
WeMM-Embedding-4B 64 / 128 / 256 / 512 / 1024 / 2560
WeMM-Embedding-9B 64 / 128 / 256 / 512 / 1024 / 2048 / 4096

二、文本嵌入:从一句话到检索结果

最基础的用法:把一段自然语言编码成向量。WeMM-Embedding 的文本嵌入特别强的一点是细粒度语义区分——连图片里包含的文字(招牌、水印)都能理解。

比如用文字"一家转角建筑,门上方写着 Red Corner Cafe 的招牌"去检索,模型能精确命中带这块招牌的店面,而不是其他长得像的转角咖啡馆。下面这张就是模型用来做"干扰项"的相似店面:

WeMM-Embedding文本嵌入检索中的相似店面图像示例

在 TextCaps 等"图中文字检索"基准上,WeMM-Embedding 都能把正确目标排到 Top-1。

三、图像嵌入:以图搜图与图文跨模态

图像输入走的是视觉语言模型(VLM)预处理管线:图片被切分成视觉 token,与文本 token 在同一个 Transformer 里融合编码。这意味着图像嵌入天然理解图像里的语义,而不只是像素相似度。

看一个真实案例:输入一段很长的描述——"一只龟坐在长满青苔的漂浮树干上,水面漂着泡沫,远处有枯草"——模型在 5000 张候选图里精准找到了下面这张图(Top-1 命中):

WeMM-Embedding图像嵌入检索命中的乌龟与青苔树干照片

两个近似干扰项(只有"龟+木头"但缺少青苔、泡沫等细节的图)都被正确排在了后面。这就是细粒度描述检索的威力。

四、视频嵌入:把整段视频压成一个向量

视频输入会被均匀采样成帧序列(官方评测使用 64 帧),按"帧包(frame bundle)"约定展开后与文本一起编码,输出和文本/图像完全同构的向量。

典型场景是文搜视频:在 MSR-VTT 基准中,用文本 "the mountain views are from a boat on the center of a lake"(湖中心船上的山景视角)检索,WeMM-Embedding-9B 能在一千个候选视频中把"从船上拍摄湖面山景"的那段排到第一,并把"陆上旅行视角"等干扰视频排到后面。

五、视觉文档嵌入:检索图表、票据与页面截图

视觉文档(VisDoc)任务处理的是以图像形式存在的文档内容:图表、表格、票据、合同页、网页截图。模型需要理解图中的数字、单位和类别标签,而不只是版式。

看一个图表检索案例:问题是"按每 100 千卡热量计的羊肉与山羊肉生产的土地利用是多少?"模型要在 500 张图表里找到单位是"每 100 千卡"(而不是相近的"每 100 克蛋白质")的那张:

WeMM-Embedding视觉文档嵌入检索命中的土地利用统计图表

单位、指标、类别三个条件全部对上才能命中,这也是 VisDoc 任务得分最高的关键。

六、交错多模态:图文混排在同一个 Prompt 里

第 5 种输入是前四种的"组合体":一段 Prompt 里文本和图片按顺序穿插排列。输入消息中的内容列表(content list)可以包含多个 text、image、video 项,模型会把它们按占位符位置交错插入后一起编码。

典型应用是商品信息理解与检索(MCMR 任务):候选商品 = 商品主图 + Title / Description / Price / Features 字段,整体作为一个图文混合样本编码;查询则是一条文字描述。相关解析逻辑见 mmeb_v3_eval/src/data/eval_dataset/mcmr_dataset.py,交错插入的处理在 mmeb_v3_eval/src/model/processor.py。

WeMM-Embedding交错多模态输入示例:同一场景的干扰图像

在 MMEB-v3 的 47 个 Agent 任务上,交错多模态理解能力让 WeMM-Embedding 拿到同规模第一(9B 达 50.1 分)。

七、快速上手:三步跑通第一种输入

依赖非常轻,核心就是 transformers + sentence-transformers:

pip install -r requirements.txt

仓库自带两个最小推理示例(官方推荐 transformers==5.2.0 以保证预处理行为一致):

python examples/transformers_inference.py \
  --model /path/to/WeMM-Embedding-2B \
  --image /path/to/image.jpg \
  --video /path/to/video.mp4 \
  --dimension 2048

它会对同一条消息里的文本、图像、视频分别输出独立嵌入向量;省略 --dimension 则使用完整维度。另外 examples/sentence_transformers_inference.py 展示了用 SentenceTransformer.encode() 的更简洁写法——文本、图像、视频都可以直接 encode()。

生产环境部署可用 vLLM 或 SGLang 起推理服务,一键脚本在 scripts/serve_vllm.sh 与 scripts/serve_sglang.sh(SGLang 需先跑 scripts/patch_sglang_video.py 打视频补丁)。

八、Matryoshka 维度:一个模型输出多种向量长度

所有模型都支持 Matryoshka(MRL)嵌入:截取完整向量前 d 维再 L2 归一化即可得到 d 维表示,无需重新训练。维度越短,向量库存储和检索越快,性能损失很小——以 2B 模型为例,256 维时仍保留完整维度图像/视频性能的 98.7%:

WeMM-Embedding多模态模型Matryoshka嵌入维度与性能保留率趋势图

九、性能表现与评测代码

WeMM-Embedding 在 MMEB-v2(78 个数据集)与 MMEB-v3(190 个任务)上全面领先同规模模型:

模型 MMEB-v2 AVG 图像 视频 视觉文档
WeMM-Embedding-2B 77.9 79.6 70.8 80.7
WeMM-Embedding-4B 79.2 80.8 72.1 82.0
WeMM-Embedding-9B 80.6 81.9 74.3 83.3

MMEB-v3 上 9B 模型更是拿下 Agent 任务 50.1 分的全场最高分。完整对比见 README.md 的评测章节与技术报告 assets/WeMM_Embedding_tech_report.pdf。

评测代码在 mmeb_v3_eval/(mmeb_v3_eval/README.md 有数据下载、单机/多机多卡的完整命令,如 scripts/run_eval.sh)。另外,docs/ 是一个交互式项目页,内置 6 个真实检索案例(数据见 docs/data/cases.json),可以在线查看每个查询的 Top-1 命中与干扰项分析。

十、总结:选哪种输入?

  • 只有文字 → 直接传文本消息,覆盖文搜图/文搜视频/语义搜索;
  • 有一张图 → 图像消息,适合以图搜图、同款识别;
  • 有一段视频 → 视频消息,采样 64 帧编码,适合视频检索;
  • 图表/票据/截图 → 视觉文档消息,适合 RAG 图表问答、单据归档检索;
  • 图文混排内容 → 交错多模态消息,商品理解、GUI 轨迹、多截图对话都可以整体编码。

无论哪种输入,输出的都是同一个空间里的向量——这就是 WeMM-Embedding 作为"多模态 Embedding 统一底座"的核心价值:5 种输入,1 个向量空间。

登录后查看全文
WeMM-Embedding