在信息检索和RAG中检索器对于整个检索流程至关重要。基于BERT的密集型嵌入在近似最近邻(ANN)方法中表现出色,但存在效率和可扩展性问题。
但稀疏表示(sparse representations)的方法如BM25在速度上一直很有竞争力,也很有扩展性。本文将介绍通过BERT来生成稀疏表示的方法,如SPLADE 1/2/3和BGE M3。
unsetunsetSPLADE v1unsetunset
SPLADE(Sparse Lexical and Expansion Model for First Stage Ranking)是一种用于信息检索第一阶段排名的模型,它旨在通过学习文档和查询的稀疏表示来提高检索效率和效果。
方法原理
SPLADE模型的核心思想是学习文档和查询的稀疏表示,这样可以利用倒排索引进行高效的检索。稀疏表示意味着在表示中只有少数词汇具有非零权重,这有助于减少计算量并提高检索速度。
SPLADE模型通过引入对数饱和效应(log-saturation effect)来自然地实现稀疏性,这种效应可以防止某些词汇的权重过大,从而在没有显式正则化的情况下也能获得稀疏解。
SPLADE模型使用排名损失(ranking loss)来训练模型,使得相关文档的排名高于不相关的文档。
为了进一步增强稀疏性,SPLADE模型引入了稀疏正则化(sparse regularization),包括L1正则化和FLOPS正则化。FLOPS正则化是一种基于浮点运算次数的正则化,它有助于获得更平衡的索引。
计算过程
- 词重要性预测:
输入一个查询或文档序列,经过WordPiece分词后,得到序列及其对应的BERT嵌入。
对于序列中的每个词和词汇表中的每个词,计算其重要性:
- 最终表示:
通过ReLU激活函数确保词权重的正值,然后对输入序列中的词进行求和,得到最终的词权重:
是一个二进制掩码(gating mechanism),用于控制词汇表中每个词是否出现在最终表示中。
- 排名损失:
使用排名损失来训练模型,使得正样本文档的得分高于负样本文档。
- 稀疏正则化:
引入FLOPS正则化来进一步增强稀疏性:
- 整体损失:
将排名损失和正则化损失结合起来,进行端到端的训练:
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
实验效果
SPLADE模型在MS MARCO段落排名数据集上进行了训练和评估,该数据集包含大约880万个段落和数十万个训练查询。模型使用BERT-base检查点进行初始化,并采用ADAM优化器进行训练。
在评估方面,报告了两个数据集的Recall@1000,以及MS MARCO开发集和TREC DL 2019的官方指标MRR@10和NDCG@10。由于研究重点在于第一阶段的检索,因此只与第一阶段的排名器进行比较。
与以下稀疏方法进行了比较:BM25、DeepCT、doc2query-T5和SparTerm,以及最先进的密集方法ANCE和TCT-ColBERT。结果表明,SPLADE模型在稀疏检索方法中大幅领先(除了TREC DL上的Recall@1000),并且与最先进的密集检索方法具有竞争力。
unsetunsetSPLADE v2unsetunset
SPLADE v2专注于改进排名流程中的第一个检索器,核心优势在于它能够学习文档和查询的稀疏表示。
方法原理
-
SPLADE v2通过将SPLADE v1中的求和池化(sum pooling)替换为最大池化(max pooling),使得模型能够更加关注于最重要的词汇。
-
SPLADE v2提出了一个仅基于文档的版本(SPLADE-doc),在这个版本中,没有查询扩展和查询项加权,排名分数仅依赖于文档项权重。
-
SPLADE v2在训练过程中使用了硬负样本(hard negatives),这些样本是通过SPLADE模型(经过蒸馏)生成的,比BM25生成的负样本更具挑战性。
实验效果
SPLADE v2在保持检索效率的同时,显著提高了检索效果,特别是在NDCG@10指标上取得了超过9%的增益,达到了TREC DL 2019的最先进的结果,并在BEIR基准测试中取得了领先的成绩。
unsetunsetSPLADE v3unsetunset
SPLADE v3在训练结构和模型性能上进行了显著改进。SPLADE v3在训练结构上进行了多项改进,包括使用更多的负样本、改进蒸馏分数的生成方式、结合两种蒸馏损失函数,以及进一步微调SPLADE模型。
方法原理
-
SPLADE v3使用多个交叉编码器重排器(cross-encoder re-rankers)的集成来生成蒸馏分数,而不是依赖单一模型。
-
SPLADE v3在训练时,每个查询除了正样本外,还会考虑100个负样本,其中50个来自top-50,另外50个随机选择自top-1000。
-
SPLADE v3在训练中同时使用KL-Div和MarginMSE损失,分别关注召回率和精确度,并根据交叉验证确定不同的权重。
实验效果
SPLADE v3在MS MARCO开发集上的MRR@10得分超过40,并且在BEIR基准测试中的跨领域结果提高了2%,这表明了相比SPLADE v2在效果上的显著提升。
unsetunsetBGE M3-Embeddingunsetunset
M3-Embedding支持超过100种工作语言的语义检索,能够处理同一语言内的多语言检索以及不同语言之间的跨语言检索。
模型能够同时完成三种常见的检索功能:密集检索(dense retrieval)、多向量检索(multi-vector retrieval)和稀疏检索(sparse retrieval)。
方法原理
- 密集检索(Dense Retrieval)
在M3-Embedding中,使用预训练的语言模型(如XLM-RoBERTa)来获得文本的隐藏状态。
对于查询和文档,首先将它们输入到文本编码器中,得到它们的隐藏状态和。
然后,提取"[CLS]"标记对应的隐藏状态,并对其进行归一化处理,得到查询和文档的嵌入表示和。
- 词汇检索(Lexical Retrieval)
词汇检索侧重于利用文档中每个词的重要性来执行检索,这与经典的词袋模型(Bag-of-Words)相似,但利用了深度学习模型提供的词嵌入。
在M3-Embedding中,每个词的重要性是通过其对应的输出嵌入来估计的。
计算过程:
-
对于查询中的每个词,计算其权重作为其在查询中的重要性得分。
-
同样的方法也用于计算文档中每个词的权重。
-
相关性分数通过累加查询和文档中共同出现的词的重要性得分来计算:。
- 多向量检索(Multi-Vector Retrieval)
多向量检索是密集检索的扩展,它不仅仅使用单个向量表示整个查询或文档,而是利用整个输出嵌入序列。
对于查询和文档,将每个输出嵌入向量通过一个可学习的投影矩阵进行转换,得到和。
使用晚交互(late-interaction)策略来计算细粒度的相关性分数,即先单独处理查询和文档的每个嵌入向量,然后再整合这些信息:,其中和分别是查询和文档的长度。
实验效果
M3-Embedding在MIRACL开发集上的表现非常出色,其密集检索(Dense)功能在所有语言中都优于其他基线方法,包括BM25、mDPR、mContriever和mE5large等。
即使与使用更大模型和专门针对英语数据训练的E5mistral-7b相比,M3-Embedding在英语上也能产生相似的结果,并且在其他语言上取得了更高的结果。M3-Embedding的稀疏检索(Sparse)功能也优于典型的BM25方法。
unsetunset参考文献unsetunset
-
SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking
-
SPLADE v2: Sparse Lexical and Expansion Model for Information Retrieval
-
SPLADE-v3: New baselines for SPLADE
-
M3-Embedding: Multi-Linguality, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation
在大模型时代,我们如何有效的去学习大模型?
现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
掌握大模型技术你还能拥有更多可能性:
• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;
• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;
• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;
• 更优质的项目可以为未来创新创业提供基石。
可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。
👉[优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF书籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型各大场景实战案例
结语
【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
👉[优快云大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈