说明文档
EmbeddingGemma 模型卡片
模型页面: EmbeddingGemma
资源与技术文档:
使用条款: 条款
作者: Google DeepMind
模型信息
描述
EmbeddingGemma 是 Google 推出的 3 亿参数开源嵌入模型,在其尺寸级别中处于最先进水平。该模型基于 Gemma 3(采用 T5Gemma 初始化)构建,使用了与创建 Gemini 模型相同的研究和技术。EmbeddingGemma 生成文本的向量表示,非常适合搜索和检索任务,包括分类、聚类和语义相似度搜索。该模型使用 100 多种口语的数据进行训练。
其小巧的体积和对设备端运行的专注,使其能够部署在资源有限的环境中,如手机、笔记本电脑或台式机,从而让更多人能够使用最先进的 AI 模型,并帮助促进全民创新。
更多技术详情,请参阅我们的论文:EmbeddingGemma: Powerful and Lightweight Text Representations。
输入与输出
-
输入:
- 文本字符串,例如问题、提示词或需要嵌入的文档
- 最大输入上下文长度为 2048 个 token
-
输出:
- 输入文本数据的数值向量表示
- 输出嵌入维度为 768,通过 Matryoshka 表示学习(MRL)可提供更小的选项(512、256 或 128)。MRL 允许用户将 768 维的输出嵌入截断到所需尺寸,然后重新归一化,以实现高效且准确的表示。
引用
@article{embedding_gemma_2025,
title={EmbeddingGemma: Powerful and Lightweight Text Representations},
author={Schechter Vera, Henrique* and Dua, Sahil* and Zhang, Biao and Salz, Daniel and Mullins, Ryan and Raghuram Panyam, Sindhu and Smoot, Sara and Naim, Iftekhar and Zou, Joe and Chen, Feiyang and Cer, Daniel and Lisak, Alice and Choi, Min and Gonzalez, Lucas and Sanseviero, Omar and Cameron, Glenn and Ballantyne, Ian and Black, Kat and Chen, Kaifeng and Wang, Weiyi and Li, Zhe and Martins, Gus and Lee, Jinhyuk and Sherwood, Mark and Ji, Juyeong and Wu, Renjie and Zheng, Jingxiao and Singh, Jyotinder and Sharma, Abheesht and Sreepat, Divya and Jain, Aashi and Elarabawy, Adham and Co, AJ and Doumanoglou, Andreas and Samari, Babak and Hora, Ben and Potetz, Brian and Kim, Dahun and Alfonseca, Enrique and Moiseev, Fedor and Han, Feng and Palma Gomez, Frank and Hernández Ábrego, Gustavo and Zhang, Hesen and Hui, Hui and Han, Jay and Gill, Karan and Chen, Ke and Chen, Koert and Shanbhogue, Madhuri and Boratko, Michael and Suganthan, Paul and Duddu, Sai Meher Karthik and Mariserla, Sandeep and Ariafar, Setareh and Zhang, Shanfeng and Zhang, Shijie and Baumgartner, Simon and Goenka, Sonam and Qiu, Steve and Dabral, Tanmaya and Walker, Trevor and Rao, Vikram and Khawaja, Waleed and Zhou, Wenlei and Ren, Xiaoqi and Xia, Ye and Chen, Yichang and Chen, Yi-Ting and Dong, Zhe and Ding, Zhongli and Visin, Francesco and Liu, Gaël and Zhang, Jiageng and Kenealy, Kathleen and Casbon, Michelle and Kumar, Ravin and Mesnard, Thomas and Gleicher, Zach and Brick, Cormac and Lacombe, Olivier and Roberts, Adam and Sung, Yunhsuan and Hoffmann, Raphael and Warkentin, Tris and Joulin, Armand and Duerig, Tom and Seyedhosseini, Mojtaba},
publisher={Google DeepMind},
year={2025},
url={https://arxiv.org/abs/2509.20354}
}
使用方法
这些模型权重设计用于与 Sentence Transformers 配合使用,以 Hugging Face Transformers 中的 Gemma 3 实现作为骨干网络。
首先安装 Sentence Transformers 库:
pip install -U sentence-transformers
然后您可以加载此模型并运行推理。
from sentence_transformers import SentenceTransformer
# 从 🤗 Hub 下载
model = SentenceTransformer("google/embeddinggemma-300m")
# 使用查询和文档运行推理
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)
# 计算相似度以确定排名
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.3011, 0.6359, 0.4930, 0.4889]])
注意: EmbeddingGemma 的激活不支持 float16。请根据您的硬件情况使用 float32 或 bfloat16。
模型数据
训练数据集
该模型在包含多种来源的文本数据集上进行训练,总计约 3200 亿个 token。以下是主要组成部分:
- 网页文档: 多样化的网页文本集合确保模型接触到广泛的语言风格、主题和词汇。训练数据集包含 100 多种语言的内容。
- 代码和技术文档: 让模型接触代码和技术文档有助于其学习编程语言的结构和模式以及专业科学内容,从而提高其对代码和技术问题的理解能力。
- 合成和任务特定数据: 合成训练数据有助于教授模型特定技能。这包括为信息检索、分类和情感分析等任务策划的数据,有助于针对常见嵌入应用微调其性能。
这些多样化数据源的组合对于训练能够处理各种不同任务和数据格式的强大多语言嵌入模型至关重要。
数据预处理
以下是应用于训练数据的关键数据清洗和过滤方法:
- CSAM 过滤: 在数据准备过程的多个阶段应用了严格的 CSAM(儿童性虐待材料)过滤,以确保排除有害和非法内容。
- 敏感数据过滤: 作为使 Gemma 预训练模型安全可靠的一部分,使用自动化技术从训练集中过滤掉某些个人信息和其他敏感数据。
- 其他方法: 基于我们的政策的内容质量和安全性过滤。
模型开发
硬件
EmbeddingGemma 使用最新一代的 Tensor Processing Unit (TPU) 硬件(TPUv5e)进行训练,更多详情请参阅 Gemma 3 模型卡片。
软件
训练使用 JAX 和 ML Pathways 进行。更多详情请参阅 Gemma 3 模型卡片。
评估
基准测试结果
该模型针对大量不同的数据集和指标进行评估,以涵盖文本理解的不同方面。
全精度检查点
<table> <thead> <tr> <th colspan="3"><strong>MTEB(多语言,v2)</strong></th> </tr> </thead> <tbody> <tr> <td><strong>维度</strong></td> <td><strong>均值(任务)</strong></td> <td><strong>均值(任务类型)</strong></td> </tr> <tr> <td>768d</td> <td>61.15</td> <td>54.31</td> </tr> <tr> <td>512d</td> <td>60.71</td> <td>53.89</td> </tr> <tr> <td>256d</td> <td>59.68</td> <td>53.01</td> </tr> <tr> <td>128d</td> <td>58.23</td> <td>51.77</td> </tr> </tbody> </table>
<table> <thead> <tr> <th colspan="3"><strong>MTEB(英语,v2)</strong></th> </tr> </thead> <tbody> <tr> <td><strong>维度</strong></td> <td><strong>均值(任务)</strong></td> <td><strong>均值(任务类型)</strong></td> </tr> <tr> <td>768d</td> <td>69.67</td> <td>65.11</td> </tr> <tr> <td>512d</td> <td>69.18</td> <td>64.59</td> </tr> <tr> <td>256d</td> <td>68.37</td> <td>64.02</td> </tr> <tr> <td>128d</td> <td>66.66</td> <td>62.70</td> </tr> </tbody> </table>
<table> <thead> <tr> <th colspan="3"><strong>MTEB(代码,v1)</strong></th> </tr> </thead> <tbody> <tr> <td><strong>维度</strong></td> <td><strong>均值(任务)</strong></td> <td><strong>均值(任务类型)</strong></td> </tr> <tr> <td>768d</td> <td>68.76</td> <td>68.76</td> </tr> <tr> <td>512d</td> <td>68.48</td> <td>68.48</td> </tr> <tr> <td>256d</td> <td>66.74</td> <td>66.74</td> </tr> <tr> <td>128d</td> <td>62.96</td> <td>62.96</td> </tr> </tbody> </table>
QAT 检查点
<table> <thead> <tr> <th colspan="3"><strong>MTEB(多语言,v2)</strong></th> </tr> </thead> <tbody> <tr> <td><strong>量化配置(维度)</strong></td> <td><strong>均值(任务)</strong></td> <td><strong>均值(任务类型)</strong></td> </tr> <tr> <td>Q4_0 (768d)</td> <td>60.62</td> <td>53.61</td> </tr> <tr> <td>Q8_0 (768d)</td> <td>60.93</td> <td>53.95</td> </tr> <tr> <td>混合精度* (768d)</td> <td>60.69</td> <td>53.82</td> </tr> </tbody> </table>
<table> <thead> <tr> <th colspan="3"><strong>MTEB(英语,v2)</strong></th> </tr> </thead> <tbody> <tr> <td><strong>量化配置(维度)</strong></td> <td><strong>均值(任务)</strong></td> <td><strong>均值(任务类型)</strong></td> </tr> <tr> <td>Q4_0 (768d)</td> <td>69.31</td> <td>64.65</td> </tr> <tr> <td>Q8_0 (768d)</td> <td>69.49</td> <td>64.84</td> </tr> <tr> <td>混合精度* (768d)</td> <td>69.32</td> <td>64.82</td> </tr> </tbody> </table>
<table> <thead> <tr> <th colspan="3"><strong>MTEB(代码,v1)</strong></th> </tr> </thead> <tbody> <tr> <td><strong>量化配置(维度)</strong></td> <td><strong>均值(任务)</strong></td> <td><strong>均值(任务类型)</strong></td> </tr> <tr> <td>Q4_0 (768d)</td> <td>67.99</td> <td>67.99</td> </tr> <tr> <td>Q8_0 (768d)</td> <td>68.70</td> <td>68.70</td> </tr> <tr> <td>混合精度* (768d)</td> <td>68.03</td> <td>68.03</td> </tr> </tbody> </table>
注意:QAT 模型在量化后进行评估
* 混合精度指按通道量化,嵌入层、前馈层和投影层使用 int4,注意力层使用 int8(e4_a8_f4_p4)。
提示指令
EmbeddingGemma 可以为各种用例生成优化的嵌入——例如文档检索、问答和事实验证——或针对特定输入类型(查询或文档)——使用前置到输入字符串的提示。查询提示遵循 task: {任务描述} | query: 的格式,其中任务描述因用例而异,默认任务描述为 search result。文档样式提示遵循 title: {标题 | \"none\"} | text: 的格式,其中标题是 none(默认值)或文档的实际标题。请注意,如果可用,提供标题将提高文档提示的模型性能,但可能需要手动格式化。
根据您的用例和输入数据类型使用以下提示。这些可能已在您选择的建模框架中的 EmbeddingGemma 配置中提供。
<table> <thead> <tr> <th><br> <strong>用例(任务类型枚举)</strong></th> <th><br> <strong>描述</strong></th> <th><br> <strong>推荐提示</strong></th> </tr> </thead> <tbody> <tr> <td><br> 检索(查询)</td> <td rowspan="4"><br> 用于生成针对文档搜索或信息检索优化的嵌入</td> <td><br> task: search result | query: {内容}</td> </tr> <tr> <td><br> 检索(文档)</td> <td><br> title: {标题 | "none"} | text: {内容}</td> </tr> <tr> <td><br> 问答</td> <td><br> task: question answering | query: {内容}</td> </tr> <tr> <td><br> 事实验证</td> <td><br> task: fact checking | query: {内容}</td> </tr> <tr> <td><br> 分类</td> <td><br> 用于生成针对按预设标签分类文本优化的嵌入</td> <td><br> task: classification | query: {内容}</td> </tr> <tr> <td><br> 聚类</td> <td><br> 用于生成基于相似度对文本进行聚类优化的嵌入</td> <td><br> task: clustering | query: {内容}</td> </tr> <tr> <td><br> 语义相似度</td> <td><br> 用于生成评估文本相似度优化的嵌入。这不适用于检索用例。</td> <td><br> task: sentence similarity | query: {内容}</td> </tr> <tr> <td><br> 代码检索</td> <td><br> 用于根据自然语言查询(如<em>数组排序</em>或<em>反转链表</em>)检索代码块。代码块的嵌入使用 retrieval_document 计算。</td> <td><br> task: code retrieval | query: {内容}</td> </tr> </tbody> </table>
使用与限制
这些模型存在一些用户应该注意的限制。
预期用途
开源嵌入模型在各行各业和领域有广泛的应用。以下潜在用途列表并不全面。此列表的目的是提供关于模型创建者在模型训练和开发过程中考虑的可能用例的背景信息。
-
语义相似度: 优化用于评估文本相似度的嵌入,如推荐系统和重复检测
-
分类: 优化用于按预设标签分类文本的嵌入,如情感分析和垃圾邮件检测
-
聚类: 优化用于基于相似度对文本进行聚类的嵌入,如文档组织、市场研究和异常检测
-
检索
- 文档: 优化用于文档搜索的嵌入,如为搜索索引文章、书籍或网页
- 查询: 优化用于一般搜索查询的嵌入,如自定义搜索
- 代码查询: 优化用于基于自然语言查询检索代码块的嵌入,如代码建议和搜索
-
问答: 问答系统中问题的嵌入,优化用于找到回答问题的文档,如聊天机器人。
-
事实验证: 需要验证的陈述的嵌入,优化用于检索包含支持或反驳该陈述的证据的文档,如自动事实核查系统。
限制
-
训练数据
- 训练数据的质量和多样性显著影响模型的能力。训练数据中的偏见或缺口可能导致模型响应的限制。
- 训练数据集的范围决定了模型能有效处理的主题领域。
-
语言歧义和细微差别
- 自然语言本质上很复杂。模型可能难以理解微妙的细微差别、讽刺或比喻性语言。
伦理考量和风险
已识别的风险和缓解措施:
- 偏见的延续: 鼓励在模型训练、微调和其他用例中进行持续监控(使用评估指标、人工审查)并探索去偏见技术。
- 恶意用途: 技术限制以及开发者和最终用户教育可以帮助缓解嵌入的恶意应用。为用户提供标记滥用的教育资源和报告机制。Gemma 禁止使用政策中概述了 Gemma 模型的禁止用途。
- 隐私侵犯: 模型在经过过滤以删除某些个人信息和其他敏感数据的数据上进行训练。鼓励开发者通过隐私保护技术遵守隐私法规。
优势
在发布时,与同等尺寸的模型相比,此模型系列提供了从头开始为负责任 AI 开发设计的高性能开源嵌入模型实现。使用本文档中描述的基准评估指标,这些模型已显示出优于其他同等尺寸开源模型替代方案的性能。
nilay-sam-23/embeddinggemma-300m-onnx
作者 nilay-sam-23
创建时间: 2026-02-07 21:36:34+00:00
更新时间: 2026-02-07 21:36:51+00:00
在 Hugging Face 上查看