一句話版本
WeMM-Embedding 是騰訊微信視覺團隊開源的通用多模態向量模型家族(2B/4B/9B,Apache 2.0),9B 版以 80.6 分登頂 MMEB-v2 官方榜單;而它的 2B 版,已經能在一台 Mac Studio 上以 47ms/條的速度本地跑起來。
這篇拆解三個層次:技術報告方法論(它為什麼強)、工程就緒度(它好不好用)、本地實測(它能不能進我們的基建)。
項目概覽
| 項目 | 數值 |
|---|---|
| 出品 | 騰訊微信視覺團隊(WeChat Vision Team) |
| 技術報告 | arXiv:2608.24053(2026-08-25) |
| 開源協議 | Apache 2.0(Tencent-authored 代碼) |
| 模型規格 | 2B / 4B / 9B,基於 Qwen3.5 原生多模態 backbone |
| 支援模態 | 文本、圖像、視頻、視覺文檔、任意交錯多模態(不支援音頻) |
| 輸出維度 | Matryoshka 嵌套:64–4096(依規格) |
| 榜單成績 | MMEB-v2 總分 80.6(9B),官方榜單第一(截至 2026-08-24) |
| 生產部署 | 微信視頻號、公眾號、朋友圈、電商推薦 + 微信搜索,14 個在線 A/B 全正增益 |
為什麼這件事重要
向量模型(embedding)是檢索、推薦、RAG、agent 記憶系統的地基。過去這塊地基有兩個斷層:
- 模態斷層:文本 embedding(BGE、E5 系列)與視覺 embedding(CLIP 系)各走各路,「圖+文+視頻」混排的檔案無法進同一個向量空間。
- agent 斷層:新一代 agent 系統需要對 tool 描述、GUI 截圖、memory 片段做統一檢索,傳統文本 embedding 覆蓋不到。
WeMM-Embedding 的同時登頂兩個榜單恰好踩在這兩個斷層上:MMEB-v2(圖/視頻/視覺文檔)第一,加上 MMEB-v3 的 Text 組與 Agent 組(tool/GUI/memory 檢索,47 個任務)也是第一。換句話說,它不只是「又一個多模態 CLIP」,而是目前公開模型裡最接近「agent 基建標準組件」的 embedding。
架構拆解:把 MLLM 變成一台向量機器
<embedding> token + last-token pooling
WeMM 建在 Qwen3.5 原生多模態架構上。輸入可以是任意順序交錯的文本段、圖、視頻,序列末尾追加一個專用 <embedding> token,取其最後層 hidden state 做 L2 歸一化即為輸出向量:
S = [z_1, z_2, ..., z_N, z_emb] → e = h_emb / ‖h_emb₂
在 causal attention 下,<embedding> token 天然 attend 到前面所有文本與視覺內容——不需要額外的 pooling 頭或投影層改造。
一個forward,多種向量
同一因果結構允許在序列中間插多個 <embedding> token。技術報告給的例子很實用:視頻後面插一個、序列末尾再插一個,一次 forward 同時產出「純視頻向量」和「視頻+ASR 文本聯合向量」,下游推薦系統各取所需。這個設計對「同一資產多種檢索口徑」的場景(我們年報的圖表 vs 全文)非常對味。
Matryoshka:一個模型,六種維度
MRL(Matryoshka Representation Learning)訓練後,取前 d 維再歸一化即得低維向量。2B 支援 64/128/256/512/1024/2048,9B 最高 4096。256 維保留 98.7% 的滿維圖/視頻性能——這意味著索引存儲可以砍到 1/8 而幾乎不掉點。
兩階段訓練:從「廣覆蓋」到「細相關」
Stage 1:數億 pair 的大規模對齊
統一 pair 格式 (instruction, query, target, hard_negatives, graded_score) 把檢索、分類、QA、grounding 全部塞進同一個多任務管線。三個目標函數並行:
- InfoNCE 對比 + duplicate-aware masking:batch 內近重複的 source/target 被遮掉,避免分類任務的假負例(消融 -0.5 分若移除);
- score-gap 加權 CoSENT:人工分級相關性標籤轉為排序約束,gap 越大權重越高;
- MRL 多維損失:每個 batch 在所有支援維度上同時優化。
消融裡影響最大的是 task-consistent batching(同一 batch 來自同一任務與候選空間):換成混合採樣直接 -3.4 分。這給我們的啟示很直接——對比學習的負例質量取決於 batch 內候選空間的一致性,混batch 是隱形殺手。
Stage 2:curated 數據 + 蒸餾 + merging
Stage 2 數據量只有 Stage 1 的約 1/10,但做了三件精緻的事:
- Semantic-ID 引導重採樣:用中間 checkpoint 編碼 pair, fit 三層 RQ-KMeans 得到 Semantic ID,按碼本密度反向採樣——壓制高頻語義模式的重複暴露;
- MLLM 質控 + hard-negative 擴充:多模態大模型過濾錯配 pair、修正弱監督文本的事實錯誤;文本負例由 MLLM 生成、視覺負例由中間 checkpoint 檢索挖掘,部分再經 reranker 打分;
- 双向 KL embedding 蒸餾:凍結 9B 當老師,對 batch 內 source→target 與 target→source 兩個方向的相似度分佈做 KL 蒸餾。這是小模型增益的最大來源——2B/4B 的強表現很大程度上是 9B 蒸出來的。
9B 自己沒有更大的老師,於是訓練多個數據配比互補的專科 Stage 2 變體,最後 model merging 合成終版。
累計消融:Stage 2 策略疊加共 +2.2 分(curated → reranker → 蒸餾 → 更高視覺預算)。
另一個誠實的細節:reranker 監督並非全面有效——報告明確說 rerank 自檢索結果在多數多模態任務上收益不穩定,因此只限制在可靠子集上使用。這種「報告裡寫明什麼沒用」的態度,是技術報告品質的標杆。
基準成績全覽
MMEB-v2(78 數據集)
| 模型 | 規模 | AVG | Image | Video | VisDoc |
|---|---|---|---|---|---|
| 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 |
| Qwen3-VL-Embedding | 8B | 77.8 | 80.1 | 67.1 | 82.4 |
| WeMM-Embedding | 9B | 80.6 | 81.9 | 74.3 | 83.3 |
2B 越級打 8B,9B 壓過所有開源與閉源。
MMEB-v3(190 任務,含 53 文本 + 47 agent + 11 音頻 + MCMR):2B=56.0 / 4B=58.2 / 9B=59.5,Text 組與 Agent 組均第一。音頻不支援記 0 分仍拿總分第一——可見其他模態領先幅度之大。
跨模態檢索 12 基準:2B=79.8 / 9B=81.7,與 Gemini Embedding 2、Amazon Nova MME、Voyage Multimodal 3.5 等閉源商業模型打得有來有回。
微信內部 26 任務 + 14 個在線 A/B:五類任務全勝開源基線;推薦系統用於候選召回、排序特徵、用戶序列建模、跨域理解;長尾與新發布內容收益最明顯——這對冷啟動場景(我們新歸檔的項目文件)是好消息。
本地實測:Mac Studio MPS 上的真實數字
我們在 Mac Studio(arm64,512GB RAM)上完整部署了 2B 並與本機 BGE-m3 對比(venv 隔離、未動任何系統配置):
| 指標 | WeMM-Embedding-2B | BGE-m3 |
|---|---|---|
| 向量維度 | 2048(MRL 64–2048) | 1024 |
| 文本 latency(熱身後) | 47 ms | 3 ms |
| 圖像 latency | 321 ms/張 ✅ | ❌ 純文本 |
| 檢索 Top-3 命中(24 條中英 corpus + 6 query) | 6/6 (100%) | 6/6 (100%) |
| MPS 內存峰值 | ≈6.0 GB | ≈1.0 GB |
| 權重 | 5.44 GB safetensors | 4.3 GB |
結論很清晰:純文本場景 BGE-m3 快約 20 倍、省 6 倍內存,沒有切換理由;但多模態是 BGE-m3 永遠到不了的維度——圖像 321ms/張對非實時歸檔場景完全可接受。
實測踩坑記錄(如實)
huggingface-cli已棄用 → 改用hf download;import torchvision觸發 libomp 重複初始化 SIGABRT →KMP_DUPLICATE_LIB_OK=TRUE繞過(官方標記為不安全 workaround,macOS 已知問題);- 裝 torchvision 連帶把 venv 內 torch 2.12.0 升到 2.13.0;
flash-linear-attention/causal-conv1d未裝 → 線性注意力走 torch 回退路徑,結果正確但非最優吞吐;- bf16 內部歸一化誤差 norm≈1.0026 → fp32 再歸一化後嚴格 =1.0;
- README 建議 transformers==5.2.0,實測 5.9.0 已含
qwen3_5架構、正常載入; - 權重實際 5.44GB 與 HF 元數據標註 2.72GB 約差 2 倍(推測約 2.7B 參數 bf16),與「2B」命名有出入。
視頻 embedding 因缺 decord 未測,是本次實測的已知缺口。
對 Agent 基建的啟示:雙通道向量記憶
基於實測,我們給自建 agent 記憶系統的建議是雙通道架構:
- 文本通道:繼續用 BGE-m3(3ms、1GB),承擔日常記憶檢索的主力流量;
- 多模態通道:按需加載 WeMM-2B(用後釋放 6GB MPS 內存),專門處理圖像、掃描文檔、視頻幀的歸檔檢索;低維部署用 256 維 MRL 截斷(已驗證 norm=1.0),存儲與距離計算成本砍 4–8 倍。
更深一層的啟示在 MMEB-v3 的 Agent 組:當 tool 描述、GUI 截圖、memory 片段需要同一空間檢索時,agent-centric embedding 會成為記憶系統的下一代地基。WeMM 是目前公開模型裡這條賽道的第一名。
若有 CUDA 伺服器,WeMM 的 flash-linear-attention 快路徑與 9B/4096 維版本才會完全體發揮;Mac 本地是「可用」,伺服器是「好用」。
許可證與風險
- Apache 2.0:商業使用友好;第三方組件保留原許可證,使用前需自查;
- 音頻不支援:MMEB-v3 音頻組記 0 分,全模態(omni)是官方未來工作;
- 版本依賴:transformers 建議 5.2.0(實測 5.9.0 可用)、vLLM 0.27.0 / SGLang 0.5.9 serving 配方齊全;
- 命名與實際參數量:2B 權重 5.44GB(約 2.7B 參數),容量規劃時以實測為準。
底線
WeMM-Embedding 把「多模態統一向量空間」從論文推進到了微信生產環境驗證 + 開源可復現 + 消費級硬體可跑的階段。對任何在做多模態檢索、agent 記憶、內容歸檔的團隊,它都是 2026 年 Q3 最值得認真評估的開源 embedding——沒有之一。
我們的下一步:雙通道架構 PoC,把年報圖表與掃描文件真正塞進同一個檢索空間。
參考:arXiv:2608.24053 · github.com/Tencent/WeMM-Embedding · huggingface.co/collections/tencent/wemm-embedding · 本地實測報告(2026-08-31,Mac Studio MPS)