热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >详解 BGE-M3 与 Splade 模型

详解 BGE-M3 与 Splade 模型

来源:互联网 更新时间:2026-08-19 14:47

在上一篇文章《详解如何通过稀疏向量优化信息检索》中,我们聊过信息检索技术是如何从早期的关键词匹配,一步步进化到如今复杂的情境理解。其中一个核心结论是:稀疏 Embedding 向量并非一成不变,它也可以通过“学习”来获得。这些“学出来”的 Embedding 技术,巧妙地融合了稠密向量和稀疏向量检索的各自优势。它们不仅解决了稠密检索在跨领域任务中常见的“水土不服”问题,还通过揉入更多上下文信息,彻底盘活了传统稀疏向量搜索的能力。

了解了学习型稀疏向量的强大之处后,一个很自然的问题就来了:市面上到底有哪些模型能生成这类 Embedding 向量?今天这篇文章,我们就重点剖析两个前沿的 Embedding 模型——BGE-M3 和 SPLADE,深入到它们的底层设计理念和工作原理中去看看。

01. 快速回顾 Embedding 向量的概念

先来做个速览。Embedding 向量,或者说向量表示,简单理解就是把一个对象、概念或者实体,用一串数字在一个高维空间里描述出来。每个实体对应一个固定长度的向量,向量的每一个维度都代表了该实体的某种特定属性。

目前主流的 Embedding 向量主要有三大类:传统的稀疏向量、稠密向量,以及我们重点关注的“学习到的”稀疏向量。

传统的稀疏向量,在自然语言处理领域很常见。它的特点是维度极高,但绝大多数维度的值都是零。这些维度通常对应着一种或多种语言里的不同“标记”(Token),非零值则表示该标记在特定文档里的相对重要性。比如经典的 BM25 算法,它在 TF-IDF 的基础上加入了词频饱和函数和长度归一化因子,做关键词匹配的效果非常好。

而稠密向量则相反,维度较低,但每个维度都有值,信息密度很大。这类向量通常由 BERT 这类模型生成,非常适合基于语义相似度进行排序的语义搜索,因为它不再拘泥于字面匹配。

最后就是我们今天的主角——“学习到的”稀疏向量。它算是一种“进阶版”,融合了传统稀疏向量的精确性和稠密向量的丰富语义。它以一种混合形态出现,通过注入上下文信息来强化稀疏检索。像 SPLADE 和 BGE-M3 这样的机器学习模型,就能生成这种向量。它们能“学”出那些文本中没有直接出现、但语义上高度相关的标记,从而形成一个既精准又全面的稀疏向量表示。

02. BERT:BGE-M3 和 SPLADE 的模型基石

要理解 BGE-M3 和 SPLADE,就必须先弄明白它们共同的“地基”——BERT。在深入细节之前,我们先来回顾一下 BERT 的核心机制,看看它是如何撑起 Embedding 技术这片天的。

BERT,全称是 Bidirectional Encoder Representations from Transformers,可以说是 NLP 领域的一座里程碑。和那些只能单向阅读文本的传统模型不同,BERT 能同时“看到”整个词序列,从左右两个方向捕捉词汇的上下文信息。它的成功,主要归功于其独特的预训练机制,特别是以下两个创新策略:

  • Masked Language Modeling (MLM)

    :在这个任务里,模型会随机遮盖输入文本中的部分词汇,然后训练模型去预测这些被藏起来的词。和之前只能理解单向上下文的模型不同,BERT 会调动句子整体的上下文信息,包括被遮盖词左右两边的词,来“填空”。
  • Next Sentence Prediction (NSP)

    :这个任务教会 BERT 判断两个句子在逻辑上是否连贯。这对于理解段落中句与句之间的关系至关重要。

BERT 架构的核心机制是自注意力。Transformer 里的每一层编码器,都会通过自注意力机制来评估句子中其他单词对于理解当前这个词有多重要。这让模型可以在不同的上下文里精准理解同一个词的含义。

另一个关键元素是位置编码。它赋予了 BERT 理解词语顺序的能力,给原本“空间感”不足的自注意力过程注入了“序列”的概念。

BERT 工作原理动图

那么,BERT 到底是怎么工作的?我们拿下面这句话来走一遍流程,看看它是如何被转化成 Embedding 向量的。

用户查询:Milvus is a vector database built for scalable similarity search.

当我们把这句查询输入 BERT 时,会经历以下几个步骤:

  • 分词

    :文本首先会被切成一个个的 Token 片段。对于句子级的任务,会在输入开头加上一个 `[CLS]` Token,并插入 `[SEP]` Token 来分隔句子和表示结束。
  • Embedding

    :每个 Token 会通过一个 Embedding 矩阵被转化成向量,这一步和 Word2Vec 类似。接着,会在这组 Token Embedding 上叠加位置 Embedding 来保留词序信息,同时也会加入 Segment Embedding 来区分不同的句子。
  • 编码器

    :这些向量会经过多层编码器处理,每层都包含自注意力机制和前馈神经网络。这些层会迭代式地根据序列中所有其他 Token 提供的上下文信息,不断精炼每个 Token 的向量表示。
  • 输出

    :最后一层会输出一系列 Embedding。通常,对于句子级的任务,`[CLS]` Token 的 Embedding 会被用作整个输入的向量表示。而单个 Token 的 Embedding 则可用于更细粒度的任务,或者通过求最大池化、和池化等操作,合成一个稠密向量。

BERT 生成的稠密向量能捕捉单词的含义以及它们之间的彼此关系。这种能力让它能胜任各种语言理解任务,也让它成为了 NLP 领域的新标杆。

好了,现在我们搞清楚了 BERT 是怎么生成稠密向量的,接下来就可以真正深入 BGE-M3 和 SPLADE,看看它们是如何生成本文的主角——Learned 稀疏向量的。

03. BGE-M3

BGE-M3 是一个先进的机器学习模型,它在 BERT 的基础上做了扩展,核心特点是“三多”:多功能性、多语言性和多粒度性。它不仅能生成稠密向量,也能生成 Learned 稀疏向量。特别是对于需要精准处理细微语义信息的信息检索任务,它格外好用。

BGE-M3 工作原理动图

BGE-M3 具体是如何生成 Learned 稀疏向量的呢?我们还是拿刚才那个用户查询来演示。

和 BERT 一样,BGE-M3 的第一步也是分词,然后把输入文本编码成一系列包含上下文信息的 Embedding。但接下来的操作,就展现了它的独到之处,用了一种更精细的方法来捕捉每个 Token 的重要性:

  1. Token 重要性评估

    :BGE-M3 不只依赖 `[CLS]` Token 的表示,而是评估了序列中每一个 Token 的情境化 Embedding。
  2. 线性变换

    :它在编码器输出层之上加了一个额外的线性层。通过这一层计算出每个 Token 的重要性权重。
  3. 激活函数

    :它用 ReLU 激活函数作用于 Token 向量和其重要性权重的乘积上,算出每个 Token 最终的词项权重。使用 ReLU 能确保权重非负,这对增强向量的稀疏性非常有帮助。
  4. Learned 稀疏 Embedding

    :最终输出的是一个稀疏 Embedding。在这个 Embedding 里,每个 Token 都关联着一个权重值,这个值表示该 Token 在整段文本里的重要性。

这种表达方式极大地丰富了模型对语言细节的理解。它生成的 Embedding,是专门为那些需要同时关注语义和词汇特征的任务定制的,比如在大规模数据库里进行搜索和检索。可以说,BGE-M3 的出现在我们筛选和理解海量文本数据的道路上,迈出了更精准、更高效的一步。

04. SPLADE

SPLADE 代表了另一种生成 Learned 稀疏向量的思路。它在 BERT 的基础上,用一种独特的方法来优化 Embedding 的稀疏性。我们不妨先回顾一下 BERT 训练的核心任务——MLM。

MLM 是一种强大的无监督学习任务。它隐去输入的部分 Token,强迫模型光凭其上下文猜出这些被藏起来的词。这项技术极大地增强了模型的语言理解力和对语言结构的认知,因为它必须依赖“邻居”信息才能正确“填空”。

在实践中,对于预训练阶段每个被遮盖的位置,模型会利用 BERT 的上下文化 Embedding,生成一个概率分布。这个分布里的每个值,都代表着 BERT 词库中某个特定 Token 出现在这个空位的可能性。这个输出向量的长度与 BERT 庞大的词汇量(通常是 30,522 个)一致,为精细调整模型的预测能力提供了关键的学习信号。

SPLADE 的精妙之处在于,它在编码阶段借用了这个 MLM 的强大能力。在完成初始的分词和向量化后,SPLADE 对所有标记的位置都应用了 MLM 操作,计算出每个 Token 与 BERT 词表中每一个单词的匹配概率。接着,它对每个词汇的这些概率进行聚合,并通过引入对数饱和效应来促进向量的稀疏性。最终得到的权重,反映了每个词汇与输入 Token 的关联程度,一个 Learned 稀疏向量就此诞生。

SPLADE 的 Embedding 技术有一个显著优势:它天然具备术语扩展的能力。它能够识别并包含那些原文中并未出现,但语义上高度相关的术语。比如下面这个例子,尽管“探索”和“创建”这两个词没有出现在初始句子里,但它们仍然出现在了最终的稀疏向量中。对于像我们示例查询这样的短文本,SPLADE 能通过扩展出一个包含 118 个 Token 的上下文,来极大地增强精确术语匹配的能力。这极大地提高了模型在检索任务中的精度。

这个过程展示了 SPLADE 如何基于 BERT,衍生出更高的粒度与适用性。它在追求术语广度和精细度的搜索与检索任务中,表现得尤其出色。

05. 总结

我们这趟探索之旅,穿梭在令人眼花缭乱的 Embedding 向量世界中,见证了从传统的稀疏和稠密向量,向创新的 Learned 稀疏向量的进化。我们深入剖析了 BGE-M3 和 SPLADE 两种机器学习模型,看清楚了它们各自生成向子的门道。

可以说,这些先进的 Embedding 技术正在从根本上改良我们的搜索与查询系统。它们为打造更直观、更敏锐的平台,注入了源源不断的新动力。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc