Token导航 LogoToken导航

谷歌开源原生多模态 EmbeddingGemma 2 模型

更新时间 2026-10-07来源 AGIHunt正文 4961字阅读约 16分钟11 张图片

刚刚,谷歌 CEO 劈柴哥 Sundar Pichai 和 Google DeepMind 同时官宣,开源 EmbeddingGemma 2。

图片
劈柴哥官宣

按劈柴哥的说法,这是谷歌第一个开源的、原生多模态的 Embedding 模型。

文本、代码、图片、视频、音频这五类任务,全都被装进了一个 740M 参数的小模型里,权重也已经放上了 Hugging Face。

DeepMind 也发了条帖子,解释它具体是做什么的:

图片
同一个向量空间

一张猫的照片、「cat」这个单词、一段猫叫声,经过 EmbeddingGemma 2 之后会落进同一个向量空间,而且挨得很近,一辆红色的车则被放到了远处。

以前要做这种跨模态的检索,得是文本一个模型、视觉一个模型、音频再来一个模型。现在一个就够了,而且是能在手机上跑的那种。

DeepMind 还补充说,协议是 Apache 2.0,Hugging Face 和 Kaggle 上都能下载了。

图片
DeepMind 的帖子

模型结构

01

740M 是全模态加在一起的数字,它其实是由三块拼起来的。

文本主干有 270M(130M 的 transformer 加 140M 的 embedder),视觉编码器 170M,音频编码器 300M,其中后两块可以不加载,所以实际跑起来有四种大小:

加载的模态
参数量
纯文本
270M
文本 + 图片
440M
文本 + 音频
570M
全模态
740M

如果只做文本检索,270M 就够了。

它是在 Gemma 4 的架构上做的,和 Gemma 4 共用同一套文本 tokenizer 和音频编码器,两个模型放在一起跑本地 RAG 的时候,总的内存占用还能再省一些。

其他几个参数:

•  输出 768 维向量,支持 100 多种语言 

•  上下文 8K token,是上一代的 4 倍,一次能放进 5.5 分钟的音频、29 张图片或者 58 帧视频(默认每秒抽 1 帧),也可以混着放 

•  支持 Matryoshka 表示学习,768 维的向量可以截到 512、256、128 维,向量库的存储最多能降到原来的六分之一 

•  文本输入可以带一个任务前缀(搜索、问答、代码检索、分类、聚类等),让同一段文字针对不同任务给出不同的向量 

量化之后放到 Pixel 11 Pro 上跑,官方给的数据是纯文本只占约 191MB 内存,全模态约 567MB。

模型卡里还写了两个容易踩的坑。

一个是截维度。截到 256 维基本不掉分,但到了 128 维,多模态的分数会掉得很厉害(MMEB v2 从 59.01 掉到 45.65),官方建议 128 维只用在纯文本上。

另一个是精度,不要用 float16 来跑。

它的激活值超出了 float16 能表示的范围,结果会变成 NaN 或者悄悄变差,而且还不报错……官方让用 bfloat16 或者 float32。

跑分

02

模型卡中的成绩单(768 维,全精度):

模态
评测
EmbeddingGemma 2
上一代
文本
MTEB 多语言 v2
61.36
61.15
文本
MTEB 代码 v1
78.68
68.76
图片
MIEB lite
64.64
-
图片
MMEB v2 Image
57.28
-
文档
MMEB v2 VisDoc
67.84
-
视频
MMEB v2 Video
50.67
-
音频
MSEB 检索
69.54
-
音频
MAEB
49.39
-

多语言文本的成绩和上一代基本持平,涨得最多的是代码检索,从 68.76 到了 78.68,将近 10 分。

给本地代码库建索引、给 coding agent 做检索,也是谷歌这次专门点了名的用法。

图片、视频、音频这几行上一代是空的,因为上一代只支持文本。

劈柴哥帖子里说的「超过一些比自己大两倍多的专用模型」,对应的是官方博客里的三张散点图,横轴是模型大小,纵轴是分数。

图片
代码检索

代码检索只用得上那 270M 的文本部分,按这个大小算,它压过了体积是自己两倍多的 Qwen3-Embedding-0.6B,和 4B 的 pplx-embed-v1 差不多在一个水平,最高的还是 Qwen3-Embedding-8B。

图片
图片

图片方面,它和 3B 的 LCO-Embedding-Omni 只差 1 分左右,jina-embeddings-v5-omni-small、SigLIP 这些都排在它的下面。

图片
音频

音频上它比 jina-embeddings-v5-omni-nano 略低一点,而 7B 的 Qwen2-Audio 和 3B 的 Qwen2.5-Omni 则被它落下了一大截(这两个本来也不是专门做 Embedding 的)。

官方自己的定位是:1B 以下最强的多模态 Embedding 模型之一。

对比友商千问、OpenAI

03

那它和千问、和 OpenAI 的 Embedding 等友商相比如何呢?

千问现在有两条 Embedding 线,也都是 Apache 2.0。一条是去年 6 月的 Qwen3-Embedding,纯文本,有 0.6B、4B、8B 三个尺寸。

另一条是今年 1 月的 Qwen3-VL-Embedding,支持文本、图片和视频,有 2B 和 8B 两个尺寸。

OpenAI (对外)在用的还是 2024 年 1 月发的 text-embedding-3 系列,纯文本,只有 API。

把大家放在一起来看:

EmbeddingGemma 2
Qwen3-Embedding-0.6B
Qwen3-VL-Embedding-2B
text-embedding-3-large
参数量
740M(纯文本 270M)
0.6B
2B
未公开
模态
文本(含代码)、图片、视频、音频
文本
文本、图片、视频
文本
向量维度
768
1024
2048
3072
上下文
8K
32K
32K
8K
MTEB 多语言
61.36
64.33
63.87
58.93
MMEB-V2 总分
59.01
-
73.2
-
权重
Apache 2.0
Apache 2.0
Apache 2.0
闭源

(千问和 OpenAI 的分数取自千问的模型卡,EmbeddingGemma 2 的取自谷歌的模型卡,两边的评测口径可能会有细微出入)

和千问相比,单论分数的话,EmbeddingGemma 2 是打不过的。

纯文本上它比 Qwen3-Embedding-0.6B 低了 3 分,多模态的 MMEB-V2 比 Qwen3-VL-Embedding-2B 低了 14 分,而 8B 的版本更是到了 77.8。

但两边关注的地方不一样。

Qwen3-VL-Embedding 最小也有 2B,而且不支持音频。EmbeddingGemma 2 全模态加起来才 740M,奔着的是手机和笔记本。

而 OpenAI 的 text-embedding-3-large 的 MTEB 多语言是 58.93,被 EmbeddingGemma 2 那个 270M 的文本部分超了 2 分多。

模态上它肯定是更全的,OpenAI 的 Embedding 到现在还只能支持文本。

而很关键的一点是,它是开源的。

谷歌自己也有闭源的 Gemini Embedding 系列,需要走 API,官方说 EmbeddingGemma 2 和它用的是同一套技术。

四个 demo

04

官方这次配了四个 demo,你可以带着问题往下看:我可能用来做些什么?

第一个是 Google AI Edge Gallery 里的 Instant Media Search,在手机相册里打字搜图,或者举起相机,拿眼前的东西去搜相似的照片:

图片
相册搜索

输入「cat sleeping on keyboard」,搜出来的便是趴在键盘上睡觉的猫。

第二个是 Video Moments Finder,在一段视频里搜「Turtle eating」,海龟吃东西的那几段就在进度条上被标了出来:

图片
视频片段定位

查询也可以换成一段音频,DeepMind 帖子里说的「用一段语音备忘去找视频里的某个瞬间」,就是它。

第三个是 Google AI Edge Foresight,由 EmbeddingGemma 2 负责在本地文件里检索,Gemma 4 负责回答。

开会时有人问了个问题,答案和出处就自己出现在侧边栏里了:

图片
Foresight

第四个是拿它来做实时决策的 MediaPipe Decision Task API,演示是一个仿 Chrome 小恐龙的跑酷游戏(这是要 PK 一下 Jev 啊)。

上面一条跑道,由 270M 的 EmbeddingGemma 2 在浏览器里判断该跳、该蹲还是该冲刺,下面一条跑道则交给了普通的 LLM:

图片
小恐龙

前者一次决策 43 毫秒,后者要 640 毫秒。

等 LLM 把那段 JSON 吐完,恐龙已经撞上去了……

工具链方面,transformers、sentence-transformers、MLX、vLLM、llama.cpp、SGLang、Ollama、LM Studio 都已经支持。

浏览器里可以用 transformers.js 或 WebGPU,Unsloth 也给出了微调的教程。

用 sentence-transformers 的话,可以参考下面的代码:

●●●

from sentence_transformers import SentenceTransformer

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

query_emb = model.encode("What causes the northern lights?", prompt_name="SearchQuery")
doc_emb = model.encode("The northern lights are caused by charged particles from the sun.", prompt_name="Document")
print(model.similarity(query_emb, doc_emb))

└

相隔一年

05

谷歌今年在开源上其实一直有些动作。

4 月的 Gemma 4 第一次把协议换成了 Apache 2.0,6 月又补了一个 Gemma 4 12B,夏天还陆续放出了 TimesFM 3.0、TabFM 等模型。

但 Embedding 模型的上一次更新还是去年 9 月的初代 EmbeddingGemma,308M、纯文本,用的也还是谷歌自家的 Gemma 协议。

到这次的第二代,中间隔了 13 个月,协议也跟着换成了 Apache 2.0。

官方博客里说,初代的下载量已经超过了 2000 万次。

OpenAI 的乌龙

06

说到 Embedding 和开源,还有个小插曲。

今年 4 月 22 日,OpenAI 给开发者群发了一封模型下线通知,官方的 deprecations 文档也同步更新了。

名单里就有 text-embedding-3-small,按当时开发者们转述的说法,它排在 10 月 23 日下线的那一批。

Embedding 模型下线,和聊天模型下线不是一回事。聊天模型换个型号接着用就行,Embedding 模型一换,库里存着的所有历史向量都得重新算一遍。

很快就有开发者在官方社区发帖,问 OpenAI 能不能在下线之后把它开源出来:

图片
开发者社区的帖子
“

如果不行,这就开了一个危险的先例。开发者只会更愿意把系统建在开源的 Embedding 上,免得哪天 OpenAI 决定下线某个模型,自己的系统也跟着垮掉。

这封乌龙邮件,我也有收到。

我当时还慌了,我好多数据都在用 OpenAI 的 Embedding,那我是不是得考虑迁移了?

几个小时之后,文档里的那一行先不见了。随后 OpenAI 又发了一封更正邮件,说上一封写错了,text-embedding-3-small 并不会下线。

总算是虚惊一场,我目前就也没动。

不过要是当初没有这封更正,按那个日期算,再过两个多星期,它就该停掉了。

而 EmbeddingGemma 2 的权重下到自己硬盘上之后,就没有谁能给你发这种邮件了。

◇ ◆ ◇

官方博客:https://blog.google/innovation-and-ai/technology/developers-tools/embeddinggemma-2/

Hugging Face:https://huggingface.co/google/embeddinggemma-2

Sundar Pichai 的帖子:https://x.com/sundarpichai/status/2107501975671890211

Google DeepMind 的帖子:https://x.com/GoogleDeepMind/status/2107502286758895878

OpenAI 开发者社区的帖子:https://community.openai.com/t/open-sourcing-text-embedding-3-small-after-deprecation/1379551

文章标签Google模型发布开源
资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。

继续浏览更多资讯

返回资讯目录

相关资讯

更多