一句话总结
WeMM-Embedding 是微信视觉团队开源的通用多模态向量模型家族,把文本、图片、视频、视觉文档统一编码到同一个向量空间。2B/4B/9B 三档尺寸,其中 9B 以 80.6 分登顶 MMEB-v2、59.5 分登顶 MMEB-v3,并且已实际部署在视频号、公众号、朋友圈等微信核心业务中——不是实验室 Demo,而是"敢上线"的生产模型。
背景:为什么需要多模态 Embedding
先解释两个基础概念:Embedding(嵌入/向量)是把文字、图片等内容转换成一串数字向量,让计算机能计算"两段内容有多像";向量越接近,内容越相似。搜索引擎的召回、推荐系统的匹配、知识库的检索,底层都依赖 Embedding。
传统的检索是"文字搜文字、图片搜图片",跨模态之间要额外搭建转换系统。多模态 Embedding 的目标则是:把文本、图片、视频、文档统统编码进同一个向量空间,让"一句话找视频""用图片找文档""文字描述找相似商品"这类能力拥有统一的底层基础。
实现多模态 Embedding 有两条主流路线,各有痛点:
- 双塔 CLIP 类架构:图像、文本各自编码后再对齐,模态通路割裂,难以直接建模"图文混合"输入与复杂推理。
- 直接拿多模态大模型(MLLM)当编码器:细粒度排序能力不足、负样本容易误伤、计算开销偏大。
WeMM-Embedding 正是针对这些痛点推出的新方案。
模型概览:一个家族,三个尺寸
WeMM-Embedding 全称 WeChat Multi-Modal Embedding,由腾讯微信视觉团队(WeChat Vision)研发,2026 年 8 月下旬正式开源,代码与模型权重一并公开,采用 Apache 2.0 许可。
| 模型 | 参数规模 | Matryoshka 可选维度 | 最大输出维度 | Hugging Face |
|---|---|---|---|---|
| WeMM-Embedding-2B | 20 亿 | 64 / 128 / 256 / 512 / 1024 / 2048 | 2048 | 🤗 模型页 |
| WeMM-Embedding-4B | 40 亿 | 64 / 128 / 256 / 512 / 1024 / 2560 | 2560 | 🤗 模型页 |
| WeMM-Embedding-9B | 90 亿 | 64 / 128 / 256 / 512 / 1024 / 2048 / 4096 | 4096 | 🤗 模型页 |
三个版本都支持:文本、图像、视频、视觉文档(如截图、PDF 版式页、票据),以及任意交错的多模态输入(一段文字里混入多张图、多段视频均可)。当前版本不支持音频输入。
向量是怎么算出来的
WeMM-Embedding 的向量提取方式很简洁:输入先组织为"任务指令 + 有序多模态段",在序列末尾附加一个专用的 <embedding> 标记,取该标记位置的最后一层隐藏状态,再做 L2 归一化,得到的就是输出向量。
这个 <embedding> 标记可以放多个。例如处理"视频 + 字幕文本"时,在视频 token 之后放一个、序列末尾再放一个,单次前向推理就能同时得到"纯视频表示"和"视频加文本融合表示",非常灵活。
Matryoshka:输出维度可裁剪
WeMM-Embedding 支持 Matryoshka Representation Learning(MRL,嵌套表征学习),即:先训练出高维向量(如 2048/4096 维),部署时按需截取前若干维并重新归一化,就能得到更短、更省存储和计算的低维向量。
官方技术报告给出的数据是:在 MMEB-v2 上,2B 模型压缩到 256 维时,仍保留全维度图像与视频检索性能的 98.7%。这让开发者可以在效果、速度、成本之间按需取舍——检索量极大、对延迟敏感的场景,用低维向量即可大幅省下存储和算力。
技术要点:原生多模态底座 + 两阶段训练
基于 Qwen3.5 原生多模态架构
据 Hugging Face 模型卡与多家媒体报道,WeMM-Embedding 基于原生多模态架构 Qwen3.5 构建(Qwen3.5 是通义团队推出的原生视觉语言模型,早期融合文本与视觉,支持多语言)。选用原生多模态底座,意味着模型在预训练阶段就已具备"图文混合理解"能力,比"事后把两个单模态模型拼起来"更契合统一表征的目标。
统一的 Pair 数据协议
为了统一处理分类、图文检索、视频定位、问答推理等五花八门的任务,研究团队把一切任务都抽象为"源实例 vs 目标候选"之间的相关性度量,构建了数亿级的多模态训练语料,覆盖六大类数据:
- 弱监督图文/视频对:海量网络自然对齐的数据,提供粗粒度的跨模态语义先验。
- 细粒度描述对(Caption Pairs):覆盖物体属性、空间关系、长程因果与动态事件的高质量密集描述。
- 跨模态检索对(Retrieval Pairs):组合式检索、长上下文检索、空间定位、智能体工具/GUI 检索等。
- 分类对(Classification Pairs):把识别任务转换为"源实例 ↔ 类别描述"的匹配。
- 多模态问答对(QA Pairs):OCR、文档图表解析、时空逻辑推理等。
- 分级相关性对(Graded Relevance Pairs):多档位相关度标注,针对搜索与推荐的精细排序需求。
两阶段训练与跨尺度知识蒸馏
训练分两个阶段:
- 大规模多模态对齐:在数亿级配对数据上训练。标准配对数据用对比学习目标;带分级相关性标注的数据用排序目标;对近重复样本做掩码。
- 精选数据精炼:在规模约为第一阶段十分之一的精选数据上精炼。精选集通过语义 ID 逆密度重采样(针对长尾数据)、多模态大模型清洗改写、模态自适应难负例挖掘三个手段构建,并引入重排序模型监督与"同族更大模型"的嵌入蒸馏。
据技术报告与媒体报道,2B、4B 以冻结的 9B 版本为教师完成蒸馏,9B 则通过合并多个互补变体得到,并以更高分辨率输入、更密集视频帧采样扩展视觉输入预算——这是"小模型越级打大模型"的关键。
评测对比:MMEB-v2 与 MMEB-v3
以下所有成绩出自腾讯技术报告(arXiv:2608.24053),分数越高越好。请注意:这是模型官方自报的数据,且部分对比基线为闭源榜单提交,解读时需结合上下文。
MMEB-v2(78 个数据集)

图像与视频任务使用 Hit@1,视觉文档任务使用 NDCG@5:
| 模型 | 参数量 | AVG | Image | Video | VisDoc |
|---|---|---|---|---|---|
| VLM2Vec | 2B | 47.8 | 59.7 | 29.0 | 44.0 |
| GME | 2B | 55.4 | 51.9 | 33.9 | 76.8 |
| VLM2Vec-V2 | 2B | 59.3 | 64.9 | 34.9 | 69.2 |
| Qwen3-VL-Embedding | 2B | 73.2 | 75.0 | 61.9 | 79.2 |
| DME-Small† | 2B | 74.8 | 75.9 | 65.6 | 79.9 |
| WeMM-Embedding | 2B | 77.9 | 79.6 | 70.8 | 80.7 |
| WeMM-Embedding | 4B | 79.2 | 80.8 | 72.1 | 82.0 |
| VLM2Vec | 8B | 53.2 | 65.5 | 34.0 | 49.1 |
| GME | 8B | 59.2 | 56.0 | 38.6 | 79.3 |
| Qwen3-VL-Embedding | 8B | 77.8 | 80.1 | 67.1 | 82.4 |
| DME-Medium† | 9B | 78.4 | 79.8 | 70.8 | 82.0 |
| WeMM-Embedding | 9B | 80.6 | 81.9 | 74.3 | 83.3 |
† 闭源榜单提交,未公开模型权重或公开推理接口。
两个值得注意的点:
- 2B 越级打 8B:WeMM-Embedding-2B(77.9)超过了此前领先的开源 8B 基线 Qwen3-VL-Embedding-8B(77.8)。注意 Qwen3-VL-Embedding 同样是基于 Qwen3-VL 的多模态 Embedding 模型,发布于 2026 年 1 月,此前是 MMEB-v2 的开源最优。
- 9B 登顶:综合平均分 80.6,超过所有公开与商业闭源模型(含 DME-Medium 的 78.4)。
MMEB-v3(190 个任务)
V3-All 包含 78 个 MMEB-v2 任务、53 个文本任务、47 个 agent 任务、11 个音频任务以及 MCMR(多模态组合检索)。文本任务用 NDCG@5,agent / MCMR / 音频用 Hit@1,不支持的任务记零分:
| 模型 | 参数量 | V3-All | Text | Agent | MCMR | Audio |
|---|---|---|---|---|---|---|
| VLM2Vec-V2 | 2B | 38.3 | 24.5 | 28.7 | 4.1 | 0.0 |
| Omni-Embed-Nemotron | 3B | 43.5 | 39.2 | 36.5 | 26.1 | 36.5 |
| E5-Omni | 3B | 44.6 | 26.7 | 36.9 | 31.9 | 30.8 |
| Qwen3-VL-Embedding | 2B | 50.9 | 39.2 | 39.3 | 42.0 | 0.0 |
| WeMM-Embedding | 2B | 56.0 | 45.3 | 45.1 | 42.5 | 0.0 |
| WeMM-Embedding | 4B | 58.2 | 47.9 | 49.0 | 41.9 | 0.0 |
| WAVE | 7B | 26.3 | 13.7 | 11.3 | 8.9 | 31.8 |
| VLM2Vec | 8B | 32.9 | 22.2 | 19.7 | 0.9 | 0.0 |
| LCO-Embedding-Omni | 7B | 40.6 | 32.4 | 27.8 | 20.0 | 43.2 |
| GME | 8B | 43.6 | 37.1 | 35.6 | 27.3 | 0.0 |
| E5-Omni | 7B | 47.1 | 26.9 | 36.7 | 41.1 | 43.0 |
| Tianmu-Emb-Uni | 8B | 53.3 | 43.6 | 39.4 | 38.8 | 38.9 |
| Qwen3-VL-Embedding | 8B | 53.5 | 42.5 | 38.4 | 38.0 | 0.0 |
| WeMM-Embedding | 9B | 59.5 | 48.8 | 51.0 | 49.3 | 0.0 |
MMEB-v3 的结论需要更谨慎:WeMM-Embedding 不支持音频,音频任务记 0 分,因此它的总分是在"放弃音频赛道"的前提下拿到的;反之,支持音频的 E5-Omni、LCO-Embedding-Omni 等模型在 V3-All 上被音频任务拖累。只看 Text / Agent / MCMR 三项,WeMM-Embedding-9B 均列第一。
评测可复现性
为了方便社区复现,微信团队公开了 MMEB-v3 的完整评测代码(仓库 mmeb_v3_eval/ 目录)。它基于官方 VLM2Vec 评测流水线做了最小改动:多机多卡推理支持、适配 WeMM-Embedding 预处理与 batch 推理的 backbone、对齐数据指令、64 帧视频采样。这一点对可信度很关键——评测流程与既有权威基线保持了一致,而不是另起炉灶。
落地:不是 Demo,已经在微信业务里跑
WeMM-Embedding 最大的亮点之一在于真实落地。据技术报告摘要与媒体报道,该系列模型已在视频号、公众号、朋友圈、电商(以及搜一搜等搜索场景)大规模部署,服务于内容召回、搜索和推荐。
- 在 26 项微信内部任务的基准上取得显著提升。
- 完成了 14 次线上 A/B 测试,全部取得一致性改善。
- 这意味着:你刷视频号、搜公众号、看朋友圈推荐时,背后可能已经在用这套向量模型。
"敢上线才是真能打"——这是业界评测数据之外,WeMM-Embedding 最值得关注的一点。
快速上手
环境准备
官方建议使用 transformers==5.2.0 以保证预处理行为与训练一致(更新版本可能在预处理上有差异):
pip install torch transformers==5.2.0 "qwen-vl-utils[decord]==0.0.14" \
"sentence-transformers>=5.7.0" "accelerate>=1.1.0"Transformers 推理
python examples/transformers_inference.py \
--model /path/to/WeMM-Embedding-2B \
--image /path/to/image.jpg \
--video /path/to/video.mp4 \
--dimension 2048示例会分别生成文本、图像、视频的独立 Embedding;省略 --dimension 则输出完整维度。--model 也支持 Hugging Face 模型 id(如 tencent/WeMM-Embedding-2B)。
Sentence Transformers
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("tencent/WeMM-Embedding-9B", trust_remote_code=True)
embeddings = model.encode(["今天天气不错。", "It's so sunny outside!"])文本、图像、视频统一走 encode(),MRL 维度由 --dimension 指定。
线上服务部署
官方已验证 vLLM 0.27.0 与 SGLang 0.5.9:
# vLLM
MODEL_PATH=/path/to/WeMM-Embedding-2B
vllm serve "$MODEL_PATH" \
--runner pooling \
--chat-template "$MODEL_PATH/embedding_chat_template.jinja"# SGLang
MODEL_PATH=/path/to/WeMM-Embedding-2B
python scripts/patch_sglang_video.py
python -m sglang.launch_server \
--model-path "$MODEL_PATH" \
--is-embedding \
--enable-precise-embedding-interpolation仓库也提供了一键脚本 scripts/serve_vllm.sh 与 scripts/serve_sglang.sh。
局限与注意事项
- 不支持音频:当前版本不接受音频输入,MMEB-v3 音频任务计 0 分。需要音视频统一检索的场景暂时不适合。
- 自报评测数据:MMEB-v2/v3 成绩出自腾讯技术报告,属官方自报,第三方独立复现值得等待。
- 对比基线口径:MMEB-v2 表中含闭源榜单提交(DME-Small/Medium,带 † 标注),横向对比时需注意其并未公开权重。
- 版本敏感:官方建议锁定
transformers==5.2.0,升级前需回归验证;社区已有针对新版 transformers 与 sentence-transformers 集成的问题讨论(Hugging Face 模型页 discussions)。 - 开源但已商用验证:模型权重与代码为 Apache 2.0 全开源,但它在微信内的部署数据(如 26 任务内部基准、14 次 A/B)仅见于技术报告,外部无法复现。
数据来源与参考
本文事实以官方渠道为准,并经多家媒体交叉验证:
- 官方 GitHub 仓库(含中英文 README、评测代码):github.com/Tencent/WeMM-Embedding
- 技术报告(arXiv 2608.24053):arxiv.org/abs/2608.24053
- Hugging Face 模型集合:huggingface.co/collections/tencent/wemm-embedding
- Hugging Face 论文页(含摘要与训练细节):huggingface.co/papers/2608.24053
- 智猩猩 / 腾讯新闻《微信竟把"隐形AI"开源了》:news.qq.com
- 我爱计算机视觉《2B超越8B基线,9B登顶MMEB-v2榜首》:sohu.com
- 动点科技《微信团队开源 WeMM-Embedding》:sohu.com
- 对比基线 Qwen3-VL-Embedding 技术报告:Qwen3-VL-Embedding
