谷歌在周二发布了 EmbeddingGemma 2,把文本、代码、图像、视频和音频五种检索能力装进了一个 7.4 亿参数的开源模型。在公司于 Pixel 11 Pro 上的测试中,量化后它占用约 567MB 活跃内存。
这个模型基于 Gemma 4 构建,把五种输入类型全部映射到同一个 768 维向量空间。图像不必先写说明文字,音频也不必先转成文字,就能和文本一起被搜索。权重以 Apache 2.0 协议发布,通过 LiteRT 和 MediaPipe Tasks 的端侧部署已经可用。Android ML Kit 集成将在未来几周内推出,支持 NPU 加速的设备会用上硬件加速。
![]()
模块化编码器,一个向量空间
完整模型最高 7.4 亿参数,但开发者只需加载自己数据用得上的编码器。文本和代码跑在一个 2.7 亿参数的基础上,谷歌在同一部手机上测得约 191MB 活跃内存。加上处理图像和视频的视觉编码器,模型达到 4.4 亿参数;换成加音频编码器则是 5.7 亿;两个都加载才到满配的 7.4 亿。
所有配置都投影到同一个嵌入空间,这意味着一个团队如果先做纯文本索引,之后想加图像或音频搜索,不需要重新嵌入已经存好的任何东西。
谷歌还把上下文窗口从 2048 个 token 扩大到了 8192 个,翻了四倍。公司称这足以在单次输入中覆盖最长 5.5 分钟的音频、29 张图像或 58 帧视频。视频默认按每秒一帧采样,所以 58 帧略少于一分钟的素材。
在谷歌的 Video Moments Finder 演示中,视频帧和音频片段在本地建立索引,然后用纯文本搜索定位到具体时刻,全程不生成字幕或转录文本。Instant Media Search 把同样的思路用在手机的照片和视频上,把嵌入存进 SQLite,用户一边打字结果一边更新。
Matryoshka 给索引瘦身
在手机上,索引本身可能和模型抢空间——一百万个 768 维 bfloat16 向量大约要占 1.5GB。谷歌用 Matryoshka 表示学习训练 EmbeddingGemma 2,开发者可以把嵌入截断到 512、256 或 128 维,不需要重新训练任何东西。
截到 256 维时,那个百万向量的索引降到约 500MB。谷歌称较短的嵌入在文本和代码上保留了大部分全尺寸质量,在图像、视频和语音检索上大约保留 95%。
到 128 维时取舍更陡:谷歌给出的文本和代码大约是 90%,多模态检索约 75%,公司建议在真实数据上测试这个设置,再决定是否用于多模态查询。用一点检索质量换效率,已经成为今年秋天嵌入模型发布中熟悉的说法——Cohere 更快的查询模型在自己的测试中也几乎没有削弱检索质量。
端侧代码搜索
代码和文本跑在同一个 2.7 亿参数的基础上,谷歌报告 EmbeddingGemma 2 的 MTEB Code 得分为 78.68,高于初代 EmbeddingGemma 的 68.76。
为了展示这在智能体工作流中的表现,谷歌用纯文本配置嵌入了 Hugging Face Transformers 仓库,并把索引与在 Pi 中运行的 Gemma 4 26B A4B 配对。在谷歌的搭建中,EmbeddingGemma 2 负责整个仓库的检索,更大的模型驱动智能体。
同一个嵌入模型还能通过 MediaPipe Decision 处理分类——它把传入的嵌入与候选描述做比较,而不是生成一个回答。在一个端侧国际象棋演示中,谷歌用它每回合评估 500 个选项,耗时不到 100 毫秒。如果你见过智能体把 token 烧在一个根本不需要生成答案的决策上,这就给了它一个便宜得多的判断方式。
更精简的本地 RAG 流水线
EmbeddingGemma 2 借用了 Gemma 4 的文本分词器和音频编码器架构,这意味着两个模型在同一台设备上一起运行时需要的内存更少。到目前为止,谷歌展示的多模态检索只在自己的旗舰手机上跑通过。更大的索引、不同的硬件、以及非谷歌演示的应用会表现如何,还有待观察。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.