Google DeepMind已发布 EmbeddingGemma 2,这是一个开放模型,可将文本、代码、图像、视频和音频嵌入到一个768维空间中。它拥有740M参数、8K token上下文窗口和Apache 2.0许可证。它面向端侧搜索、分类和隐私优先的RAG。本文将分析、比较并展示 EmbeddingGemma 2 如何在这一领域立足。
现在就能部署吗? 可以。权重已在 Hugging Face 和 Kaggle上发布, Ollama, llama.cpp GGUF 和 LiteRT 构建版本也已可用。
嵌入模型是做什么的
嵌入模型将内容转换为能够捕获语义的数字向量。相似的内容会落在相近的位置,因此易于搜索和比较。在RAG流水线中,这些向量让LLM能够检索其未曾训练过的新信息。在本地生成嵌入可让数据保留在设备上,降低延迟并支持离线工作。
面向所有模态的单一向量空间
EmbeddingGemma 2基于Gemma 4架构构建。文本查询可以检索照片。语音备忘录可以检索视频片段。交错输入,例如包含文本、图像和演示视频的产品页面,会生成单一嵌入。
该设计是模块化的,包含三个部分:
- 文本和代码主干: 270M参数(130M transformer加上140M嵌入器)
- 视觉编码器: 170M参数,可选
- 音频编码器: 300M参数,可选
开发者只加载所需的部分:文本用270M,文本加视觉用440M,文本加音频用570M,或全部功能用740M。所有配置共享同一个向量空间。使用纯文本配置嵌入的查询可以与由完整模型嵌入的文档匹配。
上下文窗口为8,192个token,是第1版的4倍。这大约可容纳29张图像、58个视频帧或5.5分钟音频。
基准测试
Google 研究团队报告称,在 MTEB Code 和 MAEB 上,EmbeddingGemma 在参数小于 1B 的多模态嵌入模型中取得领先分数。768 维下的全精度结果如下:
| 基准测试 | EmbeddingGemma 2 | EmbeddingGemma 1 |
|---|---|---|
| MTEB multilingual v2 | 61.36 | 61.15 |
| MTEB Code v1 | 78.68 | 68.76 |
| MIEB lite(图像) | 64.64 | n/a |
| MMEB v2 总体 | 59.01 | n/a |
| MSEB 检索(声音) | 69.54 | n/a |
| MAEB(音频) | 49.39 | n/a |
代码检索提升 9.92 分,约 14%。多语言文本质量保持稳定。更大的模型在某些榜单上仍然领先。 Qwen3-VL-Embedding-2B 在其自己的 MMEB-V2 测试中报告了 73.2 的成绩,参数量约为 2.7 倍,且不支持音频。
为手机和笔记本电脑而构建
在 Pixel 11 Pro 上进行量化后,纯文本权重的活跃内存约为 191MB。完整的多模态模型需要约 567MB。量化感知训练将权重压缩至 INT4 和 INT8。 Google AI Edge 团队 在 MacBook M5 Pro GPU 上测量到每张图像 37.3 毫秒,使用了 70 个 token 的视觉预算。
Matryoshka Representation Learning(MRL)允许开发者将向量截断至 512、256 或 128 维。从 768 维降至 128 维可节省多达 6 倍的存储空间。在 256 维时,MTEB 多语言仅从 61.36 略降至 60.41。在 128 维时,MMEB 降至 45.65,因此 Google 主要建议将 128 维用于纯文本工作负载。
交互式说明
EmbeddingGemma 2 与最接近的竞争对手对比
| 特性 | EmbeddingGemma 2 | EmbeddingGemma 1 | Qwen3-VL-Embedding-2B | LCO-Embedding-Omni-3B | Gemini Embedding 2 |
|---|---|---|---|---|---|
| 开发者 | Google DeepMind | Google DeepMind | Alibaba Qwen | LCO-Embedding(研究项目) | |
| 参数量 | 740M(纯文本 270M) | 308M | 2B | 3B 主干(HF 上列为 5B) | 未披露 |
| 文本 / 代码 | 是 | 是 | 是 | 是 | 是 |
| 图像 | 是 | 否 | 是 | 是 | 是 |
| 视频 | 是 | 否 | 是 | 是 | 是 |
| 音频 | 是 | 否 | 否 | 是 | 是 |
| 输出维度 (MRL) | 768 (512, 256, 128) | 768(最低到 128) | 最高 2048(64 到 2048) | 未说明 | 3072(128 到 3072) |
| 上下文 | 8,192 tokens | 2K tokens | 32K tokens | 未说明 | 8,192 tokens |
| 语言 | 100+ | 100+ | 30+ | 未说明 | 100+ |
| 许可 / 访问方式 | Apache 2.0,开放权重 | 开放权重(Gemma 条款) | Apache 2.0,开放权重 | Apache 2.0 许可证,开放权重 | 仅限付费 API |
| 已公布设备端 RAM 占用 | 约191MB 文本模型,约567MB 完整版 | 低于200MB | 未公布 | 未公布 | 仅限云端 |
| 来源 | 模型卡 | 文档 | HF 卡片 | HF 卡片 | API 文档 |
如何运行
它可在以下环境运行: sentence-transformers v6.1.0+、Transformers、vLLM、SGLang、MLX、llama.cpp、Ollama、LM Studio、LiteRT 和 MediaPipe。 Qdrant 负责向量存储, Unsloth 负责微调。支持 NPU 加速的 Android ML Kit 支持将在数周内推出。
复制代码pip install -U "sentence-transformers[image,audio,video]" transformers
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("google/embeddinggemma-2")
q = model.encode("What causes the northern lights?", prompt_name="SearchQuery")
d = model.encode("Charged particles from the sun.", prompt_name="Document")
print(model.similarity(q, d))
在 Ollama 上,运行 ollama pull embeddinggemma-2。标签范围从 270m (378MB)到 740m (1.3GB)。演示位于 Google AI Edge Gallery。详见 开发者指南 。
要点总结
- 一个 740M 开源模型将文本、代码、图像、视频和音频嵌入到共享的 768d 空间中。
- 模块化编码器可将占用空间从 270M(文本)扩展到 740M(完整多模态)。
- 在 MTEB Code 上,代码检索成绩从 68.76 跃升至 78.68。
- 在 Pixel 11 Pro 上经量化后,运行时占用约 191MB 至 567MB 内存。
常见问题
- EmbeddingGemma 2 可以商用吗? 可以。它以 Apache 2.0 许可证发布。
- EmbeddingGemma 2 需要多少内存? Google 报告称,在 Pixel 11 Pro 上经量化后,纯文本使用约需 191MB 的活跃内存,完整多模态使用需 567MB。
快来看看 HF 上的模型权重 和 技术细节。所有功劳归于该项目的研究者。此外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ML SubReddit 并订阅 我们的新闻通讯。等等!你用 telegram 吗? 现在你也可以在 telegram 上加入我们了。
本文 Google DeepMind 发布 EmbeddingGemma 2,一个基于 Gemma 4 构建的 740M 开源多模态嵌入模型 首发于 MarkTechPost.