深入解析 Elastic Rerank:Elastic 的新语义重新排序模型
一、Elastic Rerank模型概述
1.1 Elastic Rerank的引入
Elastic Rerank是Elastic公司推出的一款新的语义重新排序模型,旨在通过深度语义理解提升搜索结果的相关性。该模型的引入是为了降低实现高质量文本搜索的标准,使开发者能够以更少的资源消耗实现更高的搜索效能。Elastic Rerank通过优化文本搜索的效果,提升用户的检索体验,尤其在处理复杂查询时展现出显著优势。
1.2 模型的目标与优势
Elastic Rerank模型的核心目标是优化文本搜索的效果,提升用户的检索体验。它基于DeBERTa v3模型构建,并通过对多样化数据集的提炼进行了微调,展现出在处理复杂查询时的显著优势。相比传统的BM25等检索方法,Elastic Rerank在推理成本函数的质量方面提供了一些显着优势。Elastic Rerank不仅在相关性上有所突破,同时其推理成本也相对较低,所需的参数规模远少于现有许多高效模型。
二、Elastic Rerank的技术架构
2.1 跨编码器架构
Elastic Rerank采用的是跨编码器架构,这种架构能够在检索保留的基础上,通过重新排序进一步提升相关性。跨编码器模型集合的提炼使得Elastic Rerank在相关性方面明显更胜一筹,甚至与更大的模型相当。这种架构特别适用于重新排序任务,因为语义相似性常常依赖于文档中单词的上下文信息。
2.2 训练策略
训练语言模型传统上需要学习率调度才能获得最佳结果。Elastic Rerank采用了一种新的权重更新方案,包括沿优化轨迹对参数进行平均,从而可以放弃学习率调度。使用AdamW作为基础优化器,发现它产生了出色的结果并且易于调整。Elastic Rerank利用了一种新颖的训练策略,通过多阶段的微调过程,吸取了大量开源QA数据集和自然对数据集的优势,不断提高其性能。
三、Elastic Rerank的模型特性
3.1 跨编码器与双编码器
在Elastic Rerank中,主要使用了两种模型类型:跨编码器和双编码器。Elastic Rerank目前只支持跨编码器进行语义重新排序。跨编码器模型可以生成查询感知的文档表示,它将查询和文档文本作为单一的、连接的输入。
3.2 模型训练过程
Elastic Rerank模型的训练过程包括初始相关性提取和通过蒸馏进行训练。初始相关性提取阶段,模型微调预训练的DeBERTa [CLS] 标记表示,使用GeLU激活和dropout层,保留重要的预训练知识,同时适应重新排序任务。Elastic Rerank的模型训练过程还包括了参数沿优化轨迹的平均,消除了传统学习率调度的需要,并提供了最终模型质量的改进。
四、Elastic Rerank的事件与实操
4.1 实施语义重新排序
在Elasticsearch中实施语义重新排序,可以通过创建一个推理端点,并使用text_similarity_reranker
检索器来实现。这个过程涉及到配置嵌套检索器、推理配置以及其他控制,例如用于消除不相关匹配的最低分数截止值。Elastic Rerank模型集成到代码中非常容易,可以组合不同的检索器以将混合搜索与重新排名相结合。
4.2 创建推理端点
在Kibana的Dev Console中,可以通过运行特定的API调用来创建一个推理端点。这个端点将自动下载并部署模型,使得Elastic Rerank可以与text_similarity_reranker
检索器一起使用。创建推理端点的步骤包括下载模型文件、配置Elasticsearch部署指向模型目录,并重启主节点。
五、Elastic Rerank的性能与优化
5.1 性能提升
Elastic Rerank在多个数据集上展现出了显著的性能提升。例如,在Natural Questions数据集上提升了90%,在MS MARCO上提升了85%,在Climate-FEVER上提升了80%,在FiQA-2018上提升了76%。Elastic Rerank在MTEB (Multilingual Text Embedding Benchmark) 上展现出不俗的表现,平均相关性提升率达39%,在前100个BM25检索结果中的nDCG@10排名远超大多数同类产品。
5.2 训练优化
Elastic Rerank的训练过程还包含了几个关键的优化,如使用交叉熵损失函数来模拟相关性作为概率分布,并通过最大似然估计来拟合分数。此外,实现了参数沿优化轨迹的平均,消除了传统学习率调度的需要,并提供了最终模型质量的改进。Elastic Rerank的推理成本相对较低,所需的参数规模远少于现有许多高效模型,这使得开发者在使用时可以实现更高的效能与更低的资源消耗。
六、Elastic Rerank的可用性与要求
6.1 技术预览与部署
Elastic Rerank目前处于技术预览阶段,可能会在未来的版本中发生变化或被移除。它在Elastic Cloud Serverless和Elastic Stack版本8.17+中可用,需要适当的订阅级别或激活的试用期。Elastic Rerank提供了技术预览,最简单的入门方式是使用Elasticsearch Serverless。
6.2 部署在封闭网络
对于在受限或封闭网络中部署Elastic Rerank模型,有两种选项:创建自己的HTTP/HTTPS端点,或将模型文件放入所有主节点的配置目录中的目录里。对于文件基访问,需要下载模型文件,将文件放入Elasticsearch部署的config
目录下的models
子目录,并在elasticsearch.yml
文件中指向模型目录。