ESC
AI 2 分钟阅读

WeMM-Embedding:腾讯微信视觉团队发布通用多模态嵌入模型家族

腾讯微信视觉团队推出WeMM-Embedding,一个通用多模态嵌入模型家族,支持文本、图像、视频、视觉文档及交错多模态输入,在MMEB-v2和MMEB-v3基准上均达到最先进水平,并提供2B、4B、9B多种规模的开源权重。

来源:GitHub

WeMM-Embedding:微信多模态嵌入模型

Hugging Face 技术报告 许可证

WeMM-Embedding 是由微信视觉团队开发的通用多模态嵌入模型家族。它为文本、图像、视频、视觉文档以及交错多模态输入提供统一表示,在覆盖多种任务和领域的多个基准上均达到最先进性能。

WeMM-Embedding 性能概览

模型集合

模型Matryoshka 维度Hugging Face
WeMM-Embedding-2B64, 128, 256, 512, 1024, 2048🤗 链接
WeMM-Embedding-4B64, 128, 256, 512, 1024, 2560🤗 链接
WeMM-Embedding-9B64, 128, 256, 512, 1024, 2048, 4096🤗 链接

所有模型均支持文本、图像、视频、视觉文档和交错多模态输入。嵌入通过专用 <embedding> 标记位置处的最后一层隐藏状态获得,并进行 L2 归一化。当前不支持音频输入。

安装

pip install -r requirements.txt

Transformers

我们建议使用 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 可获得完整嵌入维度。

Sentence Transformers

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

SentenceTransformer 直接加载模型,因此也可以使用 Hugging Face 模型 ID(如 tencent/WeMM-Embedding-2B)代替本地路径。文本、图像和视频输入通过 SentenceTransformer.encode() 处理,并使用 --dimension 选择 MRL。

服务部署

已测试版本: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 中提供了等效的单命令封装脚本。

Matryoshka 嵌入

对于受支持的维度 d,截断完整嵌入并再次归一化:

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

在 MMEB-v2 上,2B 模型在 256 维度下仍保留其全维度图像和视频性能的 98.7%。

评估

MMEB-v2

技术报告中表1的78个数据集结果。图像和视频任务使用 Hit@1,视觉文档任务使用 NDCG@5。数值越高越好。

模型规模AVGImageVideoVisDoc
VLM2Vec2B47.859.729.044.0
GME2B55.451.933.976.8
VLM2Vec-V22B59.364.934.969.2
Qwen3-VL-Embedding2B73.275.061.979.2
DME-Small†2B74.875.965.679.9
WeMM-Embedding2B77.979.670.880.7
WeMM-Embedding4B79.280.872.182.0
VLM2Vec8B53.265.534.049.1
GME8B59.256.038.679.3
Qwen3-VL-Embedding8B77.880.167.182.4
DME-Medium†9B78.479.870.882.0
WeMM-Embedding9B80.681.974.383.3

† 闭源排行榜提交,未公开模型权重或公共推理端点。

MMEB-v3

技术报告中表2的全部190个任务结果。V3-All 包括 MMEB-v2 的78个任务、53个文本任务、47个智能体任务、11个音频任务和 MCMR。不支持的任务分配零分。

模型规模V3-AllTextAgentMCMRAudio
VLM2Vec-V22B38.324.528.74.10.0
Omni-Embed-Nemotron3B43.539.236.526.136.5
E5-Omni3B44.626.736.931.930.8
Qwen3-VL-Embedding2B50.939.239.342.00.0
WeMM-Embedding2B56.045.345.142.50.0
WeMM-Embedding4B58.247.949.041.90.0
WAVE7B26.313.711.38.931.8
VLM2Vec8B32.922.219.70.90.0
LCO-Embedding-Omni7B40.632.427.820.043.2
GME8B43.637.135.627.30.0
E5-Omni7B47.126.936.741.143.0
Tianmu-Emb-Uni8B53.343.639.438.838.9
Qwen3-VL-Embedding8B53.542.538.438.00.0
WeMM-Embedding9B59.548.851.049.30.0

文本结果使用 NDCG@5;智能体、MCMR 和音频结果使用 Hit@1。

mmeb_v3_eval/ 包含用于生成我们报告数字的 MMEB-v3 评估代码。它是官方 TIGER-AI-Lab/VLM2Vec 流水线的最小差异版本:多节点多 GPU 推理(torchrun --nnodes=N)、实现我们预处理和批量推理的 wemm_embedding 骨干、与发布模型对齐的数据集指令,以及64帧视频采样。数据下载、单节点和多节点命令记录在 mmeb_v3_eval/README.md 中。

cd mmeb_v3_eval
DATA_ROOT=/path/to/MMEB-V3 bash scripts/download_data.sh
MODEL_PATH=/path/to/WeMM-Embedding-2B DATA_BASEDIR=/path/to/MMEB-V3 \
OUTPUT_DIR=exps/wemm_embedding bash scripts/run_eval.sh

引用

如果您觉得这个仓库有用,请考虑给一个星标 ⭐ 并引用:

@article{wemm-embedding,
      title={WeMM-Embedding: WeChat Multi-Modal Embedding Technical Report}, 
      author={Junjie Zhou and Ke Mei and Lei Li and Tianyi Wang and Fengyun Rao and Jing Lyu},
      year={2026},
      eprint={2608.24053},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2608.24053}, 
}

许可证

除非另有说明,本仓库中腾讯创作的代码根据 Apache License 2.0 发布。

第三方组件保留其原始许可证和版权声明。使用前请查看相应的源文件。