我们去年推出了 EmbeddingGemma,旨在提供一种轻量级的解决方案,用于生成高质量文本嵌入数据,从而帮助应用程序在消费者硬件上直接进行信息整理、搜索和关联。开发者社区的反馈超出了我们的预期。超过 2000 万次下载表明,开发者已使用该工具来开发更智能的设备端搜索工具以及以隐私为优先的检索增强生成(RAG)流程。
今天,我们将推出 EmbeddingGemma 2, 将文本扩展为能够统一代码、图片、视频和音频的共享嵌入空间。EmbeddingGemma 2基于Gemma 4架构,采用商业友好型Apache 2.0许可证发布,拥有7.4亿个参数,非常适合在设备上的推理处理。它可以帮助从语音备忘录中找到特定的视频片段,或者根据文本查询搜索数小时的音频记录,所有操作都由单一的多模态模型完成。
EmbeddingGemma 2采用与 Gemini Embedding 模型相同的技术构建,具体如下:
- 就其规模而言,属于同类中最好的:在 MTEB(大规模文本嵌入基准测试)和 MAEB(大规模音频嵌入基准测试)等基准测试中,它获得了针对其规模的亚1B多模态嵌入模型的领先分数,并且在文本、视觉和音频任务上与许多更大规模的模型相当或表现更优。
- 设计上模块化:对于仅包含文本的工作负载,仅需 270M 个参数即可;若需要完整的多模态支持,则还需额外的视觉编码器(170M)和音频编码器(300M)参数。
- 存储效率高:通过矩阵花结构表示学习(MRL)技术,开发者可以动态将输出向量从 768 维缩小到 512、256 或 128 维。这可使本地向量数据库的存储量和内存使用量减少 6 倍。
- 针对设备性能进行了优化:在资源受限的情况下也能高效运行。通过量化处理,在 Google Pixel 11 Pro 上,EmbeddingGemma 2 使用纯文本权重时仅需约 191MB 的活跃 RAM,而完整多模态模型则需要约 567MB。
- 扩展上下文已准备:具有 8K 令牌上下文窗口(比 EmbeddingGemma 1 大 4 倍),使其能够在本地硬件上直接处理最多 5.5 分钟的音频、29 张图片、58 帧视频或这些内容的混合内容。
实现代码、视觉和音频的顶级品质
EmbeddingGemma 2 在多语言文本处理性能上与 EmbeddingGemma 相当,同时在代码性能方面实现了显著的 9.92 点提升(在 MTEB Code 中,从 68.76 提升至 78.68),使其非常适合用于本地代码库索引、语义代码搜索和编码代理检索。无论是图像、视频、文档还是音频数据,它在参数质量方面为小于 1B 模型的领域设定了新标准,甚至在某些规模更大的专业模型中也表现优于其两倍。
在 EmbeddingGemma 2 模型卡片中可找到完整的评估指标和模型信息。
启用设备上的语义搜索、路由和检索功能
EmbeddingGemma 2 直接为边缘硬件提供强大的功能。在本地生成嵌入向量有助于保护数据隐私,降低处理延迟,并让开发者能够构建完全离线运行的跨模态搜索和检索系统。
与 Gemma 4 等生成式模型结合使用时,EmbeddingGemma 2 能够实现可在设备上的 RAG 流程,从而处理复杂的多模态数据。由于 EmbeddingGemma 2 基于 Gemma 4 构建,并共享其文本分词器和音频编码器,开发者可以将两种模型一起在统一的流程中运行,从而减少整体内存占用。
使用文本或图片,依据语义相似性在媒体库中找到最匹配的内容。可在 Google AI Edge Gallery 的即时媒体搜索功能中尝试。
使用文本或音频查询来查找视频中的特定时刻。可以在 Google AI Edge Gallery 的 Video Moments Finder 中尝试。
将 Gemma 2 用于本地文件检索,与 Gemma 4 结合使用进行上下文推理。可在 Google AI Edge Foresight 应用中尝试使用。
利用多模态上下文创建实时决策引擎,以实现分类、路由和预测功能,通过 MediaPipe Decision Task API。
要学习如何使用 LiteRT构建设备端搜索和 RAG 系统,请阅读Google AI Edge 博客文章。
使用 EmbeddingGemma 2 入门指南
我们与以下合作伙伴密切合作,以确保 EmbeddingGemma 2 能在您构建的场合立即运行。
- 下载模型:在 Hugging Face 和 Kaggle 上查找模型权重。Gemini Enterprise Agent Platform Model Garden 也即将推出。如需针对设备上的优化模型,请访问 Hugging Face 上的 LiteRT Community。
- 设备端部署:使用 Google AI Edge MediaPipe 开发跨平台应用,用于一键嵌入、检索及决策任务;或使用 LiteRT 实现自定义模型集成。通过 transformers.js 或 WebGPU 为浏览器构建应用。
- 使用您喜欢的开发工具:使用 transformers、sentence-transformers、MLX、vLLM、llama.cpp、SGLang、Ollama和LMStudio来高效部署模型。将您的嵌入向量存储在Qdrant中。
- 微调:遵循 Unsloth 提供的指导,以了解如何针对您的应用场景对 EmbeddingGemma 2 进行微调。
