Back to Model List

WeMM-Embedding: Tencent Open-Sources a General Multimodal Embedding Model

AI Tech Editorial
RSS Feed
WeMM-Embedding: Tencent Open-Sources a General Multimodal Embedding Model official screenshot
(Image source: official screenshot)

Executive Summary:

Tencent's WeChat Vision Team has open-sourced WeMM-Embedding, which encodes text, images, and videos into a unified vector space. Teams working on content retrieval, recommendation recall, or agent me...

Tencent's WeChat Vision Team has open-sourced WeMM-Embedding, which encodes text, images, and videos into a unified vector space. Teams working on content retrieval, recommendation recall, or agent memory can use it directly. It has already been deployed at scale across WeChat Channels, Official Accounts, Moments, and e-commerce platforms—this is not a lab project. Audio input, however, is not currently supported.

Model Specifications and Inputs

WeMM-Embedding comes in three sizes—2B, 4B, and 9B—with both weights and code open-sourced. The GitHub repository is at Tencent/WeMM-Embedding, the model collection is on Hugging Face, and the technical report is on arXiv (2608.24053). It accepts text, images, videos, visual documents, and any interleaved multimodal content, encoding them into a unified vector space. You can retrieve a video with a text query, match an image against a document, or encode interleaved text and image content into a single vector.

wemm-embedding-embedding official article screenshot
Image source: official article

Technical Approach and Output Dimensions

The backbone is the Qwen3.5 multimodal large language model. An <embedding> token is appended to the end of the input sequence, and the final-layer hidden state is L2-normalized to produce the vector representation.

Training proceeds in two stages: first, hundreds of millions of heterogeneous data pairs establish a general multimodal alignment space; then, hard negative samples, re-ranker supervision, and cross-scale embedding distillation refine it.

The model uses Matryoshka representation learning, so a single inference can output nested vectors with dimensions from 64 to 4096. According to the official documentation, the 256-dimensional version retains nearly 99% of the full-dimensional performance, keeping storage and retrieval costs manageable. However, the Hugging Face model card specifies 2048 dimensions for the 2B version and 4096 for the 9B version; the default output dimension for the 4B version is not listed.

Performance on MMEB

On the MMEB-v2 benchmark leaderboard, WeMM-Embedding ranks first. Average scores across the three scales are as follows:

Scale MMEB-v2 Average
2B 77.9
4B 79.2
9B 80.6

According to the technical report summary, the model has been deployed at scale in WeChat's video feed, Official Accounts, Moments, and e-commerce recommendation and search scenarios. Public information also notes that the team ran 14 A/B tests on core businesses such as the video feed, Official Accounts, and search. Results improved consistently, and all have been fully rolled out.

Deployment and Integration

Getting it running is straightforward: clone the GitHub repository, install dependencies with pip install -r requirements.txt, download the weights from Hugging Face, and run examples/transformers_inference.py or examples/sentence_transformers_inference.py.

Production deployment supports Transformers, Sentence Transformers, vLLM (--runner pooling), and SGLang (--is-embedding). The official recommendation is transformers==5.2.0 for reproducible results.

Things to Verify Before Selection

Several details are missing from the official public materials: the default output dimension for the 4B version, naming differences for the 8B version, the Apache 2.0 license, audio input plans, evaluation set division, training data scale, and hardware requirements. Storage and retrieval costs for the 4B version should be estimated based on the actual returned dimensions. The MMEB-Leaderboard discussion from December 2025 mentions 2B and 8B variants; confirm with the official documentation or community before choosing a specification. The public comparison table lists the license as Apache 2.0, but the official repository and model card do not state a license—verify this before commercial use. Audio input is not supported, so this version is not suitable for scenarios that require it. Before deployment, you must run your own memory pressure tests to assess GPU memory usage.

The 2B model has the fewest parameters and the 9B has the most; the choice depends on your hardware. Audio-input scenarios should be ruled out.

Sources and Project Links

Related AI Model Articles

© All Rights Reserved. Some content on this site is partially generated by AI with human review.