
谷歌放大招!EmbeddingGemma 免费商用:200MB 内存搞定 100 种语言 RAG,性能翻倍
在当今数字化时代,人工智能技术正以前所未有的速度发展,其中文本嵌入模型作为自然语言处理领域的核心技术之一,扮演着至关重要的角色。谷歌作为人工智能领域的领军者,近期开源了一款名为EmbeddingGemma的文本嵌入模型,它专为移动端等日常设备设计,具有轻量化、高性能、多语言支持等诸多优势,有望在众多应用场景中大放异彩。
一、项目概述
EmbeddingGemma是一款基于Gemma 3架构的3.08亿参数多语言文本嵌入模型,专为在手机、笔记本电脑和平板电脑等日常设备中使用进行了优化。它能够生成文本的数值表示,广泛应用于信息检索、语义相似度搜索、分类和聚类等下游任务。
二、核心功能
(一)多语言支持
EmbeddingGemma经过100多种语言的训练,具备广泛的语言数据理解能力,能够满足跨语言应用的需求,如多语言语义搜索、跨语言信息检索等。
(二)灵活的输出维度
借助Matryoshka Representation Learning(MRL)技术,EmbeddingGemma可以自定义输出维度,从768维到128维可灵活调整,开发者可根据实际需求在速度、存储和质量之间进行权衡。
(三)2K词元上下文
该模型支持最长2048词元的文本输入,为处理长文本数据和文档提供了丰富的输入上下文,有助于更好地理解文本内容。
(四)节省存储空间
通过量化技术,EmbeddingGemma能够在不到200MB的RAM上运行,极大地降低了对设备存储资源的要求。
(五)低延迟
在EdgeTPU上,生成嵌入向量的时间不到22毫秒,甚至对于256个词元的输入,推理时延可小于15毫秒,能够实现快速流畅的应用体验。
(六)离线且安全
EmbeddingGemma直接在硬件上生成文档的嵌入内容,无需连接互联网即可运行,从而确保敏感数据的安全,特别适合对隐私保护要求较高的应用场景。
三、技术揭秘
(一)基于Transformer架构
EmbeddingGemma的核心基于Gemma 3的编码器,采用标准Transformer编码器堆叠加全序列自注意力机制,去掉了Gemma 3中面向多模态的双向注意力层,专注于文本处理。这种架构选择既能保持对文本语义的强大表达能力,又避免了模型过于臃肿,使其更适合长文档检索和RAG场景。
(二)Matryoshka表征学习(MRL)
MRL技术是EmbeddingGemma的一大亮点。它允许同一个嵌入向量根据需要进行“切片”,变成不同维度的向量,而不会显著影响效果。例如,在手机端可以用128维嵌入进行快速匹配,而在服务器端则可使用全维度进行精确计算,无需重新训练模型,大大提高了模型的灵活性和适用性。
(三)量化感知训练(QAT)
为了进一步优化模型的性能和资源消耗,EmbeddingGemma采用了量化感知训练技术。通过QAT,模型在保持较高性能的同时,显著降低了内存使用量,使其能够在资源受限的设备上高效运行,实现了低延迟与极低资源占用的完美结合。
(四)端到端的文本处理
EmbeddingGemma在设备硬件上直接生成文档嵌入,无需联网,确保了用户数据的隐私和安全。同时,它使用与Gemma 3n相同的分词器进行文本处理,进一步优化了RAG应用的内存占用。
四、基准评测
在海量文本嵌入基准(MTEB)上,EmbeddingGemma取得了优异的成绩,成为500M参数以下模型的最高分。它在多语言和英文任务上的表现尤为突出,与几乎两倍大小的模型相比也毫不逊色,展现了其在小体量模型中的卓越性能。例如,在MTEB多语言v2的平均得分中,EmbeddingGemma达到了61.15,而在MTEB英文v2的平均得分中更是高达68.36。这些结果充分证明了EmbeddingGemma在文本嵌入领域的强大实力和高性价比。
五、应用场景
(一)检索增强生成(RAG)
EmbeddingGemma与Gemma 3n配合,能够构建移动优先的RAG管道,实现个性化、行业特定和离线支持的聊天机器人。例如,用户可以在没有网络连接的情况下,通过手机上的聊天机器人获取本地知识库中的信息,为用户提供更加便捷、高效和安全的交互体验。
(二)多语言应用
其多语言支持能力使其在跨语言信息检索和多语言聊天机器人等应用中具有巨大潜力。比如,一个国际化的旅行应用可以利用EmbeddingGemma为用户提供多语言的旅游信息查询和推荐服务,打破语言障碍。
(三)端侧AI
EmbeddingGemma低内存占用和快速推理能力使其能够在离线状态下运行,适用于移动设备上的各种智能应用。例如,用户可以在飞机上使用手机上的离线翻译应用,快速翻译个人文档。
(四)文本分类与聚类
该模型可以帮助将文本数据进行分类或聚类,在数据挖掘和分析领域具有广泛的应用前景。例如,企业可以利用它对海量的客户反馈文本进行分类,以便更好地了解客户需求和市场趋势。
(五)语义相似度计算
EmbeddingGemma可用于文本相似度计算和推荐系统,通过判断文本语义的相似度,为用户提供精准的推荐。例如,一个新闻推荐应用可以根据用户的历史阅读记录,利用该模型为用户推荐语义相关度高的新闻。
六、快速使用
(一)安装依赖
pip install -U sentence-transformers
(二)模型加载
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("google/embeddinggemma-300m")
# Run inference with queries and documents
query = "Which planet is known as the Red Planet?"
documents = [
"Venus is often called Earth's twin because of its similar size and proximity.",
"Mars, known for its reddish appearance, is often referred to as the Red Planet.",
"Jupiter, the largest planet in our solar system, has a prominent red spot.",
"Saturn, famous for its rings, is sometimes mistaken for the Red Planet."
]
query_embeddings = model.encode_query(query)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# (768,) (4, 768)
# Compute similarities to determine a ranking
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.3011, 0.6359, 0.4930, 0.4889]])
七、结语
EmbeddingGemma的推出是谷歌在小型化、多语言和端侧AI领域的一次重要突破。它不仅在性能上接近更大规模的模型,还兼顾了速度、内存和隐私的平衡。随着RAG、语义搜索等应用不断下沉至个人设备,EmbeddingGemma有望成为推动端侧智能普及的重要基石。对于广大开发者来说,EmbeddingGemma提供了一个强大的工具,使其能够在保护用户隐私的前提下,打造创新、高效且具有竞争力的端侧AI应用。
项目地址
项目官网:https://developers.googleblog.com/zh-hans/embeddinggemma-mobile-first-embedding-model/
HuggingFace模型库:https://huggingface.co/collections/google/embeddinggemma-68b9ae3a72a82f0562a80dc4
本文转载自小兵的AI视界,作者:AGI小兵
