---
url: /gemma/what_is_embeddinggemma_2.md
description: >-
  一文读懂 Google DeepMind 开源的 EmbeddingGemma 2 多模态嵌入模型——740M 参数、768 维统一向量空间、Apache
  2.0 商用免费、191MB 内存跑文本检索、MTEB Code 78.68 分，以及用 sentence-transformers
  五行代码在本地搭一套离线 RAG 的完整路径。
---

# 认识 EmbeddingGemma 2：740M 参数，把文字、代码、图片、音频、视频塞进同一个向量空间

你手机相册里大概有几千张照片、几百段视频，还有一堆不知道什么时候录的语音备忘录。

现在试想一个问题：**怎么用一句"小孩在草地上笑"找到那张照片？**

目前主流做法是这样的：先跑个语音转文字把你说的话变成文本，再跑个图像描述模型给每张图生成文字说明，最后用文本嵌入模型把两段文字都变成向量，比对相似度。三个模型，三次推理，中间每一步都在丢信息，而且——如果你的照片不想上传到别人的服务器，这套流程基本就废了。

2026 年 10 月，Google DeepMind 扔出来一个叫 **EmbeddingGemma 2** 的东西，把这条流水线压缩成了一个模型。

7.4 亿参数，占 567MB 内存，跑在你自己的设备上，**一句话直接检索视频帧**。

我第一次看到这个参数表的时候有点怀疑——毕竟"多模态嵌入"这个词已经被用烂了，很多所谓的多模态其实只是把 CLIP 和 text-embedding 打包卖。但看完架构之后，我觉得这次不太一样。

> 过去两年大家卷的是"生成"，现在开始卷"检索"了。原因很实际：当你的数据多到一定程度，能不能找到比能不能生成更影响体验。而检索这件事，天生就更该发生在本地。

## 什么是 EmbeddingGemma 2

**EmbeddingGemma 2 是 Google DeepMind 开源的开放权重嵌入模型**，基于 **Gemma 4** 架构，7.4 亿参数，采用 **Apache 2.0** 协议。

先说清楚"嵌入模型"是干什么的，不然下面的内容全是天书。

生成式模型（Gemma 4、Gemini 这类）做的事是"输入一段东西，输出另一段东西"。嵌入模型做的事完全不同：**输入一段东西，输出一串数字**。这串数字叫向量，它把语义压缩成坐标——意思相近的内容，坐标就挨得近。

所以 EmbeddingGemma 2 **不会写文章、不会画图、不会回答问题**。它只负责把你的数据变成可以被"按意思查找"的坐标。

它真正的突破点在这里：

**文本、代码、图片、视频、音频，五种输入，进的是同一个 768 维向量空间。**

不是拼接，不是互相翻译，是原生训练出来的统一空间。这意味着你的检索可以彻底跨模态——

* 用一句话找视频片段
* 用一段语音备忘录找文档
* 用一张截图找代码里对应的实现
* 用一段音频找相册里那个时刻拍的照片

而且因为整个流程不需要联网，你那些病历、合同、没开源的代码，**一个字节都不用离开你的硬盘**。

上一代 EmbeddingGemma 只做文本，累计下载量超过 **2000 万次**。这一代把其他四种模态全补齐了。

## 它有哪些特点

### 一、模块化：你要多少模态，就加载多少参数

这是我最喜欢的设计。模型不是一整块铁板，而是可以按需组装：

* **纯文本 / 代码**：270M 参数
* **文本 + 视觉**：440M 参数（加 170M 视觉编码器）
* **文本 + 音频**：570M 参数（加 300M 音频编码器）
* **五模态全开**：740M 参数

关键在于，**不管你加载哪一套配置，产出的向量都在同一个空间里**。你今天只做文本检索，用 270M 那套建了索引；三个月后想加图片检索，直接加载视觉编码器，**之前存的向量一个都不用重算**。

这个设计救了很多项目的命。重算一次几百万条向量，那可是真金白银和时间。

内存占用（Pixel 11 Pro 上量化后实测）：

| 配置 | 参数量 | 活跃内存 |
| --- | --- | --- |
| 纯文本 | 270M | 约 191MB |
| 全模态 | 740M | 约 567MB |

**191MB 是什么概念？** 你现在手机上随便一个 App 都不止这个数。也就是说，给自家 App 加一套离线语义搜索，内存代价约等于多塞一张图片。

### 二、8K 上下文，一次能吃下 5.5 分钟音频

上下文窗口从上代的 2K 涨到 **8192 token**，翻了四倍。这个数字对文本检索意义一般，但对多媒体是质变：

* **5.5 分钟**音频
* **29 张**图片
* **58 帧**视频

一次前向传播全塞进去。不用切片、不用分段、不用自己拼时间轴。

### 三、Matryoshka：向量可以"掐短"，省 6 倍存储

**MRL（Matryoshka Representation Learning，套娃表示学习）**——名字听着唬人，原理特别朴素：训练时让向量的前 128 维就包含大部分信息，后面的维度是"补充细节"。

于是你可以推理时直接截断：

* **768 维**：完整版
* **512 维**：存储省 2 倍
* **256 维**：存储省 3 倍，混合模态场景推荐
* **128 维**：存储省 6 倍，纯文本场景够用

**存储省 6 倍**对本地向量库来说是硬通货。手机上的嵌入式数据库空间有限，这个数字直接决定了你能索引多少内容。

而且 truncation 是推理时的操作，**不用重新训练**。

### 四、跑分：代码检索是最大赢家

| 测试项 | 分数 | 说明 |
| --- | --- | --- |
| MTEB Code | **78.68** | 上代 68.76，涨了 9.92 分 |
| MTEB English v2 | **69.67** | 高于 OpenAI text-embedding-3-large 的 64.6 |
| MTEB Multilingual v2 | 61.36 | 100+ 语言 |
| MIEB lite（图像检索） | 64.64 | 打平更大的专用模型 |
| MMEB v2 Video（视频检索） | 50.67 | 第一代多模态嵌入的第一梯队基线 |

代码检索这个涨幅值得单独说。MTEB Code 从 68.76 到 78.68，意味着**用自然语言搜自己的代码库**这件事，从"勉强能用"变成了"真能找到"。

> 一个 7.4 亿参数的开源模型，在标准英文检索基准上跑赢了要花钱调用的闭源 API。这件事的含义不是"开源赢了"，而是"检索这个赛道的技术红利已经摊薄到人人可得"——接下来拼的是谁的数据组织得好。

### 五、生态铺得极广

基本上你能想到的运行方式它都覆盖了：

* **端侧**：Google AI Edge MediaPipe、LiteRT、transformers.js、WebGPU
* **服务端**：Transformers、sentence-transformers、MLX、vLLM、llama.cpp、SGLang、Ollama、LM Studio
* **向量库**：Qdrant
* **微调**：Unsloth 给了专门的教程

权重在 **Hugging Face**（google/embeddinggemma-2）和 **Kaggle** 上直接下载，Gemini Enterprise 的 Model Garden 支持标记为 coming soon。

## 能用来干什么

### 一、完全离线的 RAG：EmbeddingGemma 2 + Gemma 4

这是目前最值得动手的组合：**EmbeddingGemma 2 负责检索，Gemma 4 负责生成**。两个都是开源权重，都是 Apache 2.0，都能跑在消费级硬件上，而且——它们共享文本 tokenizer 和音频编码器，**一起跑的总内存占用比两套独立方案低得多**。

整套链路没有 API Key、没有速率限制、没有按次计费、没有数据外传。

对法律、医疗、金融、以及任何被公司安全策略禁止把代码发给外部 API 的团队来说，这不是"省点钱"的问题，是"能不能做"的问题。

### 二、Google 自己先做了三个演示 App

Google AI Edge Gallery 里给了三个现成应用，看它们比看文档快：

* **Instant Media Search**：用文字或图片找本机媒体文件
* **Video Moments Finder**：用文字或音频定位视频里的具体时刻
* **Foresight**：macOS 上的本地笔记应用，用 EmbeddingGemma 2 做检索 + Gemma 4 做推理，**自动记录会议内容**，全程不联网

第三个尤其有意思。会议记录是最典型的隐私敏感场景——没有哪个公司法务会同意把董事会录音传到云上转写。

### 三、端侧零样本分类引擎

通过 MediaPipe 的 Decision Task API，你可以拿它做**毫秒级的意图路由**：把输入和一组标签算相似度，直接分类，**不需要任何训练数据**。

本地语音助手的指令分发、App 内的输入意图判断，这类场景以前要么靠关键词硬匹配，要么上云。现在多了一个选项。

## 快速上手：五行代码跑起来

最省事的路线是 sentence-transformers，它会自动把图像、音频、视频的依赖一起装上。

```bash
pip install -U "sentence-transformers[image,audio,video]" transformers
```

```python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("google/embeddinggemma-2")

# 查询和文档用不同的 prompt_name，这是生产级 RAG 本来就该做的区分
query_emb = model.encode("数据库连接超时", prompt_name="SearchQuery")
doc_emb   = model.encode("ConnectionPool 重试 30 秒后耗尽", prompt_name="Document")

print(model.similarity(query_emb, doc_emb))
```

注意 `prompt_name` 这个参数——**建索引时用 `Document`，查询时用 `SearchQuery`**。这是非对称检索，用反了准确率会明显下降，很多人第一次用都栽在这。

不想写代码的几个入口：

* **Ollama / LM Studio**：图形界面搜 `embeddinggemma-2`，点下载
* **Google AI Edge Gallery**：官方 App，直接体验上面那三个演示
* **MediaPipe**：做端侧部署时用它处理预处理和近似最近邻搜索，毫秒级返回

一个实操建议：**先用 256 维 truncation 起步**。混合模态场景下质量损失很小，存储直接省三倍，等索引规模上来了再评估要不要换回 768。

## 冷静一下：三个别上头的地方

**第一，它绝对质量仍不如更大的云端嵌入 API。** "同尺寸最强"和"最强"是两回事。视频 50.67 和音频部分分数属于第一代多模态嵌入的正常基线，离文本和代码那两个数字还有距离。真要上生产，请拿你自己的数据测召回率，别信跑分表。

**第二，8K 上下文不是无限大。** 一小时的长录音、一部电影，都得切片索引，别指望一次塞进去。

**第三，Apache 2.0 意味着没人替你兜底。** 协议宽松到可以商用、改代码、二次分发，但随之而来的是内容安全、输出合规全在你自己身上。开源给的是模型，不是产品方案。

## 进阶

想继续往下挖，几个方向值得走：Hugging Face 上的官方 model card（含完整 benchmark 与已知局限）、Google AI Edge 的部署指南（MediaPipe 和 LiteRT 那部分讲得最透）、Unsloth 的微调教程，以及 Qdrant 搭配本地向量库的实践。

如果你是从 Gemma 生态过来的，推荐先读《[认识 Gemma 4](/gemma/what_is_gemma_4)》——EmbeddingGemma 2 就是长在它上面的，两者搭配才是完整的离线多模态方案；想理解 Google 的研究版图，《[认识 Google DeepMind](/deepmind/what_is_google_deepmind)》是入口；对端侧部署工具链感兴趣的话，《[认识 TensorFlow 与 Keras](/tensorflow/what_is_tensorflow_keras)》里有 Gemma 的集成说明。

更多开源技术干货和学习资料，关注公众号「遇码」，领取专属福利。
