Skip to content

认识 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 Code78.68上代 68.76,涨了 9.92 分
MTEB English v269.67高于 OpenAI text-embedding-3-large 的 64.6
MTEB Multilingual v261.36100+ 语言
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》——EmbeddingGemma 2 就是长在它上面的,两者搭配才是完整的离线多模态方案;想理解 Google 的研究版图,《认识 Google DeepMind》是入口;对端侧部署工具链感兴趣的话,《认识 TensorFlow 与 Keras》里有 Gemma 的集成说明。

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

Gemini中文文档