
源码系统概览
文章正文
WeMM-Embedding 是腾讯微信视觉团队开源的通用多模态 Embedding 模型系列。
项目为文本、图像、视频、视觉文档与交错多模态输入提供统一向量表示。
源码包含模型实现与 MMEB-v3 评测管线,方便复现论文指标。
源码简介
模型库以 WeMM-Embedding-2B 为主,支持 Matryoshka 维度截断,可在 64 到 2048 之间灵活取用。
评测代码位于 mmeb_v3_eval 目录,基于官方 VLM2Vec 流水线做最小改动,支持多机多卡推理。
仓库提供英文与中文两份 README,依赖列在 requirements.txt,核心为 torch 与 transformers 5.2.0。
代码在 mmeb_v3_eval/src/model 下实现了 wemm_embedding 后端,对接 chat 模板与视觉预处理。
项目整体采用 Apache-2.0 协议,权重在 HuggingFace 集合页发布,适合检索与 RAG 场景二次开发。
权重以 fp16 提供,推理时配合 accelerate 做设备映射,降低单卡显存压力。
适用场景
多模态检索场景可用统一向量做图文、视频与文档的跨模态匹配。
知识库与 RAG 场景把文档、截图与表格编码为向量,提升问答召回准确率。
内容理解场景对图像、视频帧抽取语义向量,用于聚类、去重与推荐。
交错多模态输入场景处理文本与图混合的帖子,输出单一表示用于排序。
功能亮点
统一多模态:一套模型覆盖文本、图像、视频与视觉文档,无需多模型拼装。
Matryoshka 维度:向量可在 64 到 2048 之间截断,兼顾精度与存储成本。
可复现评测:MMEB-v3 脚本基于 VLM2Vec,支持 torchrun 多节点,结果可对照论文。
多后端兼容:代码注册了 Qwen2-VL、Qwen2.5-VL 等多种视觉骨干,扩展方便。
| 维度 | WeMM-Embedding | 单模态 Embedding |
|---|---|---|
| 输入 | 文本图像视频文档 | 仅单一模态 |
| 向量 | Matryoshka 可截断 | 固定维度 |
| 检索 | 跨模态统一 | 同模态内 |
| 协议 | Apache-2.0 | 各异 |
技术架构与部署指南
技术栈与运行环境
开发语言:Python 3.10 及以上。
核心框架:PyTorch、Transformers 5.2.0、sentence-transformers。
主要依赖:torch、qwen-vl-utils、accelerate、datasets、pillow。
运行环境:NVIDIA CUDA 显卡,Linux 或 Windows 系统。
开源协议:Apache-2.0。
安装与部署提示
用 pip 安装 requirements.txt 中的依赖,注意 transformers 固定为 5.2.0 版本。
从 HuggingFace 下载 WeMM-Embedding-2B 权重,放入本地缓存或指定目录。
运行 mmeb_v3_eval 评测时可用 torchrun 启动多卡,单卡用法保持不变。
视频任务需准备帧抽取结果,帧数与论文对齐以保证指标一致。
截图与演示说明

仓库首页提供 performance-overview 性能总览图,横向对比多个基准上的领先结果。
README 中的模型库表格列出 WeMM-Embedding-2B 与对应的 Matryoshka 维度、HuggingFace 链接。
评测目录 mmeb_v3_eval 内含独立 README,说明数据下载、推理与指标计算流程。
代码在 model.py 注册了 wemm_embedding 后端,可对照 processor.py 的预处理逻辑阅读。
常见问题
问:向量维度怎么选?
答:默认可取 2048 保精度,存储敏感场景用 256 或 512 截断,召回损失很小。
问:视频帧数有要求吗?
答:有,帧数需与发布指标对齐,否则 MMEB-v3 分数会波动,具体见评测说明。
问:依赖版本必须固定吗?
答:transformers 固定 5.2.0,版本不符会导致模型加载或预处理报错。
安全风险提示
模型权重与评测数据须遵守 Apache-2.0 与各自许可,商用前确认授权范围。
检索系统接入外部内容时请注意数据合规,避免索引未授权素材。
下载说明
本源码仅供学习与研究使用,请遵守 Apache-2.0 协议与权重许可。
下载后请自行核对文件完整性,部署遇到依赖冲突以官方 README 为准。
本站不对使用源码产生的任何后果负责,生产环境请先做充分验证。
GitHub项目开源地址:https://github.com/Tencent/WeMM-Embedding