Elastic Rerank:提升文本搜索的新锐语义重新排序模型
一、Elastic Rerank模型概述
1.1 Elastic Rerank的引入
Elastic Rerank是Elastic公司推出的一款新的语义重新排序模型,旨在通过深度语义理解提升搜索结果的相关性。该模型的引入是为了降低实现高质量文本搜索的标准,使开发者能够以更少的资源消耗实现更高的搜索效能。
1.2 模型的目标与优势
Elastic Rerank模型的核心目标是优化文本搜索的效果,提升用户的检索体验。它基于DeBERTa v3模型构建,并通过对多样化数据集的提炼进行了微调,展现出在处理复杂查询时的显著优势。相比传统的BM25等检索方法,Elastic Rerank在推理成本函数的质量方面提供了一些显着优势。
二、Elastic Rerank的技术架构
2.1 跨编码器架构
Elastic Rerank采用的是跨编码器架构,这种架构能够在检索保留的基础上,通过重新排序进一步提升相关性。跨编码器模型集合的提炼使得Elastic Rerank在相关性方面明显更胜一筹,甚至与更大的模型相当。
2.2 训练策略
Elastic Rerank利用了一种新颖的训练策略,通过多阶段的微调过程,吸取了大量开源QA数据集和自然对数据集的优势,不断提高其性能。
三、Elastic Rerank的性能表现
3.1 性能对比
在BEIR对前100个BM25检索文档进行重新排序的平均nDCG@10测试中,Elastic Rerank模型表现出色,其性能优于其他明显更大的重新排名模型。在MTEB(Multilingual Text Embedding Benchmark)上展现出不俗的表现,平均相关性提升率达39%。
3.2 参数效率
Elastic Rerank在相关性方面明显更胜一筹,它使用的参数比竞争模型少得多。这使得开发者在使用时可以实现更高的效能与更低的资源消耗。
四、Elastic Rerank的实际应用
4.1 易于集成
Elastic Rerank模型不仅具有出色的性能和成本特性,Elastic还使其非常易于使用,以提高词汇搜索的相关性。开发者可以将Inference API与text_similarity_reranker检索器结合使用Elastic Rerank,每个搜索请求都可以处理完整的混合搜索查询,并在一个简单的_search查询中对结果集进行重新排序。
4.2 创建Inference Endpoint
在Kibana的Dev Console中,可以通过简单的API调用来创建Elastic Rerank的Inference Endpoint,自动下载并部署模型。
PUT _inference/rerank/my-rerank-model
{
"service": "elasticsearch",
"service_settings": {
"adaptive_allocations": {
"enabled": true,
"min_number_of_allocations": 1,
"max_number_of_allocations": 10
},
"num_threads": 1,
"model_id": ".rerank-v1"
}
}
4.3 混合搜索查询示例
Elastic Rerank可以与ELSER等语义搜索模型结合使用,通过RRF(倒数排名融合)提高相关性。以下是一个使用Elastic Rerank进行混合搜索查询的示例:
GET retrievers_example/_search
{
"retriever": {
"text_similarity_reranker": {
"retriever": {
"rrf": {
"retrievers": [
{
"standard": {
"query": {
"match": {
"text": "What is the capital of the USA?"
}
}
}
}
],
"rank_window_size": 10,
"rank_constant": 1
}
},
"field": "text",
"inference_id": "elastic-rerank",
"inference_text": "Which show continues the awesomeness of Karate Kid, the 1984 movie?"
}
},
"_source": ["text", "topic"]
}
五、总结
Elastic Rerank模型的推出,为文本搜索领域带来了新的技术突破。它通过跨编码器架构和精心设计的训练策略,实现了在保持低推理成本的同时,显著提升搜索结果的相关性。Elastic Rerank的易用性和灵活性,使其能够快速集成到现有的搜索应用中,为开发者提供了一个强大的工具,以优化和提升他们的搜索解决方案。随着Elastic Rerank在Elastic Stack 8.17+版本的技术预览版中提供,我们期待它在未来的搜索技术发展中发挥更大的作用。