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

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.

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
- GitHub Repository: https://github.com/Tencent/WeMM-Embedding
- Hugging Face Model Collection: https://huggingface.co/collections/tencent/wemm-embedding
- arXiv Technical Report: https://arxiv.org/pdf/2608.24053
Related AI Model Articles

Review of DeepSeek Harness Desktop: How the Official GUI Client Lowers the Bar for Agent Usage
DeepSeek Harness Desktop is the official graphical client launched by DeepSeek, designed to provide a visual interface for the originally command-line-based DeepSeek Harness framework. After users log...

Step Code – In-Depth Review of StepFun's Open-Source Terminal Programming Agent
Step Code is an open-source terminal programming agent launched by StepFun, licensed under the MIT License, which allows developers to complete the full workflow of code writing, debugging, execution,...
In-Depth Review of Claude Opus 5.5: A Revolution in Programming Efficiency and Safety for Anthropic's Flagship Model
Claude Opus 5.5 is the first flagship model in Anthropic's Claude 5.5 series, launched in June 2026. It is positioned as a high-end AI model designed for enterprise-level agent programming, complex kn...
In-Depth Review of GPT-6 Sol: A Cost-Effective Revolution in OpenAI's Mid-to-High-End Large Model
GPT-6 Sol is a mid-to-high-end large model introduced by OpenAI, derived from the GPT-6 Astra base model. It brings Astra's reasoning, programming, factual accuracy, and Agent capabilities down to a m...
© All Rights Reserved. Some content on this site is partially generated by AI with human review.
