智猩猩AI整理

编辑:林夕

刚刚,微信官方宣布开源WeMM-Embedding,一款由微信视觉团队开发的多模态Embedding模型。

它不像大模型那样天天出现在发布会和热搜里,也不会陪你聊天、帮你写代码。

但它干的事情,可能比这些更底层

打开网易新闻 查看精彩图片

简单来说,WeMM-Embedding负责把文本、图片、视频等内容转化成AI可以理解和检索的向量

而且这不是实验室里的Demo,目前已经实际部署在视频号、公众号、朋友圈、电商等多个微信业务场景中。

也就是说,你每天刷微信、搜公众号、找视频、获取推荐内容时,背后有一部分搜索和推荐能力,早就已经在使用这类模型。

而这一次,微信直接把它开源了。

打开网易新闻 查看精彩图片

01

让文字、图片、视频

进入同一个空间

以前做搜索,往往是文字搜文字、图片搜图片,跨模态之间需要额外搭一层系统。

WeMM-Embedding最核心的特点,就是多模态统一表示,把文本、图片、视频、视觉文档都编码进同一个向量空间,让一句话找视频、用图片找文档这类能力拥有统一的底层基础。

模型由微信视觉团队基于原生多模态的Qwen3.5底座训练,官方目前开源了2B、4B、9B三个版本,三款模型都支持文本、图片、视频、视觉文档,以及交错的多模态输入。

打开网易新闻 查看精彩图片

输出向量取自序列末尾一个专用的embedding标记。

输入先组织为任务指令加有序多模态段,文本与视觉内容各自经原生编码管道转为token,在序列末尾附加embedding标记后,取其最后一层隐藏状态并做L2归一化,即得到输出向量。

该标记支持插入多个,例如视频段后放一个、序列末尾再放一个,单次前向即可同时得到仅视频视频加文本两种表示。

还有一个很实用的设计,WeMM-Embedding并不是简单地把模型做大,它还支持Matryoshka Embeddings(可变维度向量)

官方给出的三个模型分别支持不同的输出维度,例如2B支持从64维一直到2048维,9B则最高支持到4096维。

打开网易新闻 查看精彩图片

WeMM-Embedding-2B在MMEB-v2上不同维度的性能保留率

开发者可以根据业务需要选择输出维度,在效果、速度和成本之间取舍。官方技术报告显示,2B模型在256维输出下保留全维度图像与视频检索性能的98.7%

训练分两个阶段。

第一阶段为大规模多模态对齐,使用数亿规模的配对数据。标准配对数据以对比学习目标训练,带分级相关性标注的数据以排序目标训练,并对近重复样本做掩码。

第二阶段在约十分之一规模的精选数据上精炼,引入重排序模型监督与同族更大模型的嵌入蒸馏。

2B、4B以冻结的9B版本为教师,9B通过合并多个互补变体完成,同时以更高分辨率输入与更密集视频帧采样扩展视觉输入预算。

打开网易新闻 查看精彩图片

论文中对训练数据的分类概览,覆盖弱监督对、分级相关性对、分类对、Caption 对、检索对和问答对等多种类型

02

9B双榜第一,

2B直接越级

性能方面,官方技术报告给出了以下数据。基准成绩覆盖 MMEB-v2(78 个数据集)与 MMEB-v3(190 个任务)。

MMEB-v2上,WeMM-Embedding-9B综合平均分80.6,两个基准均列第一;2B综合77.9,超过Qwen3-VL-Embedding-8B;4B综合79.2。

打开网易新闻 查看精彩图片

MMEB-v2 基准成绩对比。† 为闭源榜单提交

打开网易新闻 查看精彩图片

WeMM-Embedding 在不同参数规模下的 MMEB-v2 总体性能、图像/视频/跨模态检索表现,以及与主流基线的对比

MMEB-v3 上,9B总分59.5列第一,2B 56.0、4B 58.2。当前版本不支持音频输入,音频任务按0分计入。

打开网易新闻 查看精彩图片

为了方便社区复现,微信团队还公开了MMEB-v3评测代码。整个评测基于官方VLM2Vec pipeline,仅针对WeMM-Embedding的模型、指令和视频帧数等部分进行了适配,其余评测流程基本保持不变。

打开网易新闻 查看精彩图片

目前模型权重托管于HuggingFace,代码与示例位于GitHub仓库。安装依赖后即可加载模型,官方建议使用transformers==5.2.0以保证预处理行为一致。

pip install -r requirements.txt

加载模型并计算文本、图片、视频的向量,可运行仓库示例脚本,--model支持HuggingFace模型id:

  --dimension 2048

线上服务可基于vLLM(测试版本 0.27.0)或SGLang(测试版本0.5.9)部署:

  --chat-template "$MODEL_PATH/embedding_chat_template.jinja"

Matryoshka维度截断在推理后对向量重新归一化即可,2B在256维下保留全维度图像与视频性能的98.7%:

embedding = torch.nn.functional.normalize(embedding[..., :d], dim=-1)

03

微信真正开源的,是一层“隐形 AI”

微信此前公开的AI能力主要集中在混元大模型及对话类应用

WeMM-Embedding是微信此次较为完整地公开了搜索、推荐类后台模型的权重与代码

过去,这类直接服务于微信核心业务的底层AI能力很少被摆到台前。

此次开源意味着微信将一部分「隐形 AI」直接公开。它不仅是论文中跑分的模型,而是已经过微信内部真实业务长期验证的系统组件。

这也是为什么,很多真正做 AI产品的人看到这个消息,第一反应可能不是:“又来了一个 Embedding 模型。”而是:“微信把自己怎么理解这么多内容的底层能力拿出来了。

这次微信开源的东西,确实有点东西。

关注+星标,获取AI前沿进展与开源一线动态