谷歌开源EmbeddingGemma2:740M全模态嵌入模型,一个向量空间装下文本图片视频音频

谷歌CEO桑达尔·皮查伊与Google DeepMind同步官宣,正式开源EmbeddingGemma 2。这是谷歌第一个开源的、原生多模态的Embedding模型:文本、代码、图片、视频、音频五类任务装进一个740M参数的小模型,权重以Apache 2.0协议放上Hugging Face和Kaggle,手机就能跑。

它的核心卖点用DeepMind的例子一句话就能说清:一张猫的照片、「cat」这个单词、一段猫叫声,经过EmbeddingGemma 2之后落进同一个向量空间,而且挨得很近;一辆红色的车则被推到远处。以前做跨模态检索,文本、视觉、音频各需一个模型,现在一个就够。

模型结构:三块拼起来的740M

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。

跑分:代码检索涨了将近10分

模型卡成绩单(768维、全精度)显示,多语言文本成绩与上一代基本持平,涨得最多的是代码检索——从68.76到78.68,将近10分。给本地代码库建索引、给coding agent做检索,正是谷歌专门点名的用法。图片、视频、音频几行上一代是空白,因为初代只支持文本。

横向看:代码检索只用270M的文本部分,按体量压过体积是自己两倍多的Qwen3-Embedding-0.6B,与4B的pplx-embed-v1相当;图片与3B的LCO-Embedding-Omni只差1分左右;音频上把7B的Qwen2-Audio和3B的Qwen2.5-Omni甩开一大截。官方定位是1B以下最强的多模态Embedding模型之一。

和友商对比:千问有纯文本的Qwen3-Embedding(0.6B/4B/8B)和支持文图视频的Qwen3-VL-Embedding(2B/8B)两条线,都是Apache 2.0;OpenAI对外的text-embedding-3系列是2024年1月的纯文本API。单论分数,EmbeddingGemma 2打不过千问——纯文本比Qwen3-Embedding-0.6B低3分,多模态MMEB-V2比Qwen3-VL-Embedding-2B低14分。但取向不同:Qwen3-VL-Embedding最小2B且不支持音频,EmbeddingGemma 2全模态才740M,目标就是手机和笔记本。而OpenAI的text-embedding-3-large在MTEB多语言上是58.93,被EmbeddingGemma 2那个270M的文本部分反超2分多——且后者开源。谷歌闭源的Gemini Embedding走API,官方称两者用的是同一套技术。

四个官方demo

一是Google AI Edge Gallery里的Instant Media Search,手机相册里打字搜图,或举起相机搜眼前的东西;二是Video Moments Finder,在视频里搜「Turtle eating」,海龟进食片段直接标在进度条上,查询也能换成一段语音;三是Google AI Edge Foresight,EmbeddingGemma 2负责本地文件检索、Gemma 4负责回答;四是MediaPipe Decision Task API做实时决策,演示是仿Chrome小恐龙跑酷——270M嵌入模型在浏览器里判断该跳该蹲还是冲刺,一次决策43毫秒,普通LLM要640毫秒。

工具链方面,transformers、sentence-transformers、MLX、vLLM、llama.cpp、SGLang、Ollama、LM Studio均已支持,浏览器可用transformers.js或WebGPU,Unsloth给出了微调教程。

相隔13个月的第二代

谷歌今年开源动作不断:4月的Gemma 4首次换成Apache 2.0,6月补了Gemma 4 12B,夏天放出TimesFM 3.0、TabFM等。Embedding模型的上一次更新还是去年9月的初代——308M、纯文本、自家协议,到这一代相隔13个月,协议换成Apache 2.0。初代下载量已超2000万次。

顺带一提插曲:今年4月OpenAI曾误发邮件宣布text-embedding-3-small将于10月下旬下线,引发社区恐慌——Embedding模型一换,库里所有历史向量都得重算。有开发者发帖质问「如果不下线后开源,这就开了个危险的先例」,几小时后OpenAI更正说发错了。而权重下到自己硬盘上,就再也没有谁能给你发这种邮件了。

来源:谷歌官方博客、Google DeepMind、Hugging Face模型卡(纯文本整理,无外链)