google/embeddinggemma-2
Google DeepMind 的多模态向量模型:把文字(含代码)、图片、视频、音频以及它们的混合输入映射到同一个 768 维向量空间,用于检索、RAG、分类和聚类,定位在手机和笔记本上本地运行。
Google DeepMind 的多模态向量模型:把文字(含代码)、图片、视频、音频以及它们的混合输入映射到同一个 768 维向量空间,用于检索、RAG、分类和聚类,定位在手机和笔记本上本地运行。
上升分 177 · 点赞 2948 · 下载量 231262
**理由**
- 官方称总参数 740M:文本部分 270M(130M transformer + 140M embedder),另有 170M 视觉和 300M 音频编码器,可以只加载用得到的模态——纯文本 270M、文本加图片 440M、文本加音频 570M。
- 官方称相比第一代:MTEB 多语言 v2 为 61.36(一代 61.15,基本持平),MTEB 代码 v1 为 78.68(一代 68.76);图片、视频、音频给了 MIEB、MMEB v2、MSEB、MAEB 分数,但没有和其他模型对比。
- 支持 Matryoshka 截断到 512 / 256 / 128 维:官方表格里 256 维时 MTEB 多语言 60.41(768 维 61.36),128 维时多模态下降明显(MMEB 从 59.01 降到 45.65)。Apache-2.0;9 月 14 日发布,此前各期没有收录,点赞 2948 只代表关注度。
**用法**
- pip install -U sentence-transformers transformers;SentenceTransformer("google/embeddinggemma-2"),查询用 prompt\_name="SearchQuery"、文档用 "Document",另有 QuestionAnswering、FactChecking、CodeRetrieval、Classification、Clustering、SentenceSimilarity 等任务前缀。
- 有标题的文档要手动写成 "title: {标题} | text: {正文}";只处理文本时传 config\_kwargs={"vision\_config": None, "audio\_config": None},不加载视觉和音频编码器。
- 截短维度用 model.encode(..., truncate\_dim=256, normalize\_embeddings=True),查询和文档必须同一维度;图文混合输入用 text 加 image / video / audio 字段,在文本里用占位符标出媒体位置,得到一个向量。
**风险**
- 只能用 bfloat16 或 float32:官方说 float16 会返回 NaN 或悄悄变差的向量且不报错;多数 CPU 上要用 float32。
- 所有模态共用 8,192 token:默认每张图 280 token(约 29 张)、视频每帧 140 token(约 58 帧,默认每秒 1 帧)、音频每秒 25 token(约 327 秒),混合输入会互相挤占。
- 预训练数据截止 2025 年 1 月;官方说 100 多种语言之间表现不均衡,且没有做生成模型那样的安全后训练,下游过滤要自己做。
*编辑:替换现有 RAG 向量模型前,可先用自己的语料对比 768 维和 256 维的召回差异,再决定存储维度。*
[打开](https://huggingface.co/google/embeddinggemma-2)