Granite Embedding Multilingual R2:基于Apache 2.0的开源多语言嵌入模型,支持32K上下文——参数量低于1亿的检索质量最佳
摘要
IBM发布Granite Embedding Multilingual R2,这是一系列基于Apache 2.0的开源多语言嵌入模型,包含一个紧凑的97M参数模型,实现了参数量低于1亿的同类最佳检索质量,以及一个采用Matryoshka嵌入的311M参数模型,两者均支持32K上下文和200多种语言。
查看缓存全文
缓存时间: 2026/05/15 00:17
Granite Embedding Multilingual R2:开放 Apache 2.0 多语言嵌入模型,支持 32K 上下文 — 1 亿参数以下最佳检索质量
来源:https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2 返回文章列表 (https://huggingface.co/blog)
- 专为企业级应用设计 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#enterprise-ready-by-design) - 强大的 1 亿参数以下多语言模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#a-strong-sub-100m-multilingual-model) - 与 R1 相比的变化 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#what-changed-from-r1) - 训练全尺寸 311M 模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#training-the-full-size-311m-model) - 构建紧凑型 97M 多语言模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#building-the-compact-97m-multilingual-model) - 基准测试结果 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#benchmark-results)- 多语言检索 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#multilingual-retrieval) - 速度与吞吐量 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#speed-and-throughput) - 套娃式嵌入(311M)(https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#matryoshka-embeddings-311m)- 跨语言检索 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#cross-lingual-retrieval) - 部署选项 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#deployment-options) - 面向框架集成者 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#for-framework-integrators) - 你应该使用哪个模型?(https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#which-model-should-you-use) - 试试这些模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#try-the-models) **TL;DR:**两款基于 ModernBERT 的全新 Apache 2.0 多语言嵌入模型——一款 97M 参数的紧凑型模型,在 MTEB 多语言检索(60.3)上击败所有开放的子 1 亿参数多语言嵌入器;另一款 311M 全尺寸模型,在 MTEB 多语言检索中得分 65.2(在 5 亿参数以下的开放模型中排名第二),并支持套娃式嵌入。两者均覆盖 200 多种语言,针对 52 种语言进行调优,支持 32K 令牌上下文(是 R1 的 64 倍),并增加了跨 9 种编程语言的代码检索功能。
Granite Embedding Multilingual R2 (https://cdn-uploads.huggingface.co/production/uploads/642ae74b25442667e9bd72ed/LrZQDi73p2iIqRJTd25f7.png)
**本文内容:**专为企业级应用设计 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#enterprise-ready-by-design)·强大的 1 亿参数以下多语言模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#a-strong-sub-100m-multilingual-model)·与 R1 相比的变化 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#what-changed-from-r1)·训练全尺寸 311M 模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#training-the-full-size-311m-model)·构建紧凑型 97M 多语言模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#building-the-compact-97m-multilingual-model)·基准测试结果 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#benchmark-results)·套娃式嵌入 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#matryoshka-embeddings-311m)·部署选项 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#deployment-options)·面向框架集成者 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#for-framework-integrators)·你应该使用哪个模型?(https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#which-model-should-you-use)·试试这些模型 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#try-the-models)
多语言嵌入模型一直面临一个持久的矛盾:广泛的语言覆盖通常以模型大小为代价,而小型模型通常又牺牲语言种类。如果你需要跨语言工作——例如多语言语料库的检索增强生成、跨语言搜索、国际团队中的代码检索——你很可能不得不在“足够快”和“足够好”之间做出选择。
Granite Embedding Multilingual R2 的发布大大缩小了这一差距。我们发布了两个新的多语言嵌入模型:
- granite-embedding-311m-multilingual-r2 (https://huggingface.co/ibm-granite/granite-embedding-311m-multilingual-r2)——一款 311M 参数的全尺寸模型,具有 768 维嵌入,支持套娃式维度,并提供顶级的多语言检索质量。
- granite-embedding-97m-multilingual-r2 (https://huggingface.co/ibm-granite/granite-embedding-97m-multilingual-r2)——一款 97M 参数的紧凑型模型,具有 384 维嵌入,在其规模下提供强大的检索质量。
两个模型均支持200 多种语言,对52 种语言和编程代码的检索质量得到增强,最长上下文长度达到32,768 个令牌(比其 R1 前代增加了 64 倍),并采用Apache 2.0许可发布。它们可以直接与 sentence-transformers 和 transformers 配合使用,无需特定任务的指令,并且可以作为LangChain、LlamaIndex、Haystack和Milvus的即插即用替代品,只需更改一行模型名称。对于当前使用纯英文默认模型的框架,这一行更改即可为社区中的每个用户提供 200 多种语言的支持——无需更改 API、无需添加新依赖、也无需在用户端更改代码。两个模型都附带 ONNX 和 OpenVINO 权重,用于 CPU 优化推理。
52 种增强支持语言(点击展开)底层编码器在 200 多种语言的文本上进行预训练,可为其中任何一种语言生成通用嵌入。以下 52 种语言接受显式的检索对和跨语言训练,以获得更高质量的检索:
阿尔巴尼亚语 (sq)、阿拉伯语 (ar)、阿塞拜疆语 (az)、孟加拉语 (bn)、保加利亚语 (bg)、加泰罗尼亚语 (ca)、中文 (zh)、克罗地亚语 (hr)、捷克语 (cs)、丹麦语 (da)、荷兰语 (nl)、英语 (en)、爱沙尼亚语 (et)、芬兰语 (fi)、法语 (fr)、格鲁吉亚语 (ka)、德语 (de)、希腊语 (el)、希伯来语 (he)、印地语 (hi)、匈牙利语 (hu)、冰岛语 (is)、印尼语 (id)、意大利语 (it)、日语 (ja)、哈萨克语 (kk)、高棉语 (km)、韩语 (ko)、拉脱维亚语 (lv)、立陶宛语 (lt)、马来语 (ms)、马拉地语 (mr)、挪威语 (no)、波斯语 (fa)、波兰语 (pl)、葡萄牙语 (pt)、罗马尼亚语 (ro)、俄语 (ru)、塞尔维亚语 (sr)、斯洛伐克语 (sk)、斯洛文尼亚语 (sl)、西班牙语 (es)、斯瓦希里语 (sw)、瑞典语 (sv)、他加禄语 (tl)、泰卢固语 (te)、泰语 (th)、土耳其语 (tr)、乌克兰语 (uk)、乌尔都语 (ur)、乌兹别克语 (uz)、越南语 (vi)。
此外,这些模型还针对编程代码(Python、Go、Java、JavaScript、PHP、Ruby、SQL、C、C++)进行了训练,并支持跨语言代码检索。
https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#enterprise-ready-by-design专为企业级应用设计
这两个嵌入模型均基于 IBM 策划的数据集、公开可用数据以及内部生成或合成数据的混合进行训练。训练中使用的源自公开网络的数据,均采用 IBM 开发的质量、去重和治理流程进行选择和过滤,旨在降低下游商业使用的风险。我们有意识地避免使用 MS-MARCO 训练数据集以及具有明确非商业许可限制的数据集。这些模型使用 GneissWeb (https://huggingface.co/datasets/ibm-granite/GneissWeb) 进行预训练,这是一个由 IBM 策划的数据集,来源于公开网络内容,并经过 IBM 的数据准备和治理工具处理——同时还使用了其他 IBM 策划和公开可用的来源。数据集经过 IBM 的治理审查,以评估许可考虑、所有权信号和个人数据风险。这些流程旨在促进负责任的使用和企业部署。
https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#a-strong-sub-100m-multilingual-model强大的 1 亿参数以下多语言模型
本次发布的亮点是 granite-embedding-97m-multilingual-r2。该模型仅有 9700 万个参数,在涵盖 18 种语言的多语言 MTEB 检索中得分 60.3——这是我们所见过的 1 亿参数以下的开放多语言嵌入模型中检索得分最高的。同一尺寸类别中次优模型 multilingual-e5-small 在同一基准测试上得分为 50.9——在一个成熟的基准测试上差距达到 +9.4 分。
该模型大小约为 311M 全尺寸模型的三分之一,但在多语言、代码和长文档基准测试上保留了其大部分的检索质量——相较于其直接前代,在 MTEB 多语言检索上提升了 +12.2 分,这得益于新的架构、更好的训练数据以及新颖的剪枝方法(下文详述)。全尺寸 granite-embedding-311m-multilingual-r2 在同一基准测试上得分 65.2,比其 R1 前代提升了 +13.0 分。
https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#what-changed-from-r1与 R1 相比的变化
Granite Embedding Multilingual R1 模型基于 XLM-RoBERTa 编码器,上下文窗口为 512 个令牌。R2 代则是从头开始重建:
Granite Embedding R2 架构 (https://cdn-uploads.huggingface.co/production/uploads/642ae74b25442667e9bd72ed/jhz201_Ud5zUWfA3k4ITA.png)
ModernBERT (https://huggingface.co/blog/modernbert) 是一种最新的编码器架构,它重新审视了原始 BERT 设计,并融入了过去五年 Transformer 研究的技术。这一转变带来了若干实际好处:交替注意力长度减少了长序列的计算量(显著提升了长序列的吞吐量),旋转位置嵌入使得 32K 上下文窗口成为可能,而无需旧架构中那些位置插值的权宜之计,并且 Flash Attention 2.0 的支持加快了现代 GPU 上的编码速度。
新的多语言分词器值得强调。我们没有重用 XLM-RoBERTa 的 250K 令牌词汇表,而是采用了现有的、具有强大多语言和代码覆盖能力的分词器。311M 模型使用 Gemma 3 分词器(262K 令牌);97M 模型从 GPT-OSS 分词器开始,将其剪枝为紧凑的 180K 令牌词汇表,在保持广泛多语言覆盖的同时,减少了嵌入表的参数占用。分词器的效率比人们意识到的更重要——一个 32K 令牌窗口听起来很厉害,但如果你的分词器仅编码一段泰语文本就消耗了其中一半,那就大打折扣了。
https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#training-the-full-size-311m-model训练全尺寸 311M 模型
311M 模型是一个 22 层 ModernBERT 编码器,带有 262K 令牌的多语言词汇表,通过多阶段流程进行训练:
- 知识蒸馏:模型同时从多个教师模型学习。教师模型是经过进一步微调用于文本嵌入的 Granite 3.3 Instruct 和 Mistral v0.2 Instruct 解码器模型,它们将检索特定的知识转移到 311M 编码器架构中。
- 对比微调:在多语言检索对上(跨 52 种语言和代码的查询与相关及硬负例段落)进行标准对比训练,提高了模型区分相关与不相关结果的能力。
- 模型合并:训练后,我们合并来自不同训练阶段和配置的检查点。这将针对不同目标(例如,多语言广度 vs. 英语深度)优化的模型的优势,组合成一组权重,而无需额外的训练计算。
- 套娃式表示学习:模型使用套娃式目标进行训练,使得其 768 维嵌入可以截断为 512、384、256 或 128 维,而质量损失极小(请参见下文套娃式嵌入 (https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#matryoshka-embeddings-311m))。
结果模型在 MTEB 多语言检索上得分 65.2,整体平均得分 56.3——比其 R1 前代平均提升了 +14.5 分。
https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#building-the-compact-97m-multilingual-model构建紧凑型 97M 多语言模型
97M 模型通过结合词汇选择和知识蒸馏进行训练:
- 词汇选择:262K 令牌词汇表被缩减为专门训练的 180K 令牌词汇表,在保持广泛多语言覆盖的同时,大幅减小了嵌入表的规模。
- 知识蒸馏:然后,剪枝后的模型使用来自多个教师模型(包括一个 Granite 4.1 8B (https://huggingface.co/ibm-granite/granite-4.1-8b) 和基于 Mistral Instruct 解码器的教师)的知识蒸馏以及对比训练进行微调,以提高检索质量。
这种方法将检索特定知识从多个强大教师模型传输过来,同时减少了模型参数却不牺牲语言覆盖。结果是一个高效的紧凑模型——在 MTEB 多语言检索上得分 60.3,而全尺寸模型为 65.2,同时体积大约小三倍。
https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#benchmark-results基准测试结果
https://huggingface.co/blog/ibm-granite/granite-embedding-multilingual-r2#multilingual-retrieval多语言检索
按模型大小排序的主要基准测试套件性能。得分是每个基准测试中各任务的平均值(越高越好):
模型参数有效参数嵌入维度MTEB 多语言检索 (18)代码 (12)英语检索 (10)LongEmbed (6)RaR-b (17)F2LLM-v2-80M80M32M32050.168.047.531.717.9multilingual-e5-small118M22M38450.953.546.538.820.3granite-embedding-107m-multilingual (R1)107M11M38448.140.747.934.317.1paraphrase-multilingual-MiniLM-L12-v2118M22M38436.623.535.920.910.9jina-embeddings-v5-text-nano212M113M76863.371.258.863.625.2harrier-oss-v1-270m268M100M64066.462.452.164.932.9multilingual-e5-base278M86M76852.752.649.040.523.4granite-embedding-278m-multilingual (R1)278M86M76852.248.551.537.718.9embeddinggemma-300m308M106M76862.568.754.655.426.1gte-multilingual-base305M113M76857.257.550.862.119.0snowflake-arctic-embed-m-v2.0305M113M76854.855.258.455.423.3multilingual-e5-large560M304M102453.755.851.540.425.4text-embedding-3-small (OpenAI, 仅 API)——153650.7—53.853.623.2**granite-embedding-97m-multilingual-r297M28M38460.360.450.165.624.9granite-embedding-311m-multilingual-r2311M110M768****65.2 (#2)****63.8 (#3)****52.6 (#5)****71.7 (#1)**28.0 (#2)
几点值得注意:
- 97M R2 模型在多语言检索上击败了 multilingual-e5-base 和 gte-multilingual-base(约 300M 参数模型),在平均得分和大多数单项基准测试上均胜出,尽管其体积大约小三倍。
paraphrase-multilingual-MiniLM-L12-v2——一个广泛使用的框架默认模型——得分 36.6,比 97M R2 模型低了整整 +23.7 分,而 97M R2 模型的参数也更少(97M 对 110M),且具有相同的 384 维嵌入。
相似文章
对 Google Embeddings 2 与开源模型在多语言稠密检索和 RAG 系统中的基准测试
本文对 Google Embeddings 2 与五个开源模型在多语言稠密检索和 RAG 系统中进行了基准测试,发现 GE2 在准确性上表现最佳但速度较慢,而 mE5-L 作为低延迟的竞争性替代方案。
ibm-granite/granite-4.1-8b · Hugging Face
IBM 发布 Granite-4.1-8B:Apache 2.0 许可的 80 亿参数长上下文 Instruct 模型,工具调用与多语言能力全面升级。
全新改进的嵌入模型
OpenAI 发布了 text-embedding-ada-002,这是一个统一的嵌入模型,将之前的五个模型整合为一个,具有更出色的性能、4 倍更长的上下文窗口(8192 个令牌)、更小的维度(1536)以及比之前的 Davinci 嵌入模型低 99.8% 的定价。
zsxkib/embedding-gemma-300m
zsxkib/embedding-gemma-300m 是 Google 的 EmbeddingGemma-300M 模型在 Replicate 上的部署,用于生成 768 维文本嵌入,通过 Matryoshka 表示学习支持灵活的输出维度。
新的嵌入模型和 API 更新
OpenAI 发布了两个新的嵌入模型:text-embedding-3-small(比 ada-002 便宜 5 倍,MIRACL 性能提升 40% 以上)和 text-embedding-3-large(性能最佳,支持最多 3072 维度)。两个模型在标准基准上都展现出显著的性能提升,同时降低了成本。